openapi: 3.0.3
info:
  title: 'Gryphon Tenancy API Documentation'
  description: ''
  version: 1.0.0
servers:
  -
    url: 'http://gryphon-central-stage.gryphon-tenant-api.test:3002'
tags:
  -
    name: Endpoints
    description: ''
components:
  securitySchemes:
    default:
      type: http
      scheme: bearer
      description: 'You can retrieve your token by visiting your dashboard and clicking <b>Generate API token</b>.'
security:
  -
    default: []
paths:
  /api/documentation:
    get:
      summary: 'Handles the API request and renders the Swagger documentation view.'
      operationId: handlesTheAPIRequestAndRendersTheSwaggerDocumentationView
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <title>L5 Swagger UI</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"http://gryphon-central-stage.gryphon-tenant-api.test:3002/docs/asset/swagger-ui.css?v=4758762786ee309249dce960484fc1f4\">\n    <link rel=\"icon\" type=\"image/png\" href=\"http://gryphon-central-stage.gryphon-tenant-api.test:3002/docs/asset/favicon-32x32.png?v=40d4f2c38d1cd854ad463f16373cbcb6\" sizes=\"32x32\"/>\n    <link rel=\"icon\" type=\"image/png\" href=\"http://gryphon-central-stage.gryphon-tenant-api.test:3002/docs/asset/favicon-16x16.png?v=f0ae831196d55d8f4115b6c5e8ec5384\" sizes=\"16x16\"/>\n    <style>\n    html\n    {\n        box-sizing: border-box;\n        overflow: -moz-scrollbars-vertical;\n        overflow-y: scroll;\n    }\n    *,\n    *:before,\n    *:after\n    {\n        box-sizing: inherit;\n    }\n\n    body {\n      margin:0;\n      background: #fafafa;\n    }\n    </style>\n    </head>\n\n<body >\n<div id=\"swagger-ui\"></div>\n\n<script src=\"http://gryphon-central-stage.gryphon-tenant-api.test:3002/docs/asset/swagger-ui-bundle.js?v=ff3f03083fa6f196ebb3182ae209848b\"></script>\n<script src=\"http://gryphon-central-stage.gryphon-tenant-api.test:3002/docs/asset/swagger-ui-standalone-preset.js?v=2ff98136c02067086c51951f5e11c8db\"></script>\n<script>\n    window.onload = function() {\n        const urls = [];\n\n                    urls.push({name: \"L5 Swagger UI\", url: \"http://gryphon-central-stage.gryphon-tenant-api.test:3002/docs?api-docs.json\"});\n        \n        // Build a system\n        const ui = SwaggerUIBundle({\n            dom_id: '#swagger-ui',\n            urls: urls,\n            \"urls.primaryName\": \"L5 Swagger UI\",\n            operationsSorter: null,\n            configUrl: null,\n            validatorUrl: null,\n            oauth2RedirectUrl: \"http://gryphon-central-stage.gryphon-tenant-api.test:3002/api/oauth2-callback\",\n\n            requestInterceptor: function(request) {\n                request.headers['X-CSRF-TOKEN'] = '';\n                return request;\n            },\n\n            presets: [\n                SwaggerUIBundle.presets.apis,\n                SwaggerUIStandalonePreset\n            ],\n\n            plugins: [\n                SwaggerUIBundle.plugins.DownloadUrl\n            ],\n\n            layout: \"StandaloneLayout\",\n            docExpansion : \"none\",\n            deepLinking: true,\n            filter: true,\n            persistAuthorization: \"false\",\n\n        })\n\n        window.ui = ui\n\n            }\n</script>\n</body>\n</html>\n"
      tags:
        - Endpoints
  /api/oauth2-callback:
    get:
      summary: 'Handles the OAuth2 callback and retrieves the required file for the redirect.'
      operationId: handlesTheOAuth2CallbackAndRetrievesTheRequiredFileForTheRedirect
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: "<!doctype html>\n<html lang=\"en-US\">\n<body>\n<script src=\"oauth2-redirect.js\"></script>\n</body>\n</html>\n"
      tags:
        - Endpoints
  /api/health:
    get:
      summary: ''
      operationId: getApiHealth
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  status: ok
                  service: gryphon-api
                  version: unknown
                  timestamp: '2026-05-14T17:42:31+00:00'
                  app_version: unknown
                properties:
                  status:
                    type: string
                    example: ok
                  service:
                    type: string
                    example: gryphon-api
                  version:
                    type: string
                    example: unknown
                  timestamp:
                    type: string
                    example: '2026-05-14T17:42:31+00:00'
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  /api/workmarket/webhook:
    post:
      summary: 'Handle webhook from WorkMarket for payment status updates'
      operationId: handleWebhookFromWorkMarketForPaymentStatusUpdates
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
  /api/site-banners/active:
    get:
      summary: 'Public login-page endpoint. Returns active site banners only.'
      operationId: publicLoginPageEndpointReturnsActiveSiteBannersOnly
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: 'Server Error'
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  /api/status/outage:
    get:
      summary: ''
      operationId: getApiStatusOutage
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  outage: false
                  app_version: unknown
                properties:
                  outage:
                    type: boolean
                    example: false
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  /api/rich-text/placeholders:
    get:
      summary: "Return the registry contract as\n{data: placeholder[], meta: {contexts: {key, label}[], storage_strategy: string}}."
      operationId: returnTheRegistryContractAsdataPlaceholderMetacontextskeyLabelStorageStrategyString
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  /api/rich-text/resolution-failures:
    get:
      summary: ''
      operationId: getApiRichTextResolutionFailures
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                context:
                  type: string
                  description: 'Must not be greater than 100 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: true
                end_date:
                  type: string
                  description: 'Must be a valid date. Must be a date after or equal to <code>start_date</code>.'
                  example: '2107-06-13'
                  nullable: true
                page:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 45
                  nullable: true
                per_page:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 16
                  nullable: true
                reference_id:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                render_stage:
                  type: string
                  description: ''
                  example: preview
                  nullable: true
                  enum:
                    - preview
                    - final_render
                sort_by:
                  type: string
                  description: ''
                  example: context
                  nullable: true
                  enum:
                    - context
                    - created_at
                    - reference_id
                    - render_stage
                    - token
                sort_order:
                  type: string
                  description: ''
                  example: desc
                  nullable: true
                  enum:
                    - asc
                    - desc
                start_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:31'
                  nullable: true
                token:
                  type: string
                  description: 'Must not be greater than 100 characters.'
                  example: eopfuudtdsufvyvddqamn
                  nullable: true
  '/api/rich-text/resolution-failures/{richTextResolutionFailure}':
    get:
      summary: ''
      operationId: getApiRichTextResolutionFailuresRichTextResolutionFailure
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: richTextResolutionFailure
        description: ''
        example: consequatur
        required: true
        schema:
          type: string
  /api/rich-text/render:
    post:
      summary: ''
      operationId: postApiRichTextRender
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                content:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    content:
                      type: object
                      description: ''
                      example: []
                      nullable: false
                      properties: {  }
                    type:
                      type: string
                      description: ''
                      example: doc
                      nullable: false
                      enum:
                        - doc
                  required:
                    - content
                    - type
                context:
                  type: string
                  description: ''
                  example: alert_template
                  nullable: false
                  enum:
                    - alert_template
                output_format:
                  type: string
                  description: ''
                  example: html
                  nullable: false
                  enum:
                    - html
                    - pdf
                reference_id:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
              required:
                - content
                - context
                - output_format
                - reference_id
  /api/rich-text/resolve:
    post:
      summary: ''
      operationId: postApiRichTextResolve
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                context:
                  type: string
                  description: ''
                  example: alert_template
                  nullable: false
                  enum:
                    - alert_template
                    - banner_builder
                reference_id:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                render_stage:
                  type: string
                  description: ''
                  example: final_render
                  nullable: false
                  enum:
                    - preview
                    - final_render
              required:
                - context
                - reference_id
                - render_stage
  /api/rich-text/validate:
    post:
      summary: ''
      operationId: postApiRichTextValidate
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                content:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    content:
                      type: object
                      description: ''
                      example: []
                      nullable: false
                      properties: {  }
                    type:
                      type: string
                      description: ''
                      example: doc
                      nullable: false
                      enum:
                        - doc
                  required:
                    - content
                    - type
                context:
                  type: string
                  description: ''
                  example: banner_builder
                  nullable: false
                  enum:
                    - alert_template
                    - banner_builder
              required:
                - content
                - context
  /api/addresses:
    get:
      summary: ''
      operationId: getApiAddresses
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  /api/addresses/zip-lookup:
    get:
      summary: ''
      operationId: getApiAddressesZipLookup
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  /api/addresses/complete:
    get:
      summary: ''
      operationId: getApiAddressesComplete
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  /api/qs_reports:
    get:
      summary: ''
      operationId: getApiQs_reports
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  /api/qs_reports/getEmbedUrl:
    get:
      summary: ''
      operationId: getApiQs_reportsGetEmbedUrl
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  /api/logout:
    get:
      summary: ''
      operationId: getApiLogout
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  /api/register/submit:
    post:
      summary: ''
      operationId: postApiRegisterSubmit
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                domain:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                company:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: mqeopfuudtdsufvyvddqa
                  nullable: false
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: mniihfqcoynlazghdtqtq
                  nullable: false
                email:
                  type: string
                  description: 'Must be a valid email address. Must not be greater than 255 characters.'
                  example: ablanda@example.org
                  nullable: false
              required:
                - company
                - name
                - email
  /api/professional-designations:
    get:
      summary: ''
      operationId: getApiProfessionalDesignations
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: ''
      operationId: postApiProfessionalDesignations
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                name:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                description:
                  type: string
                  description: ''
                  example: 'Dolores dolorum amet iste laborum eius est dolor.'
                  nullable: true
                is_active:
                  type: boolean
                  description: ''
                  example: false
                  nullable: false
                display_order:
                  type: integer
                  description: ''
                  example: 17
                  nullable: false
              required:
                - code
                - name
  /api/clients/standalone:
    post:
      summary: "POST /api/clients/standalone\nCreates a top-level (standalone) company."
      operationId: pOSTapiclientsstandaloneCreatesATopLevelstandaloneCompany
      description: 'Requires company_role=Operational (enforced by write service).'
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                company_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                company_role:
                  type: string
                  description: ''
                  example: Organizational
                  nullable: false
                  enum:
                    - Operational
                    - Organizational
                abbreviation:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: amniihfqcoynlazghdtqt
                  nullable: true
                domain:
                  type: string
                  description: 'Must not be greater than 63 characters.'
                  example: qxbajwbpilpmufinllwlo
                  nullable: true
                under_loa:
                  type: boolean
                  description: ''
                  example: false
                  nullable: false
                case_id_type:
                  type: string
                  description: 'Must not be greater than 100 characters.'
                  example: auydlsmsjuryvojcybzvr
                  nullable: false
                client_category_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the client_categories table.'
                  example: 17
                  nullable: true
                data:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties: {  }
              required:
                - company_name
                - company_role
                - under_loa
                - case_id_type
  '/api/clients/{parentId}/children':
    post:
      summary: "POST /api/clients/{parentId}/children\nCreates a child company under the given parent."
      operationId: pOSTapiclientsparentIdchildrenCreatesAChildCompanyUnderTheGivenParent
      description: 'Parent must exist and belong to the tenant tree.'
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                company_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                company_role:
                  type: string
                  description: ''
                  example: Organizational
                  nullable: true
                  enum:
                    - Operational
                    - Organizational
                abbreviation:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: amniihfqcoynlazghdtqt
                  nullable: true
                domain:
                  type: string
                  description: 'Must not be greater than 63 characters.'
                  example: qxbajwbpilpmufinllwlo
                  nullable: true
                under_loa:
                  type: boolean
                  description: ''
                  example: false
                  nullable: false
                case_id_type:
                  type: string
                  description: 'Must not be greater than 100 characters.'
                  example: auydlsmsjuryvojcybzvr
                  nullable: false
                client_category_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the client_categories table.'
                  example: 17
                  nullable: true
                data:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties: {  }
              required:
                - company_name
                - under_loa
                - case_id_type
    parameters:
      -
        in: path
        name: parentId
        description: ''
        example: '1562'
        required: true
        schema:
          type: string
  /api/clients/operational-picker:
    get:
      summary: "GET /api/clients/operational-picker\nReturns Operational + Active companies visible to the authenticated user,\nwith hierarchy paths resolved in a single batch query."
      operationId: gETapiclientsoperationalPickerReturnsOperational+ActiveCompaniesVisibleToTheAuthenticatedUserWithHierarchyPathsResolvedInASingleBatchQuery
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  '/api/clients/{id}/hierarchy':
    get:
      summary: "GET /api/clients/{id}/hierarchy\nAccepts any node ID (root, child, or deep descendant)."
      operationId: gETapiclientsidhierarchyAcceptsAnyNodeIDrootChildOrDeepDescendant
      description: "Auto-resolves to the tree root via the closure table.\nModelNotFoundException propagates to Handler → 404 'Client not found.'"
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the client.'
        example: '1562'
        required: true
        schema:
          type: string
  '/api/clients/{id}/relationships':
    get:
      summary: "GET /api/clients/{id}/relationships\nReturns direct parent and direct children for the given client."
      operationId: gETapiclientsidrelationshipsReturnsDirectParentAndDirectChildrenForTheGivenClient
      description: "ModelNotFoundException propagates to Handler → 404 'Client not found.'"
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the client.'
        example: '1562'
        required: true
        schema:
          type: string
  '/api/clients/{client_id}/internal-documents':
    get:
      summary: "GET /api/clients/{client}/internal-documents\nLists internal documents for a central user on the given client."
      operationId: gETapiclientsclientinternalDocumentsListsInternalDocumentsForACentralUserOnTheGivenClient
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: "POST /api/clients/{client}/internal-documents\nUploads a new internal document for the given client."
      operationId: pOSTapiclientsclientinternalDocumentsUploadsANewInternalDocumentForTheGivenClient
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
                  description: 'Must be a file. Must not be greater than 8192 kilobytes.'
                  nullable: false
              required:
                - file
    parameters:
      -
        in: path
        name: client_id
        description: 'The ID of the client.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/clients/{client_id}/internal-documents/{documentId}/preview':
    get:
      summary: "GET /api/clients/{client}/internal-documents/{documentId}/preview\nReturns a signed preview URL when supported, otherwise an inline stream."
      operationId: gETapiclientsclientinternalDocumentsdocumentIdpreviewReturnsASignedPreviewURLWhenSupportedOtherwiseAnInlineStream
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: client_id
        description: 'The ID of the client.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: documentId
        description: ''
        example: '1562'
        required: true
        schema:
          type: string
  '/api/clients/{client_id}/internal-documents/{documentId}':
    delete:
      summary: "DELETE /api/clients/{client}/internal-documents/{documentId}\nSoft-deletes an internal document and removes its stored binary."
      operationId: dELETEapiclientsclientinternalDocumentsdocumentIdSoftDeletesAnInternalDocumentAndRemovesItsStoredBinary
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: client_id
        description: 'The ID of the client.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: documentId
        description: ''
        example: '1562'
        required: true
        schema:
          type: string
  '/api/clients/{clientId}/inheritance/detach':
    post:
      summary: "POST /api/clients/{clientId}/inheritance/detach\nDetaches a section from parent inheritance, making it locally owned."
      operationId: pOSTapiclientsclientIdinheritancedetachDetachesASectionFromParentInheritanceMakingItLocallyOwned
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                section:
                  type: string
                  description: 'Must not be greater than 100 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                  enum:
                    - DUE_DATES_AND_TURNAROUND_TIMES
                    - MISCELLANEOUS
                    - LINES_OF_BUSINESS_AND_MEMBER_ID_TYPES
                    - REQUEST_TYPES
                    - CLINICAL_CRITERIA
                    - PRICING
                    - NARRATIVE_REPORTS_SUBMISSION
                    - AUTO_ASSIGN_CASE_MANAGERS
                    - CUSTOM_ALERTS
                    - PAYER_INFO
                    - INVOICE_SUBMISSION
                    - INVOICE_CONTENT_TYPES
                    - USERS
              required:
                - section
    parameters:
      -
        in: path
        name: clientId
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/clients/{clientId}/inheritance/reattach':
    post:
      summary: "POST /api/clients/{clientId}/inheritance/reattach\nRe-attaches a section to the parent's inheritance chain."
      operationId: pOSTapiclientsclientIdinheritancereattachReAttachesASectionToTheParentsInheritanceChain
      description: 'Requires confirm=true (FormRequest enforces this).'
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                section:
                  type: string
                  description: 'Must not be greater than 100 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                  enum:
                    - DUE_DATES_AND_TURNAROUND_TIMES
                    - MISCELLANEOUS
                    - LINES_OF_BUSINESS_AND_MEMBER_ID_TYPES
                    - REQUEST_TYPES
                    - CLINICAL_CRITERIA
                    - PRICING
                    - NARRATIVE_REPORTS_SUBMISSION
                    - AUTO_ASSIGN_CASE_MANAGERS
                    - CUSTOM_ALERTS
                    - PAYER_INFO
                    - INVOICE_SUBMISSION
                    - INVOICE_CONTENT_TYPES
                    - USERS
                confirm:
                  type: boolean
                  description: 'Must be accepted.'
                  example: true
                  nullable: false
              required:
                - section
                - confirm
    parameters:
      -
        in: path
        name: clientId
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/clients/{clientId}/sections':
    get:
      summary: ''
      operationId: getApiClientsClientIdSections
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: clientId
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/clients/{id}/payer':
    patch:
      summary: 'PATCH /api/clients/{id}/payer'
      operationId: pATCHapiclientsidpayer
      description: "Assign a payer company to this client.\nGuards:\n  - payer must exist (AssignPayerRequest)\n  - if payer is Organizational, it must have complete Finance configuration (inheritance-aware)\n\nOn Finance incompleteness: fires audit event payer_assignment_blocked_missing_finance\n  (fire-and-forget) then throws PayerAssignmentBlockedMissingFinanceException (→ 400).\n\nPermission: update:organizations"
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                payer_client_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the clients table.'
                  example: 17
                  nullable: false
              required:
                - payer_client_id
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the client.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/clients/{id}/rules':
    get:
      summary: ''
      operationId: getApiClientsIdRules
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiClientsIdRules
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                narrative_report_submission:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
                auto_assign_case_managers:
                  type: boolean
                  description: ''
                  example: false
                  nullable: false
                custom_alerts_enabled:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
                turnaround_days:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 73
                  nullable: true
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the client.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/clients/{id}/move/preview':
    post:
      summary: "POST /api/clients/{id}/move/preview\nReturns inheritance diff and an operation token required for confirm."
      operationId: pOSTapiclientsidmovepreviewReturnsInheritanceDiffAndAnOperationTokenRequiredForConfirm
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                new_parent_id:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 73
                  nullable: false
              required:
                - new_parent_id
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the client.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/clients/{id}/move/confirm':
    post:
      summary: "POST /api/clients/{id}/move/confirm\nExecutes the move after token and concurrency validation."
      operationId: pOSTapiclientsidmoveconfirmExecutesTheMoveAfterTokenAndConcurrencyValidation
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                operation_token:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                expected_updated_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:31'
                  nullable: false
              required:
                - operation_token
                - expected_updated_at
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the client.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/clients/{id}/parent-above':
    post:
      summary: "POST /api/clients/{id}/parent-above\nInserts a new blank parent company above the given company."
      operationId: pOSTapiclientsidparentAboveInsertsANewBlankParentCompanyAboveTheGivenCompany
      description: "The new parent gets all sections LOCAL; the existing company's settings are unchanged."
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                company_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                company_role:
                  type: string
                  description: ''
                  example: Organizational
                  nullable: false
                  enum:
                    - Operational
                    - Organizational
                abbreviation:
                  type: string
                  description: 'Must not be greater than 10 characters.'
                  example: amniihfqc
                  nullable: true
                under_loa:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
                case_id_type:
                  type: string
                  description: 'Must not be greater than 100 characters.'
                  example: oynlazghdtqtqxbajwbpi
                  nullable: false
                client_category_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the client_categories table.'
                  example: 17
                  nullable: true
              required:
                - company_name
                - company_role
                - under_loa
                - case_id_type
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the client.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/clients/{id}/activate':
    post:
      summary: "POST /api/clients/{id}/activate\nActivates the company. Idempotent if already active."
      operationId: pOSTapiclientsidactivateActivatesTheCompanyIdempotentIfAlreadyActive
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the client.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/clients/{id}/disable':
    post:
      summary: "POST /api/clients/{id}/disable\nDisables the company. Idempotent if already disabled."
      operationId: pOSTapiclientsiddisableDisablesTheCompanyIdempotentIfAlreadyDisabled
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the client.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/clients/{id}/reassign-parent':
    post:
      summary: "POST /api/clients/{id}/reassign-parent\nDeprecated legacy endpoint kept only to return an explicit migration error."
      operationId: pOSTapiclientsidreassignParentDeprecatedLegacyEndpointKeptOnlyToReturnAnExplicitMigrationError
      description: 'Use move preview/confirm endpoints instead.'
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                new_parent_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the clients table.'
                  example: 17
                  nullable: true
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the client.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/clients/{id}/users':
    get:
      summary: "GET /api/clients/{id}/users\nReturns all users associated with the company itself AND all its ancestor companies."
      operationId: gETapiclientsidusersReturnsAllUsersAssociatedWithTheCompanyItselfANDAllItsAncestorCompanies
      description: 'Users from children or siblings are NOT included.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the client.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/clients/{client_id}/secure-domains':
    get:
      summary: ''
      operationId: getApiClientsClient_idSecureDomains
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: ''
      operationId: postApiClientsClient_idSecureDomains
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                domain:
                  type: string
                  description: 'Must match the regex /^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,}$/. Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
              required:
                - domain
    parameters:
      -
        in: path
        name: client_id
        description: 'The ID of the client.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/clients/{client_id}/secure-domains/{secureEmailDomain_id}':
    delete:
      summary: ''
      operationId: deleteApiClientsClient_idSecureDomainsSecureEmailDomain_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: client_id
        description: 'The ID of the client.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: secureEmailDomain_id
        description: 'The ID of the secureEmailDomain.'
        example: 17
        required: true
        schema:
          type: integer
  /api/secure-domains:
    get:
      summary: "Global picker — distinct domains registered across all clients. Used by\nthe FE to suggest existing domain values when registering a new entry\n(business rule 7: \"selected from previously registered domains\")."
      operationId: globalPickerDistinctDomainsRegisteredAcrossAllClientsUsedByTheFEToSuggestExistingDomainValuesWhenRegisteringANewEntrybusinessRule7selectedFromPreviouslyRegisteredDomains
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  /api/clients:
    post:
      summary: ''
      operationId: postApiClients
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                parent_id:
                  type: string
                  description: ''
                  example: null
                  nullable: false
                parent:
                  type: string
                  description: ''
                  example: null
                  nullable: false
                children:
                  type: string
                  description: ''
                  example: null
                  nullable: false
                assessment_label:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: true
                category:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties:
                    id:
                      type: integer
                      description: 'The <code>id</code> of an existing record in the client_categories table.'
                      example: 17
                      nullable: true
                company_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: mqeopfuudtdsufvyvddqa
                  nullable: false
                abbreviation:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: mniihfqcoynlazghdtqtq
                  nullable: true
                domain:
                  type: string
                  description: 'Must not be greater than 63 characters.'
                  example: xbajwbpilpmufinllwloa
                  nullable: true
                data:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties: {  }
                addresses:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      line_1:
                        type: string
                        description: 'Must not be greater than 255 characters.'
                        example: uydlsmsjuryvojcybzvrb
                        nullable: false
                      line_2:
                        type: string
                        description: 'Must not be greater than 255 characters.'
                        example: yickznkygloigmkwxphlv
                        nullable: true
                      city:
                        type: string
                        description: 'Must not be greater than 255 characters.'
                        example: azjrcnfbaqywuxhgjjmzu
                        nullable: false
                      state:
                        type: string
                        description: 'Must not be greater than 255 characters.'
                        example: xjubqouzswiwxtrkimfca
                        nullable: false
                      zip_code:
                        type: string
                        description: 'Must not be greater than 255 characters.'
                        example: tbxspzmrazsroyjpxmqes
                        nullable: false
                      is_primary:
                        type: boolean
                        description: ''
                        example: false
                        nullable: true
                      type:
                        type: string
                        description: ''
                        example: shipping
                        nullable: false
                        enum:
                          - home
                          - work
                          - billing
                          - shipping
                    required:
                      - line_1
                      - city
                      - state
                      - zip_code
                      - type
                emails:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      address:
                        type: string
                        description: 'Must be a valid email address. Must not be greater than 255 characters.'
                        example: edyghenqcopwvownkbaml
                        nullable: false
                      type:
                        type: string
                        description: ''
                        example: personal
                        nullable: false
                        enum:
                          - main
                          - personal
                          - work
                          - secondary
                    required:
                      - address
                      - type
                phones:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      number:
                        type: string
                        description: 'Must not be greater than 255 characters.'
                        example: nfngefbeilfzsyuxoezbd
                        nullable: false
                      type:
                        type: string
                        description: ''
                        example: work
                        nullable: false
                        enum:
                          - main
                          - home
                          - work
                          - mobile
                    required:
                      - number
                      - type
                client_access:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the clients table.'
                        example: 17
                        nullable: false
                    required:
                      - id
                gryphon_activities:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      message:
                        type: string
                        description: ''
                        example: consequatur
                        nullable: false
                      priority:
                        type: string
                        description: ''
                        example: consequatur
                        nullable: false
                      visibility:
                        type: string
                        description: ''
                        example: consequatur
                        nullable: false
                      user:
                        type: object
                        description: ''
                        example: null
                        nullable: true
                        properties:
                          id:
                            type: integer
                            description: 'The <code>id</code> of an existing record in the users table.'
                            example: 17
                            nullable: true
                      parent:
                        type: string
                        description: ''
                        example: null
                        nullable: false
                    required:
                      - message
                      - priority
                      - visibility
              required:
                - company_name
    get:
      summary: ''
      operationId: getApiClients
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  '/api/clients/gryphon-activities/{client_id}':
    post:
      summary: ''
      operationId: postApiClientsGryphonActivitiesClient_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                message:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                priority:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                user:
                  type: object
                  description: ''
                  example: null
                  nullable: false
                  properties:
                    id:
                      type: integer
                      description: 'The <code>id</code> of an existing record in the users table.'
                      example: 17
                      nullable: false
                visibility:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                parent:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties:
                    id:
                      type: integer
                      description: 'The <code>id</code> of an existing record in the gryphon_activities table.'
                      example: 17
                      nullable: true
              required:
                - message
                - priority
                - visibility
    get:
      summary: ''
      operationId: getApiClientsGryphonActivitiesClient_id
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                search:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                start_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:31'
                  nullable: false
                end_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:31'
                  nullable: false
                created_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:31'
                  nullable: false
                activity_type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                priority:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                visibility:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                user_id:
                  type: integer
                  description: ''
                  example: 17
                  nullable: false
                parent_id:
                  type: integer
                  description: ''
                  example: 17
                  nullable: false
                updated_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:31'
                  nullable: false
                page:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 45
                  nullable: true
                per_page:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 16
                  nullable: true
                limit:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 5
                  nullable: true
                offset:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 50
                  nullable: true
                sort:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                order:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                people:
                  type: string
                  description: ''
                  example: null
                  nullable: false
    parameters:
      -
        in: path
        name: client_id
        description: 'The ID of the client.'
        example: 1
        required: true
        schema:
          type: integer
  /api/clients/search:
    get:
      summary: ''
      operationId: getApiClientsSearch
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  '/api/clients/{id}':
    get:
      summary: ''
      operationId: getApiClientsId
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiClientsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                parent_id:
                  type: string
                  description: ''
                  example: null
                  nullable: false
                parent:
                  type: string
                  description: ''
                  example: null
                  nullable: false
                children:
                  type: string
                  description: ''
                  example: null
                  nullable: false
                assessment_label:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: true
                category:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties:
                    id:
                      type: integer
                      description: 'The <code>id</code> of an existing record in the client_categories table.'
                      example: 17
                      nullable: true
                case_type_set:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties:
                    id:
                      type: integer
                      description: 'The <code>id</code> of an existing record in the case_type_sets table.'
                      example: 17
                      nullable: true
                company_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: mqeopfuudtdsufvyvddqa
                  nullable: true
                abbreviation:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: mniihfqcoynlazghdtqtq
                  nullable: true
                data:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties: {  }
                addresses:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      line_1:
                        type: string
                        description: 'Must not be greater than 255 characters.'
                        example: xbajwbpilpmufinllwloa
                        nullable: false
                      line_2:
                        type: string
                        description: 'Must not be greater than 255 characters.'
                        example: uydlsmsjuryvojcybzvrb
                        nullable: true
                      city:
                        type: string
                        description: 'Must not be greater than 255 characters.'
                        example: yickznkygloigmkwxphlv
                        nullable: false
                      state:
                        type: string
                        description: 'Must not be greater than 255 characters.'
                        example: azjrcnfbaqywuxhgjjmzu
                        nullable: false
                      zip_code:
                        type: string
                        description: 'Must not be greater than 255 characters.'
                        example: xjubqouzswiwxtrkimfca
                        nullable: false
                      is_primary:
                        type: boolean
                        description: ''
                        example: true
                        nullable: true
                      type:
                        type: string
                        description: ''
                        example: billing
                        nullable: false
                        enum:
                          - home
                          - work
                          - billing
                          - shipping
                    required:
                      - line_1
                      - city
                      - state
                      - zip_code
                      - type
                emails:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      address:
                        type: string
                        description: 'Must be a valid email address. Must not be greater than 255 characters.'
                        example: tbxspzmrazsroyjpxmqes
                        nullable: false
                      type:
                        type: string
                        description: ''
                        example: secondary
                        nullable: false
                        enum:
                          - main
                          - personal
                          - work
                          - secondary
                    required:
                      - address
                      - type
                phones:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      number:
                        type: string
                        description: 'Must not be greater than 255 characters.'
                        example: edyghenqcopwvownkbaml
                        nullable: false
                      type:
                        type: string
                        description: ''
                        example: home
                        nullable: false
                        enum:
                          - main
                          - home
                          - work
                          - mobile
                    required:
                      - number
                      - type
                client_access:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the clients table.'
                        example: 17
                        nullable: false
                    required:
                      - id
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the client.'
        example: 1
        required: true
        schema:
          type: integer
  /api/client-categories:
    get:
      summary: ''
      operationId: getApiClientCategories
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  '/api/users/gryphon-activities/{user_id}':
    post:
      summary: ''
      operationId: postApiUsersGryphonActivitiesUser_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                message:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                priority:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                user:
                  type: object
                  description: ''
                  example: null
                  nullable: false
                  properties:
                    id:
                      type: integer
                      description: 'The <code>id</code> of an existing record in the users table.'
                      example: 17
                      nullable: false
                visibility:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                parent:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties:
                    id:
                      type: integer
                      description: 'The <code>id</code> of an existing record in the gryphon_activities table.'
                      example: 17
                      nullable: true
              required:
                - message
                - priority
                - visibility
    get:
      summary: ''
      operationId: getApiUsersGryphonActivitiesUser_id
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                search:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                start_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:31'
                  nullable: false
                end_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:31'
                  nullable: false
                created_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:31'
                  nullable: false
                activity_type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                priority:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                visibility:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                user_id:
                  type: integer
                  description: ''
                  example: 17
                  nullable: false
                parent_id:
                  type: integer
                  description: ''
                  example: 17
                  nullable: false
                updated_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:31'
                  nullable: false
                page:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 45
                  nullable: true
                per_page:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 16
                  nullable: true
                limit:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 5
                  nullable: true
                offset:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 50
                  nullable: true
                sort:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                order:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                people:
                  type: string
                  description: ''
                  example: null
                  nullable: false
    parameters:
      -
        in: path
        name: user_id
        description: 'The ID of the user.'
        example: 1
        required: true
        schema:
          type: integer
  /api/users/me:
    get:
      summary: ''
      operationId: getApiUsersMe
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiUsersMe
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                password:
                  type: string
                  description: 'Must be at least 8 characters.'
                  example: 'O[2UZ5ij-e/dl4m{o,'
                  nullable: true
                legal_first_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: dqamniihfqcoynlazghdt
                  nullable: true
                legal_last_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: qtqxbajwbpilpmufinllw
                  nullable: true
                preferred_first_name:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                preferred_last_name:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                date_of_birth:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                phone:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                ssn:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                upper_first_name:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                upper_last_name:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                salutation:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                address:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                status:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                  enum:
                    - setup
                    - pending
                    - training
                    - active
                    - clinical_hold
                    - standby
                    - deactivated
                phones:
                  type: array
                  description: ''
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      number:
                        type: string
                        description: ''
                        example: null
                        nullable: true
                      type:
                        type: string
                        description: ''
                        example: mobile
                        nullable: true
                        enum:
                          - main
                          - home
                          - work
                          - mobile
  '/api/users/profile-image/{user_id}':
    post:
      summary: ''
      operationId: postApiUsersProfileImageUser_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                profile_image:
                  type: string
                  format: binary
                  description: 'Must be an image. Must not be greater than 2048 kilobytes.'
                  nullable: false
              required:
                - profile_image
    get:
      summary: ''
      operationId: getApiUsersProfileImageUser_id
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: user_id
        description: 'The ID of the user.'
        example: 1
        required: true
        schema:
          type: integer
  /api/users/me/profile-image:
    post:
      summary: ''
      operationId: postApiUsersMeProfileImage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                profile_image:
                  type: string
                  format: binary
                  description: 'Must be an image. Must not be greater than 2048 kilobytes.'
                  nullable: false
              required:
                - profile_image
  /api/users:
    post:
      summary: ''
      operationId: postApiUsers
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                email:
                  type: string
                  description: 'Must be a valid email address.'
                  example: kunde.eloisa@example.com
                  nullable: false
                password:
                  type: string
                  description: 'Must be at least 8 characters.'
                  example: '4[*UyPJ"}6'
                  nullable: false
                roles:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties: {  }
                role:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties:
                    id:
                      type: integer
                      description: 'This field is required when <code>role</code> is present. The <code>id</code> of an existing record in the roles table.'
                      example: 17
                      nullable: false
                capabilities:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties: {  }
                legal_first_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: mqeopfuudtdsufvyvddqa
                  nullable: false
                legal_last_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: mniihfqcoynlazghdtqtq
                  nullable: false
                preferred_first_name:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                preferred_last_name:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                date_of_birth:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                phone:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                emails:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      address:
                        type: string
                        description: 'This field is required when <code>emails</code> is present. Must be a valid email address. Must not be greater than 255 characters.'
                        example: mniihfqcoynlazghdtqtq
                        nullable: false
                      type:
                        type: string
                        description: ''
                        example: secondary
                        nullable: false
                        enum:
                          - main
                          - personal
                          - work
                          - secondary
                ssn:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                start_date:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                startdate:
                  type: string
                  description: ''
                  example: null
                  nullable: false
                work_status:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                last_day_of_work:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                user_type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                  enum:
                    - clinical
                    - internal
                usertype:
                  type: string
                  description: ''
                  example: null
                  nullable: false
                upper_first_name:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                upper_last_name:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                salutation:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                addresses:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                personas:
                  type: string
                  description: ''
                  example: null
                  nullable: true
                tags:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the tags table.'
                        example: 17
                        nullable: false
                    required:
                      - id
                caseload:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 45
                  nullable: false
                payee_type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                  enum:
                    - independent_contractor_individual
                    - independent_contractor_company
                    - employee
                employment_type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                  enum:
                    - w2_full_time
                    - 1099_contractor
                status:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                compensation_type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                  enum:
                    - salary
                    - hourly
                    - piece_work
                pay_period:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                  enum:
                    - monthly
                    - semi_monthly
                deduct_drive_time:
                  type: boolean
                  description: ''
                  example: false
                  nullable: false
                professional_designations:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: string
                phones:
                  type: array
                  description: ''
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      number:
                        type: string
                        description: 'Must not be greater than 255 characters.'
                        example: mqeopfuudtdsufvyvddqa
                        nullable: false
                      type:
                        type: string
                        description: ''
                        example: work
                        nullable: false
                        enum:
                          - main
                          - home
                          - work
                          - mobile
              required:
                - email
    get:
      summary: ''
      operationId: getApiUsers
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: true
                email:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: kunde.eloisa@example.com
                  nullable: true
                phone:
                  type: string
                  description: 'Must not be greater than 20 characters.'
                  example: hfqcoynlazghdtqtq
                  nullable: true
                case_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the cases table.'
                  example: 17
                  nullable: true
                tag_id:
                  type: array
                  description: 'The <code>id</code> of an existing record in the tags table.'
                  example:
                    - 17
                  items:
                    type: integer
                tag_category_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the tag_categories table.'
                  example: 17
                  nullable: true
                tag_type:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: mqeopfuudtdsufvyvddqa
                  nullable: true
                case_load:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
                sort_by:
                  type: string
                  description: ''
                  example: city
                  nullable: true
                  enum:
                    - name
                    - email
                    - created_at
                    - updated_at
                    - caseload
                    - start_date
                    - last_day_of_work
                    - legal_first_name
                    - legal_last_name
                    - preferred_first_name
                    - preferred_last_name
                    - work_status
                    - status
                    - role
                    - city
                    - state
                    - zip
                    - travel_distance_miles
                    - travel_duration_seconds
                sort_order:
                  type: string
                  description: ''
                  example: asc
                  nullable: true
                  enum:
                    - asc
                    - desc
                page:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 45
                  nullable: true
                per_page:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 13
                  nullable: true
                limit:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 8
                  nullable: true
                offset:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 30
                  nullable: true
                licenses:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the licenses table.'
                        example: 17
                        nullable: false
                professions:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the expertise_areas table.'
                        example: 17
                        nullable: false
                trainings:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the credentials table.'
                        example: 17
                        nullable: false
                request_types:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the case_types table.'
                        example: 17
                        nullable: false
                role_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the roles table.'
                  example: 17
                  nullable: true
                role_ids:
                  type: array
                  description: 'The <code>id</code> of an existing record in the roles table.'
                  example:
                    - 17
                  items:
                    type: integer
                role_names:
                  type: array
                  description: 'Must not be greater than 255 characters.'
                  example:
                    - mqeopfuudtdsufvyvddqa
                  items:
                    type: string
                case_assignment:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                has_client:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                internal_only:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                status:
                  type: array
                  description: ''
                  example:
                    - standby
                  items:
                    type: string
                    enum:
                      - setup
                      - pending
                      - training
                      - active
                      - clinical_hold
                      - standby
                      - deactivated
                domain:
                  type: array
                  description: ''
                  example:
                    - 'Client Services'
                  items:
                    type: string
                    enum:
                      - clinical
                      - Clinical
                      - client_services
                      - 'Client Services'
                      - finance
                      - Finance
                      - human_resources
                      - 'Human Resources'
                      - HR
                      - engineering
                      - Engineering
                      - executive_suite
                      - 'Executive Suite'
                      - Executive
                      - client
                      - Client
                filter_mode:
                  type: string
                  description: ''
                  example: or
                  nullable: true
                  enum:
                    - and
                    - or
                valid_license:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                work_status:
                  type: array
                  description: ''
                  example:
                    - Training
                  items:
                    type: string
                    enum:
                      - Training
                      - Active
                      - Pending
                      - Disabled
                city:
                  type: string
                  description: 'Must not be greater than 100 characters.'
                  example: mniihfqcoynlazghdtqtq
                  nullable: true
                state:
                  type: string
                  description: 'Must be 2 characters.'
                  example: xb
                  nullable: true
                zip:
                  type: string
                  description: 'Must not be greater than 10 characters.'
                  example: ajwbpilpm
                  nullable: true
                first_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: ufinllwloauydlsmsjury
                  nullable: true
                last_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vojcybzvrbyickznkyglo
                  nullable: true
                middle_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: igmkwxphlvazjrcnfbaqy
                  nullable: true
                address:
                  type: string
                  description: 'Must not be greater than 500 characters.'
                  example: wuxhgjjmzuxjubqouzswi
                  nullable: true
                capability:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: wxtrkimfcatbxspzmrazs
                  nullable: true
                periscope_id:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 63
                  nullable: true
                payee_type:
                  type: string
                  description: ''
                  example: independent_contractor_individual
                  nullable: true
                  enum:
                    - independent_contractor_individual
                    - independent_contractor_company
                    - employee
                compensation_type:
                  type: string
                  description: ''
                  example: salary
                  nullable: true
                  enum:
                    - salary
                    - hourly
                    - piece_work
                pay_period:
                  type: string
                  description: ''
                  example: monthly
                  nullable: true
                  enum:
                    - monthly
                    - semi_monthly
                direct_deposit:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
                account_type:
                  type: string
                  description: ''
                  example: HR
                  nullable: true
                  enum:
                    - clinical
                    - Clinical
                    - client_services
                    - 'Client Services'
                    - finance
                    - Finance
                    - human_resources
                    - 'Human Resources'
                    - HR
                    - engineering
                    - Engineering
                    - executive_suite
                    - 'Executive Suite'
                    - Executive
                    - client
                    - Client
                document_types:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: oyjpxmqesedyghenqcopw
                  nullable: true
                document_expiration_start:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:31'
                  nullable: true
                document_expiration_end:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:31'
                  nullable: true
                context:
                  type: string
                  description: ''
                  example: assessor
                  nullable: true
                  enum:
                    - assessor
                    - consultant
                filters:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties:
                    logic:
                      type: string
                      description: 'This field is required when <code>filters</code> is present.'
                      example: AND
                      nullable: false
                      enum:
                        - AND
                        - OR
                    conditions:
                      type: object
                      description: 'This field is required when <code>filters</code> is present. Must have at least 1 items.'
                      example: null
                      nullable: false
                      properties: {  }
  /api/users/invite:
    post:
      summary: 'Create a new user from the dashboard with Auth0-first workflow.'
      operationId: createANewUserFromTheDashboardWithAuth0FirstWorkflow
      description: "This endpoint creates the user in Auth0 first (sending invite email),\nthen creates the database record with the returned auth0_id.\nIf the database creation fails, the Auth0 user is automatically deleted (rollback).\n\nAccess Requirements:\n- Engineering user (user_type with name='Engineering') via EngineeringDevOnly middleware\n- Environment match via AUTOMATED_USER_CREATION_WORKFLOW_ENVIRONMENT config\n- create:users permission checked in Form Request authorization"
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                client_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the clients table.'
                  example: 17
                  nullable: true
                email:
                  type: string
                  description: 'Must be a valid email address. Must not be greater than 255 characters.'
                  example: carolyne.luettgen@example.org
                  nullable: false
                legal_first_name:
                  type: string
                  description: 'This field is required when <code>preferred_first_name</code> is not present. Must not be greater than 255 characters.'
                  example: fuudtdsufvyvddqamniih
                  nullable: true
                legal_last_name:
                  type: string
                  description: 'This field is required when <code>preferred_last_name</code> is not present. Must not be greater than 255 characters.'
                  example: fqcoynlazghdtqtqxbajw
                  nullable: true
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: bpilpmufinllwloauydls
                  nullable: false
                preferred_first_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: msjuryvojcybzvrbyickz
                  nullable: true
                preferred_last_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: nkygloigmkwxphlvazjrc
                  nullable: true
                date_of_birth:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:31'
                  nullable: true
                ssn:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                usertype:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                  enum:
                    - clinical
                    - internal
                status:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                phone:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                phones:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      number:
                        type: string
                        description: 'This field is required when <code>phones</code> is present.'
                        example: consequatur
                        nullable: false
                      type:
                        type: string
                        description: ''
                        example: home
                        nullable: false
                        enum:
                          - main
                          - home
                          - work
                          - mobile
                      sms:
                        type: boolean
                        description: ''
                        example: false
                        nullable: false
                emails:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      address:
                        type: string
                        description: 'This field is required when <code>emails</code> is present. Must be a valid email address. Must not be greater than 255 characters.'
                        example: mqeopfuudtdsufvyvddqa
                        nullable: false
                      type:
                        type: string
                        description: ''
                        example: personal
                        nullable: false
                        enum:
                          - main
                          - personal
                          - work
                          - secondary
                addresses:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties: {  }
                tags:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the tags table.'
                        example: 17
                        nullable: false
                    required:
                      - id
                roles:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: integer
                        description: 'This field is required when <code>roles</code> is present. The <code>id</code> of an existing record in the roles table.'
                        example: 17
                        nullable: false
                role:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties:
                    id:
                      type: integer
                      description: 'This field is required when <code>role</code> is present. The <code>id</code> of an existing record in the roles table.'
                      example: 17
                      nullable: false
                payee_type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                  enum:
                    - independent_contractor_individual
                    - independent_contractor_company
                    - employee
                employment_type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                  enum:
                    - w2_full_time
                    - 1099_contractor
                compensation_type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                  enum:
                    - salary
                    - hourly
                    - piece_work
                pay_period:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                  enum:
                    - monthly
                    - semi_monthly
                deduct_drive_time:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
                professional_designations:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: string
              required:
                - email
  /api/users/search:
    post:
      summary: ''
      operationId: postApiUsersSearch
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: true
                email:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: kunde.eloisa@example.com
                  nullable: true
                phone:
                  type: string
                  description: 'Must not be greater than 20 characters.'
                  example: hfqcoynlazghdtqtq
                  nullable: true
                case_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the cases table.'
                  example: 17
                  nullable: true
                tag_id:
                  type: array
                  description: 'The <code>id</code> of an existing record in the tags table.'
                  example:
                    - 17
                  items:
                    type: integer
                tag_category_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the tag_categories table.'
                  example: 17
                  nullable: true
                tag_type:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: mqeopfuudtdsufvyvddqa
                  nullable: true
                case_load:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                sort_by:
                  type: string
                  description: ''
                  example: city
                  nullable: true
                  enum:
                    - name
                    - email
                    - created_at
                    - updated_at
                    - caseload
                    - start_date
                    - last_day_of_work
                    - legal_first_name
                    - legal_last_name
                    - preferred_first_name
                    - preferred_last_name
                    - work_status
                    - status
                    - role
                    - city
                    - state
                    - zip
                    - travel_distance_miles
                    - travel_duration_seconds
                sort_order:
                  type: string
                  description: ''
                  example: asc
                  nullable: true
                  enum:
                    - asc
                    - desc
                page:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 45
                  nullable: true
                per_page:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 13
                  nullable: true
                limit:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 8
                  nullable: true
                offset:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 30
                  nullable: true
                licenses:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the licenses table.'
                        example: 17
                        nullable: false
                professions:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the expertise_areas table.'
                        example: 17
                        nullable: false
                trainings:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the credentials table.'
                        example: 17
                        nullable: false
                request_types:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the case_types table.'
                        example: 17
                        nullable: false
                role_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the roles table.'
                  example: 17
                  nullable: true
                role_ids:
                  type: array
                  description: 'The <code>id</code> of an existing record in the roles table.'
                  example:
                    - 17
                  items:
                    type: integer
                role_names:
                  type: array
                  description: 'Must not be greater than 255 characters.'
                  example:
                    - mqeopfuudtdsufvyvddqa
                  items:
                    type: string
                case_assignment:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
                has_client:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
                internal_only:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                status:
                  type: array
                  description: ''
                  example:
                    - pending
                  items:
                    type: string
                    enum:
                      - setup
                      - pending
                      - training
                      - active
                      - clinical_hold
                      - standby
                      - deactivated
                domain:
                  type: array
                  description: ''
                  example:
                    - clinical
                  items:
                    type: string
                    enum:
                      - clinical
                      - Clinical
                      - client_services
                      - 'Client Services'
                      - finance
                      - Finance
                      - human_resources
                      - 'Human Resources'
                      - HR
                      - engineering
                      - Engineering
                      - executive_suite
                      - 'Executive Suite'
                      - Executive
                      - client
                      - Client
                filter_mode:
                  type: string
                  description: ''
                  example: and
                  nullable: true
                  enum:
                    - and
                    - or
                valid_license:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
                work_status:
                  type: array
                  description: ''
                  example:
                    - Active
                  items:
                    type: string
                    enum:
                      - Training
                      - Active
                      - Pending
                      - Disabled
                city:
                  type: string
                  description: 'Must not be greater than 100 characters.'
                  example: mniihfqcoynlazghdtqtq
                  nullable: true
                state:
                  type: string
                  description: 'Must be 2 characters.'
                  example: xb
                  nullable: true
                zip:
                  type: string
                  description: 'Must not be greater than 10 characters.'
                  example: ajwbpilpm
                  nullable: true
                first_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: ufinllwloauydlsmsjury
                  nullable: true
                last_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vojcybzvrbyickznkyglo
                  nullable: true
                middle_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: igmkwxphlvazjrcnfbaqy
                  nullable: true
                address:
                  type: string
                  description: 'Must not be greater than 500 characters.'
                  example: wuxhgjjmzuxjubqouzswi
                  nullable: true
                capability:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: wxtrkimfcatbxspzmrazs
                  nullable: true
                periscope_id:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 63
                  nullable: true
                payee_type:
                  type: string
                  description: ''
                  example: employee
                  nullable: true
                  enum:
                    - independent_contractor_individual
                    - independent_contractor_company
                    - employee
                compensation_type:
                  type: string
                  description: ''
                  example: piece_work
                  nullable: true
                  enum:
                    - salary
                    - hourly
                    - piece_work
                pay_period:
                  type: string
                  description: ''
                  example: monthly
                  nullable: true
                  enum:
                    - monthly
                    - semi_monthly
                direct_deposit:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
                account_type:
                  type: string
                  description: ''
                  example: executive_suite
                  nullable: true
                  enum:
                    - clinical
                    - Clinical
                    - client_services
                    - 'Client Services'
                    - finance
                    - Finance
                    - human_resources
                    - 'Human Resources'
                    - HR
                    - engineering
                    - Engineering
                    - executive_suite
                    - 'Executive Suite'
                    - Executive
                    - client
                    - Client
                document_types:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: oyjpxmqesedyghenqcopw
                  nullable: true
                document_expiration_start:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:31'
                  nullable: true
                document_expiration_end:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:31'
                  nullable: true
                context:
                  type: string
                  description: ''
                  example: consultant
                  nullable: true
                  enum:
                    - assessor
                    - consultant
                filters:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties:
                    logic:
                      type: string
                      description: 'This field is required when <code>filters</code> is present.'
                      example: OR
                      nullable: false
                      enum:
                        - AND
                        - OR
                    conditions:
                      type: object
                      description: 'This field is required when <code>filters</code> is present. Must have at least 1 items.'
                      example: null
                      nullable: false
                      properties: {  }
  /api/users/export:
    post:
      summary: 'Export users to CSV.'
      operationId: exportUsersToCSV
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: true
                email:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: kunde.eloisa@example.com
                  nullable: true
                phone:
                  type: string
                  description: 'Must not be greater than 20 characters.'
                  example: hfqcoynlazghdtqtq
                  nullable: true
                case_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the cases table.'
                  example: 17
                  nullable: true
                tag_id:
                  type: array
                  description: 'The <code>id</code> of an existing record in the tags table.'
                  example:
                    - 17
                  items:
                    type: integer
                tag_category_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the tag_categories table.'
                  example: 17
                  nullable: true
                tag_type:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: mqeopfuudtdsufvyvddqa
                  nullable: true
                case_load:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                sort_by:
                  type: string
                  description: ''
                  example: state
                  nullable: true
                  enum:
                    - name
                    - email
                    - created_at
                    - updated_at
                    - caseload
                    - start_date
                    - last_day_of_work
                    - legal_first_name
                    - legal_last_name
                    - preferred_first_name
                    - preferred_last_name
                    - work_status
                    - status
                    - role
                    - city
                    - state
                    - zip
                    - travel_distance_miles
                    - travel_duration_seconds
                sort_order:
                  type: string
                  description: ''
                  example: desc
                  nullable: true
                  enum:
                    - asc
                    - desc
                page:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 45
                  nullable: true
                per_page:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 13
                  nullable: true
                limit:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 8
                  nullable: true
                offset:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 30
                  nullable: true
                licenses:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the licenses table.'
                        example: 17
                        nullable: false
                professions:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the expertise_areas table.'
                        example: 17
                        nullable: false
                trainings:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the credentials table.'
                        example: 17
                        nullable: false
                request_types:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the case_types table.'
                        example: 17
                        nullable: false
                role_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the roles table.'
                  example: 17
                  nullable: true
                role_ids:
                  type: array
                  description: 'The <code>id</code> of an existing record in the roles table.'
                  example:
                    - 17
                  items:
                    type: integer
                role_names:
                  type: array
                  description: 'Must not be greater than 255 characters.'
                  example:
                    - mqeopfuudtdsufvyvddqa
                  items:
                    type: string
                case_assignment:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                has_client:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                internal_only:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                status:
                  type: array
                  description: ''
                  example:
                    - standby
                  items:
                    type: string
                    enum:
                      - setup
                      - pending
                      - training
                      - active
                      - clinical_hold
                      - standby
                      - deactivated
                domain:
                  type: array
                  description: ''
                  example:
                    - Engineering
                  items:
                    type: string
                    enum:
                      - clinical
                      - Clinical
                      - client_services
                      - 'Client Services'
                      - finance
                      - Finance
                      - human_resources
                      - 'Human Resources'
                      - HR
                      - engineering
                      - Engineering
                      - executive_suite
                      - 'Executive Suite'
                      - Executive
                      - client
                      - Client
                filter_mode:
                  type: string
                  description: ''
                  example: or
                  nullable: true
                  enum:
                    - and
                    - or
                valid_license:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
                work_status:
                  type: array
                  description: ''
                  example:
                    - Active
                  items:
                    type: string
                    enum:
                      - Training
                      - Active
                      - Pending
                      - Disabled
                city:
                  type: string
                  description: 'Must not be greater than 100 characters.'
                  example: mniihfqcoynlazghdtqtq
                  nullable: true
                state:
                  type: string
                  description: 'Must be 2 characters.'
                  example: xb
                  nullable: true
                zip:
                  type: string
                  description: 'Must not be greater than 10 characters.'
                  example: ajwbpilpm
                  nullable: true
                first_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: ufinllwloauydlsmsjury
                  nullable: true
                last_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vojcybzvrbyickznkyglo
                  nullable: true
                middle_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: igmkwxphlvazjrcnfbaqy
                  nullable: true
                address:
                  type: string
                  description: 'Must not be greater than 500 characters.'
                  example: wuxhgjjmzuxjubqouzswi
                  nullable: true
                capability:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: wxtrkimfcatbxspzmrazs
                  nullable: true
                periscope_id:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 63
                  nullable: true
                payee_type:
                  type: string
                  description: ''
                  example: employee
                  nullable: true
                  enum:
                    - independent_contractor_individual
                    - independent_contractor_company
                    - employee
                compensation_type:
                  type: string
                  description: ''
                  example: salary
                  nullable: true
                  enum:
                    - salary
                    - hourly
                    - piece_work
                pay_period:
                  type: string
                  description: ''
                  example: semi_monthly
                  nullable: true
                  enum:
                    - monthly
                    - semi_monthly
                direct_deposit:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
                account_type:
                  type: string
                  description: ''
                  example: 'Client Services'
                  nullable: true
                  enum:
                    - clinical
                    - Clinical
                    - client_services
                    - 'Client Services'
                    - finance
                    - Finance
                    - human_resources
                    - 'Human Resources'
                    - HR
                    - engineering
                    - Engineering
                    - executive_suite
                    - 'Executive Suite'
                    - Executive
                    - client
                    - Client
                document_types:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: oyjpxmqesedyghenqcopw
                  nullable: true
                document_expiration_start:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:31'
                  nullable: true
                document_expiration_end:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:31'
                  nullable: true
                context:
                  type: string
                  description: ''
                  example: assessor
                  nullable: true
                  enum:
                    - assessor
                    - consultant
                filters:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties:
                    logic:
                      type: string
                      description: 'This field is required when <code>filters</code> is present.'
                      example: OR
                      nullable: false
                      enum:
                        - AND
                        - OR
                    conditions:
                      type: object
                      description: 'This field is required when <code>filters</code> is present. Must have at least 1 items.'
                      example: null
                      nullable: false
                      properties: {  }
                fields:
                  type: array
                  description: 'Must not be greater than 255 characters.'
                  example:
                    - vownkbamlnfngefbeilfz
                  items:
                    type: string
                field_order:
                  type: array
                  description: 'Must not be greater than 255 characters.'
                  example:
                    - syuxoezbdtabptcyyerev
                  items:
                    type: string
  /api/users/searchable-fields:
    get:
      summary: ''
      operationId: getApiUsersSearchableFields
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  /api/users/sortable-fields:
    get:
      summary: ''
      operationId: getApiUsersSortableFields
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  '/api/users/{user_id}/compliance-documents':
    get:
      summary: ''
      operationId: getApiUsersUser_idComplianceDocuments
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: user_id
        description: 'The ID of the user.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/users/{user_id}/workmarket-expenses':
    get:
      summary: ''
      operationId: getApiUsersUser_idWorkmarketExpenses
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: user_id
        description: 'The ID of the user.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/users/{user_id}/capabilities':
    get:
      summary: 'Get the capabilities assigned to a user.'
      operationId: getTheCapabilitiesAssignedToAUser
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: 'Assign capabilities to a user.'
      operationId: assignCapabilitiesToAUser
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                capabilities:
                  type: array
                  description: 'Must have at least 1 items.'
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the roles table.'
                        example: 17
                        nullable: false
                    required:
                      - id
              required:
                - capabilities
    parameters:
      -
        in: path
        name: user_id
        description: 'The ID of the user.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/users/{user_id}/capabilities/{capability_id}':
    delete:
      summary: 'Remove a capability from a user.'
      operationId: removeACapabilityFromAUser
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: user_id
        description: 'The ID of the user.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: capability_id
        description: 'The ID of the capability.'
        example: 24
        required: true
        schema:
          type: integer
  '/api/users/{id}':
    patch:
      summary: ''
      operationId: patchApiUsersId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                email:
                  type: string
                  description: 'Must be a valid email address.'
                  example: kunde.eloisa@example.com
                  nullable: false
                password:
                  type: string
                  description: 'Must be at least 8 characters.'
                  example: '4[*UyPJ"}6'
                  nullable: false
                caseload:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 26
                  nullable: false
                role:
                  type: object
                  description: ''
                  example: null
                  nullable: false
                  properties:
                    id:
                      type: string
                      description: 'The <code>id</code> of an existing record in the roles table.'
                      example: null
                      nullable: false
                roles:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        description: 'The <code>id</code> of an existing record in the roles table.'
                        example: null
                        nullable: false
                capabilities:
                  type: object
                  description: ''
                  example: null
                  nullable: false
                  properties: {  }
                legal_first_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: dtqtqxbajwbpilpmufinl
                  nullable: false
                legal_last_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: lwloauydlsmsjuryvojcy
                  nullable: false
                preferred_first_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: bzvrbyickznkygloigmkw
                  nullable: false
                preferred_last_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: xphlvazjrcnfbaqywuxhg
                  nullable: false
                date_of_birth:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:31'
                  nullable: false
                phone:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                phones:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    properties:
                      number:
                        type: string
                        description: ''
                        example: consequatur
                        nullable: false
                      type:
                        type: string
                        description: ''
                        example: mobile
                        nullable: false
                        enum:
                          - main
                          - home
                          - work
                          - mobile
                emails:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    properties:
                      address:
                        type: string
                        description: 'This field is required when <code>emails</code> is present. Must be a valid email address. Must not be greater than 255 characters.'
                        example: mqeopfuudtdsufvyvddqa
                        nullable: false
                      type:
                        type: string
                        description: ''
                        example: main
                        nullable: false
                        enum:
                          - main
                          - personal
                          - work
                          - secondary
                ssn:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: mqeopfuudtdsufvyvddqa
                  nullable: false
                start_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:31'
                  nullable: false
                startdate:
                  type: string
                  description: ''
                  example: null
                  nullable: false
                work_status:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: mniihfqcoynlazghdtqtq
                  nullable: false
                last_day_of_work:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:31'
                  nullable: false
                user_type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                  enum:
                    - clinical
                    - internal
                usertype:
                  type: string
                  description: ''
                  example: null
                  nullable: false
                upper_first_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: mqeopfuudtdsufvyvddqa
                  nullable: false
                upper_last_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: mniihfqcoynlazghdtqtq
                  nullable: false
                salutation:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: xbajwbpilpmufinllwloa
                  nullable: false
                addresses:
                  type: object
                  description: ''
                  example: null
                  nullable: false
                  properties: {  }
                personas:
                  type: object
                  description: ''
                  example: null
                  nullable: false
                  properties: {  }
                tags:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the tags table.'
                        example: 17
                        nullable: false
                payee_type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                  enum:
                    - independent_contractor_individual
                    - independent_contractor_company
                    - employee
                employment_type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                  enum:
                    - w2_full_time
                    - 1099_contractor
                status:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                compensation_type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                  enum:
                    - salary
                    - hourly
                    - piece_work
                pay_period:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                  enum:
                    - monthly
                    - semi_monthly
                deduct_drive_time:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
                workmarket_id:
                  type: string
                  description: 'Must match the regex /^[a-zA-Z0-9]+$/.'
                  example: lILn
                  nullable: true
                professional_designations:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: string
    get:
      summary: ''
      operationId: getApiUsersId
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    delete:
      summary: ''
      operationId: deleteApiUsersId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the user.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/users/{user_id}/visible-clients':
    get:
      summary: ''
      operationId: getApiUsersUser_idVisibleClients
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: ''
      operationId: postApiUsersUser_idVisibleClients
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                visibleClients:
                  type: array
                  description: 'Must have at least 1 items.'
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the clients table.'
                        example: 17
                        nullable: false
                      includeDescendants:
                        type: boolean
                        description: ''
                        example: false
                        nullable: false
                    required:
                      - id
              required:
                - visibleClients
    patch:
      summary: ''
      operationId: patchApiUsersUser_idVisibleClients
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                visibleClients:
                  type: array
                  description: ''
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the clients table.'
                        example: 17
                        nullable: false
                      includeDescendants:
                        type: boolean
                        description: ''
                        example: false
                        nullable: false
                    required:
                      - id
              required:
                - visibleClients
    parameters:
      -
        in: path
        name: user_id
        description: 'The ID of the user.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/users/{user_id}/visible-clients/{client_id}':
    get:
      summary: ''
      operationId: getApiUsersUser_idVisibleClientsClient_id
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    delete:
      summary: ''
      operationId: deleteApiUsersUser_idVisibleClientsClient_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: user_id
        description: 'The ID of the user.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: client_id
        description: 'The ID of the client.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/users/{user_id}/unavailability':
    get:
      summary: "Display a listing of the user's unavailability records."
      operationId: displayAListingOfTheUsersUnavailabilityRecords
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                start_date:
                  type: string
                  description: 'Must be a valid date. Must be a valid date in the format <code>Y-m-d</code>.'
                  example: '2026-05-14'
                  nullable: true
                end_date:
                  type: string
                  description: 'Must be a valid date. Must be a valid date in the format <code>Y-m-d</code>.'
                  example: '2026-05-14'
                  nullable: true
                include_past:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                per_page:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 21
                  nullable: true
    post:
      summary: 'Store a newly created user unavailability record.'
      operationId: storeANewlyCreatedUserUnavailabilityRecord
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                start_date:
                  type: string
                  description: 'Must be a valid date. Must be a date before or equal to <code>end_date</code>.'
                  example: '2020-09-09'
                  nullable: false
                end_date:
                  type: string
                  description: 'Must be a valid date. Must be a date after or equal to <code>start_date</code>.'
                  example: '2107-06-13'
                  nullable: false
                type:
                  type: string
                  description: ''
                  example: single_date
                  nullable: false
                  enum:
                    - single_date
                    - date_range
                reason:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: mqeopfuudtdsufvyvddqa
                  nullable: false
              required:
                - start_date
                - end_date
    parameters:
      -
        in: path
        name: user_id
        description: 'The ID of the user.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/users/{user_id}/unavailability/{id}':
    patch:
      summary: 'Update the specified user unavailability record.'
      operationId: updateTheSpecifiedUserUnavailabilityRecord
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                start_date:
                  type: string
                  description: 'Must be a valid date. Must be a date before or equal to <code>end_date</code>.'
                  example: '2020-09-09'
                  nullable: false
                end_date:
                  type: string
                  description: 'Must be a valid date. Must be a date after or equal to <code>start_date</code>.'
                  example: '2107-06-13'
                  nullable: false
                type:
                  type: string
                  description: ''
                  example: single_date
                  nullable: false
                  enum:
                    - single_date
                    - date_range
                reason:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: mqeopfuudtdsufvyvddqa
                  nullable: false
    delete:
      summary: 'Remove the specified user unavailability record.'
      operationId: removeTheSpecifiedUserUnavailabilityRecord
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: user_id
        description: 'The ID of the user.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: id
        description: 'The ID of the unavailability.'
        example: 1
        required: true
        schema:
          type: integer
  /api/clinician-casework-preferences:
    get:
      summary: ''
      operationId: getApiClinicianCaseworkPreferences
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: ''
      operationId: postApiClinicianCaseworkPreferences
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                user_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: 17
                  nullable: false
                client_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the clients table.'
                  example: 17
                  nullable: true
                preference_flag:
                  type: string
                  description: ''
                  example: Preferred
                  nullable: true
                  enum:
                    - Preferred
                    - 'Last Resort'
                mentor_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: 17
                  nullable: true
                caseload:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 45
                  nullable: true
                assessor_note:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                consultant_note:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
              required:
                - user_id
  '/api/clinician-casework-preferences/user/{userId}':
    get:
      summary: ''
      operationId: getApiClinicianCaseworkPreferencesUserUserId
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: userId
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  '/api/clinician-casework-preferences/{clinicianCaseworkPreference_id}':
    get:
      summary: ''
      operationId: getApiClinicianCaseworkPreferencesClinicianCaseworkPreference_id
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiClinicianCaseworkPreferencesClinicianCaseworkPreference_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                user_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: 17
                  nullable: false
                client_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the clients table.'
                  example: 17
                  nullable: true
                preference_flag:
                  type: string
                  description: ''
                  example: 'Last Resort'
                  nullable: true
                  enum:
                    - Preferred
                    - 'Last Resort'
                mentor_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: 17
                  nullable: true
                caseload:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 45
                  nullable: true
                assessor_note:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                consultant_note:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
    delete:
      summary: ''
      operationId: deleteApiClinicianCaseworkPreferencesClinicianCaseworkPreference_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: clinicianCaseworkPreference_id
        description: 'The ID of the clinicianCaseworkPreference.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/users/{user_id}/notes':
    get:
      summary: "Display a listing of the user's notes."
      operationId: displayAListingOfTheUsersNotes
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: 'Store a newly created note for the user.'
      operationId: storeANewlyCreatedNoteForTheUser
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                note:
                  type: string
                  description: 'Must not be greater than 65535 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
              required:
                - note
    parameters:
      -
        in: path
        name: user_id
        description: 'The ID of the user.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/users/{user_id}/notes/{id}':
    get:
      summary: 'Display the specified user note.'
      operationId: displayTheSpecifiedUserNote
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: 'Update the specified user note.'
      operationId: updateTheSpecifiedUserNote
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                note:
                  type: string
                  description: 'Must not be greater than 65535 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: true
    delete:
      summary: 'Remove the specified user note.'
      operationId: removeTheSpecifiedUserNote
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: user_id
        description: 'The ID of the user.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: id
        description: 'The ID of the note.'
        example: 17
        required: true
        schema:
          type: integer
  '/api/users/{user_id}/profile-change-requests':
    get:
      summary: 'Display a paginated listing of profile change requests for a user.'
      operationId: displayAPaginatedListingOfProfileChangeRequestsForAUser
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: 'Store a newly created profile change request.'
      operationId: storeANewlyCreatedProfileChangeRequest
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                requested_changes:
                  type: object
                  description: 'Must have at least 1 items.'
                  example: []
                  nullable: false
                  properties:
                    name:
                      type: string
                      description: 'Must not be greater than 255 characters.'
                      example: vmqeopfuudtdsufvyvddq
                      nullable: false
                    email:
                      type: string
                      description: 'Must be a valid email address. Must not be greater than 255 characters.'
                      example: kunde.eloisa@example.com
                      nullable: false
                    legal_first_name:
                      type: string
                      description: 'Must not be greater than 255 characters.'
                      example: hfqcoynlazghdtqtqxbaj
                      nullable: false
                    legal_last_name:
                      type: string
                      description: 'Must not be greater than 255 characters.'
                      example: wbpilpmufinllwloauydl
                      nullable: false
                    preferred_first_name:
                      type: string
                      description: 'Must not be greater than 255 characters.'
                      example: smsjuryvojcybzvrbyick
                      nullable: true
                    preferred_last_name:
                      type: string
                      description: 'Must not be greater than 255 characters.'
                      example: znkygloigmkwxphlvazjr
                      nullable: true
                    date_of_birth:
                      type: string
                      description: 'Must be a valid date.'
                      example: '2026-05-14T17:42:31'
                      nullable: true
                    salutation:
                      type: string
                      description: 'Must not be greater than 50 characters.'
                      example: cnfbaqywuxhgjjmzuxjub
                      nullable: true
                    status:
                      type: string
                      description: ''
                      example: consequatur
                      nullable: true
                      enum:
                        - setup
                        - pending
                        - training
                        - active
                        - clinical_hold
                        - standby
                        - deactivated
                    mentor_id:
                      type: integer
                      description: 'The <code>id</code> of an existing record in the users table.'
                      example: 17
                      nullable: true
                    roles:
                      type: array
                      description: ''
                      example: null
                      items:
                        type: object
                        properties:
                          id:
                            type: integer
                            description: 'The <code>id</code> of an existing record in the roles table.'
                            example: 17
                            nullable: false
                        required:
                          - id
                    emails:
                      type: array
                      description: 'Must have at least 1 items.'
                      example: null
                      items:
                        type: object
                        properties:
                          address:
                            type: string
                            description: 'Must be a valid email address. Must not be greater than 255 characters.'
                            example: mqeopfuudtdsufvyvddqa
                            nullable: false
                          type:
                            type: string
                            description: ''
                            example: secondary
                            nullable: false
                            enum:
                              - main
                              - personal
                              - work
                              - secondary
                        required:
                          - address
                          - type
                    phones:
                      type: array
                      description: 'Must have at least 1 items.'
                      example: null
                      items:
                        type: object
                        properties:
                          number:
                            type: string
                            description: 'Must not be greater than 20 characters.'
                            example: mniihfqcoynlazghd
                            nullable: false
                          sms:
                            type: boolean
                            description: ''
                            example: true
                            nullable: false
                          type:
                            type: string
                            description: ''
                            example: mobile
                            nullable: false
                            enum:
                              - main
                              - home
                              - work
                              - mobile
                        required:
                          - number
                          - type
                    addresses:
                      type: array
                      description: 'Must have at least 1 items.'
                      example: null
                      items:
                        type: object
                        properties:
                          line_1:
                            type: string
                            description: 'Must not be greater than 255 characters.'
                            example: tqtqxbajwbpilpmufinll
                            nullable: false
                          line_2:
                            type: string
                            description: 'Must not be greater than 255 characters.'
                            example: wloauydlsmsjuryvojcyb
                            nullable: true
                          city:
                            type: string
                            description: 'Must not be greater than 255 characters.'
                            example: zvrbyickznkygloigmkwx
                            nullable: false
                          state:
                            type: string
                            description: 'Must not be greater than 255 characters.'
                            example: phlvazjrcnfbaqywuxhgj
                            nullable: false
                          zip:
                            type: string
                            description: 'Must not be greater than 20 characters.'
                            example: jmzuxjubqouzswiwx
                            nullable: false
                          county_name:
                            type: string
                            description: 'Must not be greater than 255 characters.'
                            example: trkimfcatbxspzmrazsro
                            nullable: true
                          is_primary:
                            type: boolean
                            description: ''
                            example: false
                            nullable: false
                          type:
                            type: string
                            description: ''
                            example: shipping
                            nullable: false
                            enum:
                              - home
                              - work
                              - billing
                              - shipping
                        required:
                          - line_1
                          - city
                          - state
                          - zip
                          - type
                    professional_designations:
                      type: array
                      description: ''
                      example: null
                      items:
                        type: string
              required:
                - requested_changes
    parameters:
      -
        in: path
        name: user_id
        description: 'The ID of the user.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/users/{user_id}/profile-change-requests/{profileChangeRequest_id}':
    get:
      summary: 'Display the specified profile change request.'
      operationId: displayTheSpecifiedProfileChangeRequest
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: user_id
        description: 'The ID of the user.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: profileChangeRequest_id
        description: 'The ID of the profileChangeRequest.'
        example: 1
        required: true
        schema:
          type: integer
  /api/profile-change-requests:
    get:
      summary: 'Display a paginated listing of all profile change requests.'
      operationId: displayAPaginatedListingOfAllProfileChangeRequests
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                status:
                  type: string
                  description: ''
                  example: approved
                  nullable: false
                  enum:
                    - pending
                    - approved
                    - denied
                    - cancelled
                user_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: 17
                  nullable: false
                requester_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: 17
                  nullable: false
                reviewer_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: 17
                  nullable: false
                created_from:
                  type: string
                  description: 'Must be a valid date. Must be a valid date in the format <code>Y-m-d</code>.'
                  example: '2026-05-14'
                  nullable: false
                created_to:
                  type: string
                  description: 'Must be a valid date. Must be a valid date in the format <code>Y-m-d</code>. Must be a date after or equal to <code>created_from</code>.'
                  example: '2107-06-13'
                  nullable: false
                sort_by:
                  type: string
                  description: ''
                  example: status
                  nullable: false
                  enum:
                    - created_at
                    - updated_at
                    - status
                sort_order:
                  type: string
                  description: ''
                  example: desc
                  nullable: false
                  enum:
                    - asc
                    - desc
                per_page:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 13
                  nullable: false
                page:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 56
                  nullable: false
                limit:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 5
                  nullable: false
                offset:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 50
                  nullable: false
  '/api/profile-change-requests/{profileChangeRequest_id}':
    get:
      summary: 'Display the specified profile change request by ID.'
      operationId: displayTheSpecifiedProfileChangeRequestByID
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: profileChangeRequest_id
        description: 'The ID of the profileChangeRequest.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/profile-change-requests/{profileChangeRequest_id}/approve':
    patch:
      summary: 'Approve a profile change request.'
      operationId: approveAProfileChangeRequest
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                reviewer_notes:
                  type: string
                  description: 'Must not be greater than 1000 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: true
    parameters:
      -
        in: path
        name: profileChangeRequest_id
        description: 'The ID of the profileChangeRequest.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/profile-change-requests/{profileChangeRequest_id}/cancel':
    patch:
      summary: 'Cancel a profile change request.'
      operationId: cancelAProfileChangeRequest
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: profileChangeRequest_id
        description: 'The ID of the profileChangeRequest.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/profile-change-requests/{profileChangeRequest_id}/deny':
    patch:
      summary: 'Deny a profile change request.'
      operationId: denyAProfileChangeRequest
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                reviewer_notes:
                  type: string
                  description: 'Must not be greater than 1000 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: true
    parameters:
      -
        in: path
        name: profileChangeRequest_id
        description: 'The ID of the profileChangeRequest.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/users/{user_id}/document-change-requests':
    get:
      summary: 'Display a listing of document change requests for a user.'
      operationId: displayAListingOfDocumentChangeRequestsForAUser
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: 'Store a newly created document change request.'
      operationId: storeANewlyCreatedDocumentChangeRequest
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                action_type:
                  type: string
                  description: ''
                  example: update
                  nullable: false
                  enum:
                    - create
                    - update
                    - delete
                document_id:
                  type: integer
                  description: 'This field is required when <code>action_type</code> is <code>update</code> or <code>delete</code>. The <code>id</code> of an existing record in the documents table.'
                  example: 17
                  nullable: true
                file:
                  type: string
                  format: binary
                  description: 'This field is required when <code>action_type</code> is <code>create</code>. Must be a file. Must not be greater than 10240 kilobytes.'
                  nullable: false
                requested_changes:
                  type: object
                  description: 'This field is required when <code>action_type</code> is <code>create</code> or <code>update</code>.'
                  example: null
                  nullable: false
                  properties:
                    title:
                      type: string
                      description: 'Must not be greater than 255 characters.'
                      example: mqeopfuudtdsufvyvddqa
                      nullable: false
                    document_label:
                      type: string
                      description: 'Must not be greater than 255 characters.'
                      example: mniihfqcoynlazghdtqtq
                      nullable: false
                    document_type:
                      type: string
                      description: 'Must not be greater than 100 characters.'
                      example: xbajwbpilpmufinllwloa
                      nullable: false
                    state:
                      type: string
                      description: 'Must not be greater than 50 characters.'
                      example: uydlsmsjuryvojcybzvrb
                      nullable: true
                    expiration_date:
                      type: string
                      description: 'Must be a valid date.'
                      example: '2026-05-14T17:42:31'
                      nullable: true
                    description:
                      type: string
                      description: ''
                      example: 'Dolores dolorum amet iste laborum eius est dolor.'
                      nullable: true
              required:
                - action_type
    parameters:
      -
        in: path
        name: user_id
        description: 'The ID of the user.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/users/{user_id}/document-change-requests/{documentChangeRequest_id}':
    get:
      summary: 'Display the specified document change request.'
      operationId: displayTheSpecifiedDocumentChangeRequest
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: 'Update the specified document change request.'
      operationId: updateTheSpecifiedDocumentChangeRequest
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                action_type:
                  type: string
                  description: ''
                  example: create
                  nullable: false
                  enum:
                    - create
                    - update
                    - delete
                file:
                  type: string
                  format: binary
                  description: 'Must be a file. Must not be greater than 10240 kilobytes.'
                  nullable: false
                requested_changes:
                  type: object
                  description: ''
                  example: null
                  nullable: false
                  properties:
                    title:
                      type: string
                      description: 'Must not be greater than 255 characters.'
                      example: vmqeopfuudtdsufvyvddq
                      nullable: false
                    document_label:
                      type: string
                      description: 'Must not be greater than 255 characters.'
                      example: amniihfqcoynlazghdtqt
                      nullable: false
                    document_type:
                      type: string
                      description: 'Must not be greater than 100 characters.'
                      example: qxbajwbpilpmufinllwlo
                      nullable: false
                    state:
                      type: string
                      description: 'Must not be greater than 50 characters.'
                      example: auydlsmsjuryvojcybzvr
                      nullable: true
                    expiration_date:
                      type: string
                      description: 'Must be a valid date.'
                      example: '2026-05-14T17:42:31'
                      nullable: true
                    description:
                      type: string
                      description: ''
                      example: 'Dolores dolorum amet iste laborum eius est dolor.'
                      nullable: true
    delete:
      summary: 'Remove the specified document change request.'
      operationId: removeTheSpecifiedDocumentChangeRequest
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: user_id
        description: 'The ID of the user.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: documentChangeRequest_id
        description: 'The ID of the documentChangeRequest.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/users/{user_id}/blackouts':
    get:
      summary: 'Return all blackout/unavailability dates for a specific user.'
      operationId: returnAllBlackoutunavailabilityDatesForASpecificUser
      description: 'Used by the Clinician Profile tab to display unavailability.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: user_id
        description: 'The ID of the user.'
        example: 1
        required: true
        schema:
          type: integer
  /api/document-change-requests:
    get:
      summary: 'Display a paginated listing of all document change requests.'
      operationId: displayAPaginatedListingOfAllDocumentChangeRequests
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                status:
                  type: string
                  description: ''
                  example: denied
                  nullable: false
                  enum:
                    - pending
                    - approved
                    - denied
                    - cancelled
                request_type:
                  type: string
                  description: ''
                  example: update
                  nullable: false
                  enum:
                    - create
                    - update
                    - delete
                user_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: 17
                  nullable: false
                requested_by:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: 17
                  nullable: false
                reviewed_by:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: 17
                  nullable: false
                document_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the documents table.'
                  example: 17
                  nullable: false
                created_from:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:31'
                  nullable: false
                created_to:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:31'
                  nullable: false
                sort_by:
                  type: string
                  description: ''
                  example: request_type
                  nullable: false
                  enum:
                    - created_at
                    - updated_at
                    - status
                    - request_type
                sort_order:
                  type: string
                  description: ''
                  example: desc
                  nullable: false
                  enum:
                    - asc
                    - desc
                per_page:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 13
                  nullable: false
  '/api/document-change-requests/{documentChangeRequest_id}':
    get:
      summary: 'Display the specified document change request by ID.'
      operationId: displayTheSpecifiedDocumentChangeRequestByID
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: documentChangeRequest_id
        description: 'The ID of the documentChangeRequest.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/document-change-requests/{documentChangeRequest_id}/approve':
    patch:
      summary: 'Approve a document change request.'
      operationId: approveADocumentChangeRequest
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                reviewer_notes:
                  type: string
                  description: 'Must not be greater than 1000 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: true
    parameters:
      -
        in: path
        name: documentChangeRequest_id
        description: 'The ID of the documentChangeRequest.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/document-change-requests/{documentChangeRequest_id}/deny':
    patch:
      summary: 'Deny a document change request.'
      operationId: denyADocumentChangeRequest
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                denial_reason:
                  type: string
                  description: 'Must be at least 10 characters. Must not be greater than 1000 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                reviewer_notes:
                  type: string
                  description: 'Must not be greater than 1000 characters.'
                  example: amniihfqcoynlazghdtqt
                  nullable: true
              required:
                - denial_reason
    parameters:
      -
        in: path
        name: documentChangeRequest_id
        description: 'The ID of the documentChangeRequest.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/document-change-requests/{documentChangeRequest_id}/cancel':
    patch:
      summary: 'Cancel a document change request.'
      operationId: cancelADocumentChangeRequest
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: documentChangeRequest_id
        description: 'The ID of the documentChangeRequest.'
        example: 1
        required: true
        schema:
          type: integer
  /api/roles:
    get:
      summary: ''
      operationId: getApiRoles
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: ''
      operationId: postApiRoles
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                description:
                  type: string
                  description: ''
                  example: 'Dolores dolorum amet iste laborum eius est dolor.'
                  nullable: true
                user_type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                  enum:
                    - Clinical
                    - 'Client Services'
                    - Finance
                    - 'Human Resources'
                    - Engineering
                    - 'Executive Suite'
                    - Client
                permissions:
                  type: array
                  description: ''
                  example:
                    - 17
                  items:
                    type: integer
                permission_groups:
                  type: array
                  description: ''
                  example:
                    - 17
                  items:
                    type: integer
                api_id:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                persona_abbreviation:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                persona_type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                is_capability:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
                is_specialty:
                  type: boolean
                  description: ''
                  example: false
                  nullable: false
                case_assignment:
                  type: boolean
                  description: ''
                  example: false
                  nullable: false
                bypasses_document_approval:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
                visibility_scope:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                notes:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
              required:
                - name
                - user_type
  /api/roles/capabilities:
    get:
      summary: ''
      operationId: getApiRolesCapabilities
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                search:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: true
                sort_by:
                  type: string
                  description: ''
                  example: last_updated_by
                  nullable: true
                  enum:
                    - name
                    - domain
                    - last_updated_at
                    - last_updated_by
                sort_order:
                  type: string
                  description: ''
                  example: asc
                  nullable: true
                  enum:
                    - asc
                    - desc
                page:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 2
                  nullable: true
                per_page:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 13
                  nullable: true
    post:
      summary: ''
      operationId: postApiRolesCapabilities
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                description:
                  type: string
                  description: 'Must not be greater than 2000 characters.'
                  example: 'Dolores molestias ipsam sit.'
                  nullable: true
                domains:
                  type: array
                  description: ''
                  example:
                    - Engineering
                  items:
                    type: string
                    enum:
                      - Clinical
                      - 'Client Services'
                      - Finance
                      - 'Human Resources'
                      - Engineering
                      - 'Executive Suite'
                      - Client
                permissions:
                  type: array
                  description: 'The <code>id</code> of an existing record in the permissions table.'
                  example:
                    - 17
                  items:
                    type: integer
              required:
                - name
                - domains
  '/api/roles/capabilities/{id}':
    get:
      summary: ''
      operationId: getApiRolesCapabilitiesId
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiRolesCapabilitiesId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                version:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 73
                  nullable: false
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: mqeopfuudtdsufvyvddqa
                  nullable: false
                description:
                  type: string
                  description: 'Must not be greater than 2000 characters.'
                  example: 'Molestias ipsam sit veniam sed fuga aspernatur.'
                  nullable: true
                domains:
                  type: array
                  description: ''
                  example:
                    - Client
                  items:
                    type: string
                    enum:
                      - Clinical
                      - 'Client Services'
                      - Finance
                      - 'Human Resources'
                      - Engineering
                      - 'Executive Suite'
                      - Client
                permissions:
                  type: array
                  description: 'The <code>id</code> of an existing record in the permissions table.'
                  example:
                    - 17
                  items:
                    type: integer
              required:
                - version
                - name
                - domains
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the capability.'
        example: 24
        required: true
        schema:
          type: integer
  '/api/roles/capabilities/{capability_id}':
    delete:
      summary: ''
      operationId: deleteApiRolesCapabilitiesCapability_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: capability_id
        description: 'The ID of the capability.'
        example: 24
        required: true
        schema:
          type: integer
  /api/roles/domains:
    get:
      summary: ''
      operationId: getApiRolesDomains
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  /api/roles/grouped-by-domain:
    get:
      summary: ''
      operationId: getApiRolesGroupedByDomain
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  '/api/roles/{id}':
    get:
      summary: ''
      operationId: getApiRolesId
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiRolesId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                version:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 73
                  nullable: false
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: mqeopfuudtdsufvyvddqa
                  nullable: false
                description:
                  type: string
                  description: ''
                  example: 'Dolores dolorum amet iste laborum eius est dolor.'
                  nullable: true
                user_type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                  enum:
                    - Clinical
                    - 'Client Services'
                    - Finance
                    - 'Human Resources'
                    - Engineering
                    - 'Executive Suite'
                    - Client
                permissions:
                  type: array
                  description: ''
                  example:
                    - 17
                  items:
                    type: integer
                permission_groups:
                  type: array
                  description: ''
                  example:
                    - 17
                  items:
                    type: integer
                api_id:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                persona_abbreviation:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                persona_type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                is_capability:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
                is_specialty:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
                case_assignment:
                  type: boolean
                  description: ''
                  example: false
                  nullable: false
                bypasses_document_approval:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
                visibility_scope:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                notes:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
              required:
                - version
    delete:
      summary: ''
      operationId: deleteApiRolesId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the role.'
        example: 24
        required: true
        schema:
          type: integer
  '/api/roles/{role_id}/users':
    get:
      summary: 'Get all users assigned to a role.'
      operationId: getAllUsersAssignedToARole
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: role_id
        description: 'The ID of the role.'
        example: 24
        required: true
        schema:
          type: integer
  '/api/roles/{role_id}/expense-types':
    get:
      summary: ''
      operationId: getApiRolesRole_idExpenseTypes
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: ''
      operationId: postApiRolesRole_idExpenseTypes
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expense_type_codes:
                  type: array
                  description: 'The <code>code</code> of an existing record in the expense_types table.'
                  example:
                    - consequatur
                  items:
                    type: string
              required:
                - expense_type_codes
    patch:
      summary: ''
      operationId: patchApiRolesRole_idExpenseTypes
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expense_type_codes:
                  type: array
                  description: 'The <code>code</code> of an existing record in the expense_types table.'
                  example:
                    - consequatur
                  items:
                    type: string
              required:
                - expense_type_codes
    delete:
      summary: ''
      operationId: deleteApiRolesRole_idExpenseTypes
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expense_type_codes:
                  type: array
                  description: 'The <code>code</code> of an existing record in the expense_types table.'
                  example:
                    - consequatur
                  items:
                    type: string
              required:
                - expense_type_codes
    parameters:
      -
        in: path
        name: role_id
        description: 'The ID of the role.'
        example: 24
        required: true
        schema:
          type: integer
  /api/permissions:
    get:
      summary: ''
      operationId: getApiPermissions
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  /api/permissions/grouped-by-group:
    get:
      summary: 'Get permissions grouped by module and subgroup.'
      operationId: getPermissionsGroupedByModuleAndSubgroup
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  '/api/permissions/{id}':
    get:
      summary: ''
      operationId: getApiPermissionsId
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the permission.'
        example: 1
        required: true
        schema:
          type: integer
  /api/permission-groups:
    get:
      summary: ''
      operationId: getApiPermissionGroups
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  '/api/permission-groups/{permissionGroup_id}':
    get:
      summary: ''
      operationId: getApiPermissionGroupsPermissionGroup_id
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: permissionGroup_id
        description: 'The ID of the permissionGroup.'
        example: 202
        required: true
        schema:
          type: integer
  /api/lines-of-business:
    get:
      summary: 'Display a listing of the resource.'
      operationId: displayAListingOfTheResource
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: 'Show the form for creating a new resource.'
      operationId: showTheFormForCreatingANewResource
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                description:
                  type: string
                  description: ''
                  example: 'Dolores dolorum amet iste laborum eius est dolor.'
                  nullable: false
                slug:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                is_active:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
                has_tat:
                  type: boolean
                  description: ''
                  example: false
                  nullable: false
                has_tat_default:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
                client_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the clients table.'
                  example: 17
                  nullable: false
              required:
                - name
                - description
                - client_id
  '/api/lines-of-business/{linesOfBusiness_id}':
    get:
      summary: 'Display the specified resource.'
      operationId: displayTheSpecifiedResource
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: 'Show the form for editing the specified resource.'
      operationId: showTheFormForEditingTheSpecifiedResource
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                description:
                  type: string
                  description: ''
                  example: 'Dolores dolorum amet iste laborum eius est dolor.'
                  nullable: false
                slug:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                is_active:
                  type: boolean
                  description: ''
                  example: false
                  nullable: false
                has_tat:
                  type: boolean
                  description: ''
                  example: false
                  nullable: false
                has_tat_default:
                  type: boolean
                  description: ''
                  example: false
                  nullable: false
                client_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the clients table.'
                  example: 17
                  nullable: false
    delete:
      summary: 'Remove the specified resource from storage.'
      operationId: removeTheSpecifiedResourceFromStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: linesOfBusiness_id
        description: 'The ID of the linesOfBusiness.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/lines-of-business/by-client/{client_id}':
    get:
      summary: ''
      operationId: getApiLinesOfBusinessByClientClient_id
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: client_id
        description: 'The ID of the client.'
        example: 1
        required: true
        schema:
          type: integer
  /api/banners:
    get:
      summary: ''
      operationId: getApiBanners
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                audience:
                  type: string
                  description: 'Must not be one of <code>site</code>.'
                  example: client
                  nullable: false
                  enum:
                    - client
                    - clinician
                    - site
                search:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                page:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 45
                  nullable: true
                perPage:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 16
                  nullable: true
                sortBy:
                  type: string
                  description: ''
                  example: title
                  nullable: true
                  enum:
                    - createdAt
                    - title
                    - type
                    - updatedAt
                sortOrder:
                  type: string
                  description: ''
                  example: desc
                  nullable: true
                  enum:
                    - asc
                    - desc
                per_page:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 5
                  nullable: true
                sort_by:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                sort_order:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
              required:
                - audience
    post:
      summary: ''
      operationId: postApiBanners
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                messageBody:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                type:
                  type: string
                  description: ''
                  example: warning
                  nullable: false
                  enum:
                    - warning
                    - info
                    - urgent
                audience:
                  type: string
                  description: 'Must not be one of <code>site</code>.'
                  example: clinician
                  nullable: false
                  enum:
                    - client
                    - clinician
                    - site
                isActive:
                  type: boolean
                  description: ''
                  example: false
                  nullable: false
                isDismissable:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
              required:
                - title
                - messageBody
                - type
                - audience
                - isActive
                - isDismissable
  '/api/banners/{id}':
    get:
      summary: ''
      operationId: getApiBannersId
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiBannersId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                messageBody:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                type:
                  type: string
                  description: ''
                  example: warning
                  nullable: false
                  enum:
                    - warning
                    - info
                    - urgent
                audience:
                  type: string
                  description: 'Must not be one of <code>site</code>.'
                  example: site
                  nullable: false
                  enum:
                    - client
                    - clinician
                    - site
                isActive:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
                isDismissable:
                  type: boolean
                  description: ''
                  example: false
                  nullable: false
    delete:
      summary: ''
      operationId: deleteApiBannersId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the banner.'
        example: 17
        required: true
        schema:
          type: integer
  /api/admin/banners/site:
    get:
      summary: ''
      operationId: getApiAdminBannersSite
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  '/api/admin/banners/site/{siteBanner_id}':
    put:
      summary: ''
      operationId: putApiAdminBannersSiteSiteBanner_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                body:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                type:
                  type: string
                  description: ''
                  example: warning
                  nullable: false
                  enum:
                    - warning
                    - info
                    - urgent
                active:
                  type: boolean
                  description: ''
                  example: false
                  nullable: false
                dismissable:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
              required:
                - title
                - body
                - type
    parameters:
      -
        in: path
        name: siteBanner_id
        description: 'The ID of the siteBanner.'
        example: 17
        required: true
        schema:
          type: integer
  /api/global-settings:
    get:
      summary: ''
      operationId: getApiGlobalSettings
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiGlobalSettings
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                system_settings:
                  type: object
                  description: ''
                  example: null
                  nullable: false
                  properties:
                    timeout_period:
                      type: integer
                      description: 'Must be at least 1.'
                      example: 73
                      nullable: false
                    disable_credentials_after_inactive_days:
                      type: integer
                      description: 'Must be at least 1.'
                      example: 45
                      nullable: false
                    invitation_email_expiry_hours:
                      type: integer
                      description: 'Must be at least 1.'
                      example: 56
                      nullable: false
                clinician_settings:
                  type: object
                  description: ''
                  example: null
                  nullable: false
                  properties:
                    deactivate_clinician_no_assessment_days:
                      type: integer
                      description: 'Must be at least 1.'
                      example: 17
                      nullable: true
  /api/clinical-criteria:
    get:
      summary: ''
      operationId: getApiClinicalCriteria
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                search:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: true
    post:
      summary: ''
      operationId: postApiClinicalCriteria
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                description:
                  type: string
                  description: ''
                  example: 'Dolores dolorum amet iste laborum eius est dolor.'
                  nullable: false
              required:
                - title
                - description
  '/api/clinical-criteria/{clinicalCriteria_id}':
    get:
      summary: ''
      operationId: getApiClinicalCriteriaClinicalCriteria_id
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiClinicalCriteriaClinicalCriteria_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                description:
                  type: string
                  description: ''
                  example: 'Dolores dolorum amet iste laborum eius est dolor.'
                  nullable: false
                is_active:
                  type: boolean
                  description: ''
                  example: false
                  nullable: false
              required:
                - title
                - description
    delete:
      summary: ''
      operationId: deleteApiClinicalCriteriaClinicalCriteria_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: clinicalCriteria_id
        description: 'The ID of the clinicalCriteria.'
        example: 17
        required: true
        schema:
          type: integer
  /api/default-email-templates:
    get:
      summary: ''
      operationId: getApiDefaultEmailTemplates
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  '/api/default-email-templates/{defaultEmailTemplate_id}':
    get:
      summary: ''
      operationId: getApiDefaultEmailTemplatesDefaultEmailTemplate_id
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiDefaultEmailTemplatesDefaultEmailTemplate_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                subject:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                body:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
              required:
                - subject
                - body
    delete:
      summary: ''
      operationId: deleteApiDefaultEmailTemplatesDefaultEmailTemplate_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: defaultEmailTemplate_id
        description: 'The ID of the defaultEmailTemplate.'
        example: 17
        required: true
        schema:
          type: integer
  '/api/default-email-templates/{defaultEmailTemplate_id}/reset':
    post:
      summary: ''
      operationId: postApiDefaultEmailTemplatesDefaultEmailTemplate_idReset
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: defaultEmailTemplate_id
        description: 'The ID of the defaultEmailTemplate.'
        example: 17
        required: true
        schema:
          type: integer
  /api/system-rules:
    get:
      summary: ''
      operationId: getApiSystemRules
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                query:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                rule_family:
                  type: string
                  description: 'Must not be greater than 100 characters.'
                  example: mqeopfuudtdsufvyvddqa
                  nullable: true
                status:
                  type: string
                  description: ''
                  example: draft
                  nullable: true
                  enum:
                    - draft
                    - active
                    - inactive
                page:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 45
                  nullable: true
                per_page:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 13
                  nullable: true
                sort_by:
                  type: string
                  description: ''
                  example: rule_family
                  nullable: true
                  enum:
                    - priority
                    - rule_family
                    - status
                    - title
                    - updated_at
                sort_order:
                  type: string
                  description: ''
                  example: desc
                  nullable: true
                  enum:
                    - asc
                    - desc
    post:
      summary: ''
      operationId: postApiSystemRules
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                rule_family:
                  type: string
                  description: 'Must not be greater than 100 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                title:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: amniihfqcoynlazghdtqt
                  nullable: false
                status:
                  type: string
                  description: ''
                  example: draft
                  nullable: false
                  enum:
                    - draft
                    - active
                    - inactive
                priority:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 56
                  nullable: false
                conditions:
                  type: array
                  description: 'Must have at least 1 items.'
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      field:
                        type: string
                        description: 'Must not be greater than 100 characters.'
                        example: vmqeopfuudtdsufvyvddq
                        nullable: false
                      operator:
                        type: string
                        description: 'Must not be greater than 50 characters.'
                        example: amniihfqcoynlazghdtqt
                        nullable: false
                      value:
                        type: string
                        description: ''
                        example: null
                        nullable: false
                      boolean:
                        type: string
                        description: ''
                        example: or
                        nullable: false
                        enum:
                          - and
                          - or
                      source:
                        type: string
                        description: 'Must not be greater than 100 characters.'
                        example: qxbajwbpilpmufinllwlo
                        nullable: true
                      path:
                        type: string
                        description: 'Must not be greater than 255 characters.'
                        example: auydlsmsjuryvojcybzvr
                        nullable: true
                    required:
                      - field
                      - operator
                actions:
                  type: array
                  description: 'Must have at least 1 items.'
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: 'Must not be greater than 100 characters.'
                        example: byickznkygloigmkwxphl
                        nullable: false
                      params:
                        type: object
                        description: ''
                        example: null
                        nullable: false
                        properties: {  }
                    required:
                      - type
              required:
                - rule_family
                - title
                - conditions
                - actions
  '/api/system-rules/{systemRule_id}/duplicate':
    post:
      summary: ''
      operationId: postApiSystemRulesSystemRule_idDuplicate
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: systemRule_id
        description: 'The ID of the systemRule.'
        example: 17
        required: true
        schema:
          type: integer
  '/api/system-rules/{systemRule_id}':
    get:
      summary: ''
      operationId: getApiSystemRulesSystemRule_id
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiSystemRulesSystemRule_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                rule_family:
                  type: string
                  description: 'Must not be greater than 100 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                title:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: amniihfqcoynlazghdtqt
                  nullable: false
                status:
                  type: string
                  description: ''
                  example: active
                  nullable: false
                  enum:
                    - draft
                    - active
                    - inactive
                priority:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 56
                  nullable: false
                conditions:
                  type: array
                  description: 'Must have at least 1 items.'
                  example: null
                  items:
                    type: object
                    properties:
                      field:
                        type: string
                        description: 'This field is required when <code>conditions</code> is present. Must not be greater than 100 characters.'
                        example: bajwbpilpmufinllwloau
                        nullable: false
                      operator:
                        type: string
                        description: 'This field is required when <code>conditions</code> is present. Must not be greater than 50 characters.'
                        example: ydlsmsjuryvojcybzvrby
                        nullable: false
                      value:
                        type: string
                        description: ''
                        example: null
                        nullable: false
                      boolean:
                        type: string
                        description: ''
                        example: or
                        nullable: false
                        enum:
                          - and
                          - or
                      source:
                        type: string
                        description: 'Must not be greater than 100 characters.'
                        example: ickznkygloigmkwxphlva
                        nullable: true
                      path:
                        type: string
                        description: 'Must not be greater than 255 characters.'
                        example: zjrcnfbaqywuxhgjjmzux
                        nullable: true
                actions:
                  type: array
                  description: 'Must have at least 1 items.'
                  example: null
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: 'This field is required when <code>actions</code> is present. Must not be greater than 100 characters.'
                        example: jubqouzswiwxtrkimfcat
                        nullable: false
                      params:
                        type: object
                        description: ''
                        example: null
                        nullable: false
                        properties: {  }
                version:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 81
                  nullable: false
              required:
                - version
    delete:
      summary: ''
      operationId: deleteApiSystemRulesSystemRule_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: systemRule_id
        description: 'The ID of the systemRule.'
        example: 17
        required: true
        schema:
          type: integer
  /api/alert-templates/available-tags:
    get:
      summary: ''
      operationId: getApiAlertTemplatesAvailableTags
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                message_type:
                  type: string
                  description: ''
                  example: tls_secure
                  nullable: false
                  enum:
                    - default
                    - tls_secure
              required:
                - message_type
  /api/alert-templates:
    get:
      summary: ''
      operationId: getApiAlertTemplates
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                filters:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties:
                    logic:
                      type: string
                      description: 'This field is required when <code>filters</code> is present.'
                      example: AND
                      nullable: false
                      enum:
                        - AND
                        - OR
                    conditions:
                      type: object
                      description: 'This field is required when <code>filters</code> is present. Must have at least 1 items.'
                      example: null
                      nullable: false
                      properties: {  }
                search:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                page:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 45
                  nullable: true
                per_page:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 16
                  nullable: true
    post:
      summary: ''
      operationId: postApiAlertTemplates
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  description: 'Must match the regex /\S/. Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                default_message:
                  type: string
                  description: 'Must not be greater than 65535 characters.'
                  example: amniihfqcoynlazghdtqt
                  nullable: true
                tls_secure_message:
                  type: string
                  description: 'Must not be greater than 65535 characters.'
                  example: qxbajwbpilpmufinllwlo
                  nullable: true
              required:
                - title
  /api/alert-templates/search:
    post:
      summary: ''
      operationId: postApiAlertTemplatesSearch
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                filters:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties:
                    logic:
                      type: string
                      description: 'This field is required when <code>filters</code> is present.'
                      example: OR
                      nullable: false
                      enum:
                        - AND
                        - OR
                    conditions:
                      type: object
                      description: 'This field is required when <code>filters</code> is present. Must have at least 1 items.'
                      example: null
                      nullable: false
                      properties: {  }
                search:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                page:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 45
                  nullable: true
                per_page:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 16
                  nullable: true
  '/api/alert-templates/{alertTemplate_id}/render':
    post:
      summary: ''
      operationId: postApiAlertTemplatesAlertTemplate_idRender
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                message_type:
                  type: string
                  description: ''
                  example: default
                  nullable: false
                  enum:
                    - default
                    - tls_secure
                output_format:
                  type: string
                  description: ''
                  example: html
                  nullable: false
                  enum:
                    - html
                    - pdf
                reference_id:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
              required:
                - message_type
                - output_format
                - reference_id
    parameters:
      -
        in: path
        name: alertTemplate_id
        description: 'The ID of the alertTemplate.'
        example: 17
        required: true
        schema:
          type: integer
  '/api/alert-templates/{alertTemplate_id}':
    get:
      summary: ''
      operationId: getApiAlertTemplatesAlertTemplate_id
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: alertTemplate_id
        description: 'The ID of the alertTemplate.'
        example: 17
        required: true
        schema:
          type: integer
  /api/admin/alert-templates:
    get:
      summary: ''
      operationId: getApiAdminAlertTemplates
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                filters:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties:
                    logic:
                      type: string
                      description: 'This field is required when <code>filters</code> is present.'
                      example: OR
                      nullable: false
                      enum:
                        - AND
                        - OR
                    conditions:
                      type: object
                      description: 'This field is required when <code>filters</code> is present. Must have at least 1 items.'
                      example: null
                      nullable: false
                      properties: {  }
                search:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                page:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 45
                  nullable: true
                per_page:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 16
                  nullable: true
  /api/admin/alert-templates/search:
    post:
      summary: ''
      operationId: postApiAdminAlertTemplatesSearch
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                filters:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties:
                    logic:
                      type: string
                      description: 'This field is required when <code>filters</code> is present.'
                      example: OR
                      nullable: false
                      enum:
                        - AND
                        - OR
                    conditions:
                      type: object
                      description: 'This field is required when <code>filters</code> is present. Must have at least 1 items.'
                      example: null
                      nullable: false
                      properties: {  }
                search:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                page:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 45
                  nullable: true
                per_page:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 16
                  nullable: true
  '/api/admin/alert-templates/{alertTemplate_id}/render':
    post:
      summary: ''
      operationId: postApiAdminAlertTemplatesAlertTemplate_idRender
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                message_type:
                  type: string
                  description: ''
                  example: default
                  nullable: false
                  enum:
                    - default
                    - tls_secure
                output_format:
                  type: string
                  description: ''
                  example: pdf
                  nullable: false
                  enum:
                    - html
                    - pdf
                reference_id:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
              required:
                - message_type
                - output_format
                - reference_id
    parameters:
      -
        in: path
        name: alertTemplate_id
        description: 'The ID of the alertTemplate.'
        example: 17
        required: true
        schema:
          type: integer
  '/api/admin/alert-templates/{alertTemplate_id}':
    get:
      summary: ''
      operationId: getApiAdminAlertTemplatesAlertTemplate_id
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: alertTemplate_id
        description: 'The ID of the alertTemplate.'
        example: 17
        required: true
        schema:
          type: integer
  /api/member-types:
    get:
      summary: 'Display a listing of the resource.'
      operationId: displayAListingOfTheResource
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                type:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                client_id:
                  type: integer
                  description: ''
                  example: 17
                  nullable: false
    post:
      summary: 'Show the form for creating a new resource.'
      operationId: showTheFormForCreatingANewResource
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                client_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the clients table.'
                  example: consequatur
                  nullable: false
              required:
                - type
                - client_id
  '/api/member-types/{memberType_id}':
    get:
      summary: 'Display the specified resource.'
      operationId: displayTheSpecifiedResource
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: 'Show the form for editing the specified resource.'
      operationId: showTheFormForEditingTheSpecifiedResource
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                client_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the clients table.'
                  example: null
                  nullable: false
    delete:
      summary: 'Remove the specified resource from storage.'
      operationId: removeTheSpecifiedResourceFromStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: memberType_id
        description: 'The ID of the memberType.'
        example: 1
        required: true
        schema:
          type: integer
  /api/activities:
    get:
      summary: ''
      operationId: getApiActivities
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                search:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                start_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                end_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                entity:
                  type: array
                  description: ''
                  example:
                    - consequatur
                  items:
                    type: string
                entity_id:
                  type: integer
                  description: ''
                  example: 17
                  nullable: true
                user_id:
                  type: integer
                  description: ''
                  example: 17
                  nullable: true
                causer_type_name:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                user_ids:
                  type: array
                  description: ''
                  example:
                    - 17
                  items:
                    type: integer
                page:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 45
                  nullable: true
                per_page:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 16
                  nullable: true
                sort_by:
                  type: string
                  description: ''
                  example: field
                  nullable: true
                  enum:
                    - change_date
                    - entity
                    - entity_id
                    - field
                    - user
                sort_order:
                  type: string
                  description: ''
                  example: asc
                  nullable: true
                  enum:
                    - asc
                    - desc
                subject_type_name:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                subject_id:
                  type: integer
                  description: ''
                  example: 17
                  nullable: true
                causer_id:
                  type: integer
                  description: ''
                  example: 17
                  nullable: true
                causer_ids:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                limit:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 13
                  nullable: true
                offset:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 56
                  nullable: true
  '/api/members/gryphon-activities/{member_id}':
    post:
      summary: ''
      operationId: postApiMembersGryphonActivitiesMember_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                message:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                priority:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                user:
                  type: object
                  description: ''
                  example: null
                  nullable: false
                  properties:
                    id:
                      type: integer
                      description: 'The <code>id</code> of an existing record in the users table.'
                      example: 17
                      nullable: false
                visibility:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                parent:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties:
                    id:
                      type: integer
                      description: 'The <code>id</code> of an existing record in the gryphon_activities table.'
                      example: 17
                      nullable: true
              required:
                - message
                - priority
                - visibility
    get:
      summary: ''
      operationId: getApiMembersGryphonActivitiesMember_id
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                search:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                start_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: false
                end_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: false
                created_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: false
                activity_type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                priority:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                visibility:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                user_id:
                  type: integer
                  description: ''
                  example: 17
                  nullable: false
                parent_id:
                  type: integer
                  description: ''
                  example: 17
                  nullable: false
                updated_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: false
                page:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 45
                  nullable: true
                per_page:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 16
                  nullable: true
                limit:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 5
                  nullable: true
                offset:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 50
                  nullable: true
                sort:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                order:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                people:
                  type: string
                  description: ''
                  example: null
                  nullable: false
    parameters:
      -
        in: path
        name: member_id
        description: 'The ID of the member.'
        example: 1
        required: true
        schema:
          type: integer
  /api/members:
    post:
      summary: ''
      operationId: postApiMembers
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: true
                first_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: amniihfqcoynlazghdtqt
                  nullable: false
                middle_initial:
                  type: string
                  description: 'Must not be greater than 1 character.'
                  example: q
                  nullable: true
                last_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: xbajwbpilpmufinllwloa
                  nullable: false
                ssn:
                  type: string
                  description: 'Must match the regex /^[0-9-]+$/.'
                  example: '2662'
                  nullable: true
                gender:
                  type: string
                  description: ''
                  example: other
                  nullable: true
                  enum:
                    - male
                    - female
                    - other
                language:
                  type: string
                  description: ''
                  example: Indonesian
                  nullable: true
                  enum:
                    - English
                    - Spanish
                    - French
                    - German
                    - Italian
                    - Portuguese
                    - Dutch
                    - Russian
                    - Japanese
                    - Chinese
                    - Korean
                    - Arabic
                    - Hindi
                    - Bengali
                    - Punjabi
                    - Urdu
                    - Turkish
                    - Vietnamese
                    - Thai
                    - Indonesian
                    - Filipino
                    - Malay
                    - Swahili
                    - Amharic
                    - Somali
                    - Yoruba
                    - Igbo
                    - Hausa
                    - Zulu
                    - Xhosa
                    - Afrikaans
                    - Other
                date_of_birth:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: false
                client:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    client:
                      type: object
                      description: ''
                      example: []
                      nullable: false
                      properties:
                        id:
                          type: string
                          description: 'The <code>id</code> of an existing record in the clients table.'
                          example: null
                          nullable: false
                    member_type:
                      type: object
                      description: ''
                      example: []
                      nullable: false
                      properties:
                        id:
                          type: string
                          description: 'The <code>id</code> of an existing record in the member_types table.'
                          example: null
                          nullable: false
                    lines_of_business:
                      type: object
                      description: ''
                      example: []
                      nullable: false
                      properties:
                        id:
                          type: string
                          description: 'The <code>id</code> of an existing record in the lines_of_businesses table.'
                          example: null
                          nullable: false
                    client_member_id:
                      type: string
                      description: 'Must not be greater than 255 characters.'
                      example: uudtdsufvyvddqamniihf
                      nullable: true
                safety_flag:
                  type: string
                  description: ''
                  example: aggressive_behavior
                  nullable: true
                  enum:
                    - aggressive_behavior
                    - aggressive_dog
                    - mental_health_issues
                    - other
                notes:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                emails:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: string
                    nullable: true
                addresses:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: string
                phones:
                  type: array
                  description: ''
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      number:
                        type: string
                        description: 'Must not be greater than 255 characters.'
                        example: mqeopfuudtdsufvyvddqa
                        nullable: false
                      type:
                        type: string
                        description: ''
                        example: main
                        nullable: false
                        enum:
                          - main
                          - home
                          - work
                          - mobile
                    required:
                      - number
              required:
                - first_name
                - last_name
                - date_of_birth
    get:
      summary: ''
      operationId: getApiMembers
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                search:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                client_id:
                  type: integer
                  description: ''
                  example: 17
                  nullable: false
                client_member_id:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                page:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 45
                  nullable: true
                per_page:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 16
                  nullable: true
                limit:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 5
                  nullable: true
                offset:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 50
                  nullable: true
                sort:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                order:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
  '/api/members/{id}':
    get:
      summary: ''
      operationId: getApiMembersId
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiMembersId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: true
                first_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: amniihfqcoynlazghdtqt
                  nullable: false
                middle_initial:
                  type: string
                  description: 'Must not be greater than 1 character.'
                  example: q
                  nullable: true
                last_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: xbajwbpilpmufinllwloa
                  nullable: false
                gender:
                  type: string
                  description: ''
                  example: other
                  nullable: false
                  enum:
                    - male
                    - female
                    - other
                ssn:
                  type: string
                  description: 'Must match the regex /^[0-9-]+$/.'
                  example: '2662'
                  nullable: true
                language:
                  type: string
                  description: ''
                  example: Vietnamese
                  nullable: false
                  enum:
                    - English
                    - Spanish
                    - French
                    - German
                    - Italian
                    - Portuguese
                    - Dutch
                    - Russian
                    - Japanese
                    - Chinese
                    - Korean
                    - Arabic
                    - Hindi
                    - Bengali
                    - Punjabi
                    - Urdu
                    - Turkish
                    - Vietnamese
                    - Thai
                    - Indonesian
                    - Filipino
                    - Malay
                    - Swahili
                    - Amharic
                    - Somali
                    - Yoruba
                    - Igbo
                    - Hausa
                    - Zulu
                    - Xhosa
                    - Afrikaans
                    - Other
                date_of_birth:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: false
                emails:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: string
                addresses:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: string
                phones:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      number:
                        type: string
                        description: 'Must not be greater than 255 characters.'
                        example: mqeopfuudtdsufvyvddqa
                        nullable: false
                      type:
                        type: string
                        description: ''
                        example: main
                        nullable: false
                        enum:
                          - main
                          - home
                          - work
                          - mobile
                client:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    client:
                      type: object
                      description: ''
                      example: []
                      nullable: false
                      properties:
                        id:
                          type: string
                          description: 'The <code>id</code> of an existing record in the clients table.'
                          example: null
                          nullable: false
                    member_type:
                      type: object
                      description: ''
                      example: []
                      nullable: false
                      properties:
                        id:
                          type: string
                          description: 'The <code>id</code> of an existing record in the member_types table.'
                          example: null
                          nullable: false
                    lines_of_business:
                      type: object
                      description: ''
                      example: []
                      nullable: false
                      properties:
                        id:
                          type: string
                          description: 'The <code>id</code> of an existing record in the lines_of_businesses table.'
                          example: null
                          nullable: false
                    client_member_id:
                      type: string
                      description: 'Must not be greater than 255 characters.'
                      example: uudtdsufvyvddqamniihf
                      nullable: true
                safety_flag:
                  type: string
                  description: ''
                  example: aggressive_dog
                  nullable: true
                  enum:
                    - aggressive_behavior
                    - aggressive_dog
                    - mental_health_issues
                    - other
                notes:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
              required:
                - first_name
                - last_name
                - date_of_birth
    delete:
      summary: ''
      operationId: deleteApiMembersId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the member.'
        example: 1
        required: true
        schema:
          type: integer
  /api/members/check-duplicates:
    post:
      summary: 'Check for duplicates against a member, based on received parameters'
      operationId: checkForDuplicatesAgainstAMemberBasedOnReceivedParameters
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                ssn:
                  type: string
                  description: 'Must not be greater than 11 characters.'
                  example: vmqeopfuu
                  nullable: true
                date_of_birth:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                first_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: dtdsufvyvddqamniihfqc
                  nullable: true
                last_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: oynlazghdtqtqxbajwbpi
                  nullable: true
  '/api/members/{member_id}/phones':
    post:
      summary: ''
      operationId: postApiMembersMember_idPhones
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                number:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                type:
                  type: string
                  description: ''
                  example: mobile
                  nullable: false
                  enum:
                    - main
                    - home
                    - work
                    - mobile
              required:
                - number
                - type
    parameters:
      -
        in: path
        name: member_id
        description: 'The ID of the member.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/members/{member_id}/phones/{id}':
    patch:
      summary: ''
      operationId: patchApiMembersMember_idPhonesId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                number:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                type:
                  type: string
                  description: ''
                  example: home
                  nullable: false
                  enum:
                    - main
                    - home
                    - work
                    - mobile
    delete:
      summary: ''
      operationId: deleteApiMembersMember_idPhonesId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: member_id
        description: 'The ID of the member.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: id
        description: 'The ID of the phone.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/members/{member_id}/emails':
    post:
      summary: ''
      operationId: postApiMembersMember_idEmails
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: 'Must be a valid email address. Must not be greater than 255 characters.'
                  example: qkunze@example.com
                  nullable: false
                type:
                  type: string
                  description: ''
                  example: work
                  nullable: false
                  enum:
                    - main
                    - personal
                    - work
                    - secondary
              required:
                - email
                - type
    parameters:
      -
        in: path
        name: member_id
        description: 'The ID of the member.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/members/{member_id}/emails/{id}':
    patch:
      summary: ''
      operationId: patchApiMembersMember_idEmailsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: 'Must be a valid email address. Must not be greater than 255 characters.'
                  example: qkunze@example.com
                  nullable: false
                type:
                  type: string
                  description: ''
                  example: secondary
                  nullable: false
                  enum:
                    - main
                    - personal
                    - work
                    - secondary
    delete:
      summary: ''
      operationId: deleteApiMembersMember_idEmailsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: member_id
        description: 'The ID of the member.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: id
        description: 'The ID of the email.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/members/{member_id}/addresses':
    post:
      summary: ''
      operationId: postApiMembersMember_idAddresses
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                line_1:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                line_2:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: amniihfqcoynlazghdtqt
                  nullable: true
                city:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: qxbajwbpilpmufinllwlo
                  nullable: false
                state:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: auydlsmsjuryvojcybzvr
                  nullable: false
                zip_code:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: byickznkygloigmkwxphl
                  nullable: false
                is_primary:
                  type: boolean
                  description: ''
                  example: false
                  nullable: false
                type:
                  type: string
                  description: ''
                  example: billing
                  nullable: false
                  enum:
                    - home
                    - work
                    - billing
                    - shipping
              required:
                - line_1
                - city
                - state
                - zip_code
                - is_primary
                - type
    parameters:
      -
        in: path
        name: member_id
        description: 'The ID of the member.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/members/{member_id}/addresses/{id}':
    delete:
      summary: ''
      operationId: deleteApiMembersMember_idAddressesId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: member_id
        description: 'The ID of the member.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: id
        description: 'The ID of the address.'
        example: 1
        required: true
        schema:
          type: integer
  /api/gryphon-activities:
    get:
      summary: ''
      operationId: getApiGryphonActivities
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                search:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                start_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: false
                end_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: false
                created_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: false
                activity_type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                priority:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                visibility:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                user_id:
                  type: integer
                  description: ''
                  example: 17
                  nullable: false
                parent_id:
                  type: integer
                  description: ''
                  example: 17
                  nullable: false
                updated_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: false
                page:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 45
                  nullable: true
                per_page:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 16
                  nullable: true
                limit:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 5
                  nullable: true
                offset:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 50
                  nullable: true
                sort:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                order:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                people:
                  type: string
                  description: ''
                  example: null
                  nullable: false
    post:
      summary: ''
      operationId: postApiGryphonActivities
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                message:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                priority:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                user:
                  type: object
                  description: ''
                  example: null
                  nullable: false
                  properties:
                    id:
                      type: integer
                      description: 'The <code>id</code> of an existing record in the users table.'
                      example: 17
                      nullable: false
                visibility:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                parent:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties:
                    id:
                      type: integer
                      description: 'The <code>id</code> of an existing record in the gryphon_activities table.'
                      example: 17
                      nullable: true
              required:
                - message
                - priority
                - visibility
  '/api/gryphon-activities/watchers/{gryphonActivity_id}':
    post:
      summary: ''
      operationId: postApiGryphonActivitiesWatchersGryphonActivity_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                user_id:
                  type: integer
                  description: ''
                  example: 17
                  nullable: false
                notified_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                viewed_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                dismissed_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
              required:
                - user_id
                - type
    get:
      summary: ''
      operationId: getApiGryphonActivitiesWatchersGryphonActivity_id
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: gryphonActivity_id
        description: 'The ID of the gryphonActivity.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/gryphon-activities/{gryphonActivity_id}':
    get:
      summary: ''
      operationId: getApiGryphonActivitiesGryphonActivity_id
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiGryphonActivitiesGryphonActivity_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                message:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                priority:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                visibility:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
              required:
                - message
                - priority
                - visibility
    delete:
      summary: ''
      operationId: deleteApiGryphonActivitiesGryphonActivity_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: gryphonActivity_id
        description: 'The ID of the gryphonActivity.'
        example: 1
        required: true
        schema:
          type: integer
  /api/watchers:
    get:
      summary: ''
      operationId: getApiWatchers
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  '/api/watchers/{id}':
    patch:
      summary: ''
      operationId: patchApiWatchersId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                notified_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                viewed_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                dismissed_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
    delete:
      summary: ''
      operationId: deleteApiWatchersId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the watcher.'
        example: 1
        required: true
        schema:
          type: integer
  /api/alerts:
    get:
      summary: ''
      operationId: getApiAlerts
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  /api/alerts/count:
    get:
      summary: ''
      operationId: getApiAlertsCount
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  '/api/alerts/{id}':
    patch:
      summary: ''
      operationId: patchApiAlertsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                dismissed_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: false
                viewed_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: false
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the alert.'
        example: 1
        required: true
        schema:
          type: integer
  /api/case-types:
    get:
      summary: ''
      operationId: getApiCaseTypes
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                description:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'Dolores molestias ipsam sit.'
                  nullable: false
                is_group:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
                group:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    id:
                      type: string
                      description: 'The <code>id</code> of an existing record in the case_types table.'
                      example: null
                      nullable: true
                page:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 26
                  nullable: true
                per_page:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 6
                  nullable: true
                limit:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 16
                  nullable: true
                offset:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 8
                  nullable: true
    post:
      summary: ''
      operationId: postApiCaseTypes
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                description:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'Dolores molestias ipsam sit.'
                  nullable: true
                is_group:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
                group:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    id:
                      type: string
                      description: 'The <code>id</code> of an existing record in the case_types table.'
                      example: null
                      nullable: true
                hcpcs:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: string
                        description: 'The <code>id</code> of an existing record in the procedure_codes table.'
                        example: null
                        nullable: true
                cpt:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: string
                        description: 'The <code>id</code> of an existing record in the procedure_codes table.'
                        example: null
                        nullable: true
                case_type_options:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: string
                        description: 'The <code>id</code> of an existing record in the case_type_options table.'
                        example: null
                        nullable: true
              required:
                - name
                - is_group
  '/api/case-types/{caseType_id}':
    get:
      summary: ''
      operationId: getApiCaseTypesCaseType_id
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiCaseTypesCaseType_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                description:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'Dolores molestias ipsam sit.'
                  nullable: true
                is_group:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                group:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    id:
                      type: string
                      description: 'The <code>id</code> of an existing record in the case_types table.'
                      example: null
                      nullable: true
                case_type_options:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: string
                        description: 'The <code>id</code> of an existing record in the case_type_options table.'
                        example: null
                        nullable: true
                hcpcs:
                  type: array
                  description: ''
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        description: 'The <code>id</code> of an existing record in the procedure_codes table.'
                        example: null
                        nullable: true
                cpt:
                  type: array
                  description: ''
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        description: 'The <code>id</code> of an existing record in the procedure_codes table.'
                        example: null
                        nullable: true
              required:
                - name
    parameters:
      -
        in: path
        name: caseType_id
        description: 'The ID of the caseType.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/case-types/{caseType}':
    delete:
      summary: ''
      operationId: deleteApiCaseTypesCaseType
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: caseType
        description: ''
        example: 1
        required: true
        schema:
          type: integer
  /api/modifiers:
    get:
      summary: ''
      operationId: getApiModifiers
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: ''
      operationId: postApiModifiers
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                description:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'Dolores molestias ipsam sit.'
                  nullable: false
              required:
                - name
  '/api/modifiers/{id}':
    get:
      summary: ''
      operationId: getApiModifiersId
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiModifiersId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                description:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'Dolores molestias ipsam sit.'
                  nullable: false
              required:
                - name
    delete:
      summary: ''
      operationId: deleteApiModifiersId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the modifier.'
        example: 1
        required: true
        schema:
          type: integer
  /api/case-type-options:
    get:
      summary: ''
      operationId: getApiCaseTypeOptions
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: ''
      operationId: postApiCaseTypeOptions
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                description:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'Dolores molestias ipsam sit.'
                  nullable: false
              required:
                - name
  '/api/case-type-options/{caseTypeOption_id}':
    get:
      summary: ''
      operationId: getApiCaseTypeOptionsCaseTypeOption_id
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiCaseTypeOptionsCaseTypeOption_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                description:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'Dolores molestias ipsam sit.'
                  nullable: false
              required:
                - name
    delete:
      summary: ''
      operationId: deleteApiCaseTypeOptionsCaseTypeOption_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: caseTypeOption_id
        description: 'The ID of the caseTypeOption.'
        example: 1
        required: true
        schema:
          type: integer
  /api/procedure-codes:
    get:
      summary: ''
      operationId: getApiProcedureCodes
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  /api/procedure-codes/hcpcs:
    get:
      summary: ''
      operationId: getApiProcedureCodesHcpcs
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  /api/procedure-codes/cpt:
    get:
      summary: ''
      operationId: getApiProcedureCodesCpt
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  '/api/procedure-codes/{procedureCode}':
    get:
      summary: ''
      operationId: getApiProcedureCodesProcedureCode
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: procedureCode
        description: ''
        example: consequatur
        required: true
        schema:
          type: string
  /api/case-type-sets:
    get:
      summary: 'Display a listing of the resource.'
      operationId: displayAListingOfTheResource
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: 'Show the form for creating a new resource.'
      operationId: showTheFormForCreatingANewResource
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                description:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'Dolores molestias ipsam sit.'
                  nullable: true
                case_type_options:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: string
                        description: 'The <code>id</code> of an existing record in the case_type_options table.'
                        example: null
                        nullable: true
                modifiers:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: string
                        description: 'The <code>id</code> of an existing record in the modifiers table.'
                        example: null
                        nullable: true
                hcpcs:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: string
                        description: 'The <code>id</code> of an existing record in the procedure_codes table.'
                        example: null
                        nullable: true
                cpt:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: string
                        description: 'The <code>id</code> of an existing record in the procedure_codes table.'
                        example: null
                        nullable: true
              required:
                - name
  '/api/case-type-sets/{caseTypeSet_id}':
    get:
      summary: 'Display the specified resource.'
      operationId: displayTheSpecifiedResource
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: 'Update the specified resource in storage.'
      operationId: updateTheSpecifiedResourceInStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                description:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'Dolores molestias ipsam sit.'
                  nullable: true
                case_type_options:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: string
                        description: 'The <code>id</code> of an existing record in the case_type_options table.'
                        example: null
                        nullable: true
                modifiers:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: string
                        description: 'The <code>id</code> of an existing record in the modifiers table.'
                        example: null
                        nullable: true
                hcpcs:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: string
                        description: ''
                        example: null
                        nullable: false
                cpt:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: string
                        description: ''
                        example: null
                        nullable: false
              required:
                - name
    delete:
      summary: 'Remove the specified resource from storage.'
      operationId: removeTheSpecifiedResourceFromStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: caseTypeSet_id
        description: 'The ID of the caseTypeSet.'
        example: 1
        required: true
        schema:
          type: integer
  /api/case-classifications:
    get:
      summary: 'Display a listing of the resource.'
      operationId: displayAListingOfTheResource
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: 'Show the form for creating a new resource.'
      operationId: showTheFormForCreatingANewResource
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                description:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'Dolores molestias ipsam sit.'
                  nullable: false
              required:
                - name
  '/api/case-classifications/{caseClassification_id}':
    get:
      summary: 'Display the specified resource.'
      operationId: displayTheSpecifiedResource
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: 'Update the specified resource in storage.'
      operationId: updateTheSpecifiedResourceInStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                description:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'Dolores molestias ipsam sit.'
                  nullable: false
              required:
                - name
    delete:
      summary: 'Remove the specified resource from storage.'
      operationId: removeTheSpecifiedResourceFromStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: caseClassification_id
        description: 'The ID of the caseClassification.'
        example: 1
        required: true
        schema:
          type: integer
  /api/assessment-responses:
    get:
      summary: 'Display a listing of all assessment responses.'
      operationId: displayAListingOfAllAssessmentResponses
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: 'Store a newly created assessment response in storage.'
      operationId: storeANewlyCreatedAssessmentResponseInStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                client_id:
                  type: integer
                  description: 'This field is required when none of <code>client</code> are present. The <code>id</code> of an existing record in the clients table.'
                  example: 17
                  nullable: false
                client:
                  type: object
                  description: ''
                  example: null
                  nullable: false
                  properties: {  }
                member_id:
                  type: integer
                  description: 'This field is required when none of <code>member</code> are present. The <code>id</code> of an existing record in the members table.'
                  example: 17
                  nullable: false
                member:
                  type: object
                  description: ''
                  example: null
                  nullable: false
                  properties: {  }
                assessment:
                  type: integer
                  description: 'This field is required when none of <code>assessment_model</code> are present. The <code>id</code> of an existing record in the assessments table.'
                  example: 17
                  nullable: false
                assessment_model:
                  type: object
                  description: ''
                  example: null
                  nullable: false
                  properties: {  }
                case_id:
                  type: integer
                  description: 'This field is required when none of <code>case</code> are present. The <code>id</code> of an existing record in the cases table.'
                  example: 17
                  nullable: false
                case:
                  type: object
                  description: ''
                  example: null
                  nullable: false
                  properties: {  }
                response:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties: {  }
              required:
                - response
  '/api/assessment-responses/{assessmentResponse_id}':
    get:
      summary: 'Display the specified assessment response.'
      operationId: displayTheSpecifiedAssessmentResponse
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: 'Update the specified assessment response in storage.'
      operationId: updateTheSpecifiedAssessmentResponseInStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    delete:
      summary: 'Remove the specified assessment response from storage.'
      operationId: removeTheSpecifiedAssessmentResponseFromStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: assessmentResponse_id
        description: 'The ID of the assessmentResponse.'
        example: 1
        required: true
        schema:
          type: integer
  /api/case-classification-sets:
    get:
      summary: ''
      operationId: getApiCaseClassificationSets
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: true
                description:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'Dolores molestias ipsam sit.'
                  nullable: true
                query:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                page:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 45
                  nullable: true
                per_page:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 16
                  nullable: true
                limit:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 5
                  nullable: true
                offset:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 50
                  nullable: true
                sort_by:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                sort_direction:
                  type: string
                  description: ''
                  example: asc
                  nullable: true
                  enum:
                    - asc
                    - desc
                with:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                with_count:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                with_trashed:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                only_trashed:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
                case_classifications:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        description: 'The <code>id</code> of an existing record in the case_classifications table.'
                        example: null
                        nullable: true
    post:
      summary: ''
      operationId: postApiCaseClassificationSets
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                description:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'Dolores molestias ipsam sit.'
                  nullable: true
                case_classifications:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        description: 'The <code>id</code> of an existing record in the case_classifications table.'
                        example: null
                        nullable: true
              required:
                - name
  '/api/case-classification-sets/{caseClassificationSet_id}':
    get:
      summary: ''
      operationId: getApiCaseClassificationSetsCaseClassificationSet_id
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiCaseClassificationSetsCaseClassificationSet_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                description:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'Dolores molestias ipsam sit.'
                  nullable: true
                case_classifications:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        description: 'The <code>id</code> of an existing record in the case_classifications table.'
                        example: null
                        nullable: true
              required:
                - name
    delete:
      summary: ''
      operationId: deleteApiCaseClassificationSetsCaseClassificationSet_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: caseClassificationSet_id
        description: 'The ID of the caseClassificationSet.'
        example: 1
        required: true
        schema:
          type: integer
  /api/case-class-relationship:
    get:
      summary: 'Display a listing of the resource.'
      operationId: displayAListingOfTheResource
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: ''
      operationId: postApiCaseClassRelationship
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                case_type:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    id:
                      type: integer
                      description: 'The <code>id</code> of an existing record in the case_types table.'
                      example: 17
                      nullable: false
                  required:
                    - id
                case_type_set:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    id:
                      type: integer
                      description: 'The <code>id</code> of an existing record in the case_type_sets table.'
                      example: 17
                      nullable: false
                  required:
                    - id
                case_classification_set:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    id:
                      type: integer
                      description: 'The <code>id</code> of an existing record in the case_class_sets table.'
                      example: 17
                      nullable: false
                  required:
                    - id
  '/api/case-class-relationship/{caseClassRelationship_id}':
    get:
      summary: 'Display the specified resource.'
      operationId: displayTheSpecifiedResource
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: 'Update the specified resource in storage.'
      operationId: updateTheSpecifiedResourceInStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                case_type:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    id:
                      type: integer
                      description: 'The <code>id</code> of an existing record in the case_types table.'
                      example: 17
                      nullable: false
                  required:
                    - id
                case_type_set:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    id:
                      type: integer
                      description: 'The <code>id</code> of an existing record in the case_type_sets table.'
                      example: 17
                      nullable: false
                  required:
                    - id
                case_classification_set:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    id:
                      type: integer
                      description: 'The <code>id</code> of an existing record in the case_class_sets table.'
                      example: 17
                      nullable: false
                  required:
                    - id
    delete:
      summary: 'Remove the specified resource from storage.'
      operationId: removeTheSpecifiedResourceFromStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: caseClassRelationship_id
        description: 'The ID of the caseClassRelationship.'
        example: 1
        required: true
        schema:
          type: integer
  /api/documents:
    get:
      summary: ''
      operationId: getApiDocuments
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: ''
      operationId: postApiDocuments
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
                  description: 'Must be a file. Must not be greater than 10240 kilobytes.'
                  nullable: false
                user_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: 17
                  nullable: false
                document_label:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                title:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                description:
                  type: string
                  description: ''
                  example: 'Dolores dolorum amet iste laborum eius est dolor.'
                  nullable: false
                document_type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                state:
                  type: string
                  description: 'Must be 2 characters.'
                  example: mq
                  nullable: true
                expiration_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                completion_date:
                  type: string
                  description: 'Must be a valid date. Must be a date before or equal to <code>today</code>.'
                  example: '2020-09-09'
                  nullable: true
                signature_files:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                certification_type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                documentable_type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                documentable_id:
                  type: integer
                  description: ''
                  example: 17
                  nullable: true
              required:
                - file
  '/api/documents/download/{document_id}/{filename}':
    get:
      summary: ''
      operationId: getApiDocumentsDownloadDocument_idFilename
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: document_id
        description: 'The ID of the document.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: filename
        description: ''
        example: consequatur
        required: true
        schema:
          type: string
  '/api/documents/{id}':
    get:
      summary: ''
      operationId: getApiDocumentsId
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiDocumentsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                document_label:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                document_type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                state:
                  type: string
                  description: 'Must not be greater than 10 characters.'
                  example: mqeopfuud
                  nullable: true
                expiration_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                completion_date:
                  type: string
                  description: 'Must be a valid date. Must be a date before or equal to <code>today</code>.'
                  example: '2020-09-09'
                  nullable: true
                signature_files:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                certification_type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                file:
                  type: string
                  format: binary
                  description: 'Must be a file. Must not be greater than 10240 kilobytes.'
                  nullable: false
                title:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                description:
                  type: string
                  description: ''
                  example: 'Dolores dolorum amet iste laborum eius est dolor.'
                  nullable: false
                documentable_type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                documentable_id:
                  type: integer
                  description: ''
                  example: 17
                  nullable: false
    delete:
      summary: ''
      operationId: deleteApiDocumentsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the document.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/documents/{document_id}/change-history':
    get:
      summary: 'Get change request history for a specific document.'
      operationId: getChangeRequestHistoryForASpecificDocument
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: document_id
        description: 'The ID of the document.'
        example: 1
        required: true
        schema:
          type: integer
  /api/google-maps/map-data:
    get:
      summary: 'Get map data for a specific address.'
      operationId: getMapDataForASpecificAddress
      description: 'GET /api/google-maps/map-data?address=...'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                address:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
              required:
                - address
  /api/google-maps/locations/addresses:
    post:
      summary: 'Get locations info based on addresses.'
      operationId: getLocationsInfoBasedOnAddresses
      description: "POST /api/google-maps/locations/addresses\n\nExpected JSON:\n{\n   \"origin\": \"123 Main St, Anytown, USA\",\n   \"locations\": [\n        \"456 Oak St, Othertown, USA\",\n        \"789 Pine St, Thistown, USA\"\n   ],\n   \"sort_by\": \"distance\" // optional, or \"drive_time\"\n}"
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                origin:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                locations:
                  type: array
                  description: ''
                  example:
                    - consequatur
                  items:
                    type: string
                sort_by:
                  type: string
                  description: ''
                  example: distance
                  nullable: true
                  enum:
                    - distance
                    - drive_time
              required:
                - origin
                - locations
  /api/google-maps/locations/coordinates:
    post:
      summary: 'Get locations info based on coordinates.'
      operationId: getLocationsInfoBasedOnCoordinates
      description: "POST /api/google-maps/locations/coordinates\n\nExpected JSON:\n{\n   \"origin\": {\"lat\": 37.421, \"lng\": -122.083},\n   \"locations\": [\n        {\"lat\": 37.422, \"lng\": -122.084},\n        {\"lat\": 37.423, \"lng\": -122.085}\n   ],\n   \"sort_by\": \"drive_time\" // optional, or \"distance\"\n}"
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                origin:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    lat:
                      type: number
                      description: ''
                      example: 11613.31890586
                      nullable: false
                    lng:
                      type: number
                      description: ''
                      example: 11613.31890586
                      nullable: false
                  required:
                    - lat
                    - lng
                locations:
                  type: array
                  description: 'Must have at least 1 items.'
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      lat:
                        type: number
                        description: ''
                        example: 11613.31890586
                        nullable: false
                      lng:
                        type: number
                        description: ''
                        example: 11613.31890586
                        nullable: false
                    required:
                      - lat
                      - lng
                sort_by:
                  type: string
                  description: ''
                  example: drive_time
                  nullable: true
                  enum:
                    - distance
                    - drive_time
              required:
                - origin
                - locations
  /api/google-maps/correct-address:
    get:
      summary: 'Validate and "correct" an address.'
      operationId: validateAndcorrectAnAddress
      description: "This endpoint accepts a user‑provided address and returns:\n- The original address provided.\n- The fully validated/complete address (as returned by Google).\n- Latitude, longitude.\n- Both static and dynamic map URLs.\n\nEndpoint: GET /api/google-maps/correct-address?address=..."
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                address:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
              required:
                - address
  '/api/cases/gryphon-activities/{caseModel_id}':
    post:
      summary: ''
      operationId: postApiCasesGryphonActivitiesCaseModel_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                message:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                priority:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                user:
                  type: object
                  description: ''
                  example: null
                  nullable: false
                  properties:
                    id:
                      type: integer
                      description: 'The <code>id</code> of an existing record in the users table.'
                      example: 17
                      nullable: false
                visibility:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                parent:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties:
                    id:
                      type: integer
                      description: 'The <code>id</code> of an existing record in the gryphon_activities table.'
                      example: 17
                      nullable: true
              required:
                - message
                - priority
                - visibility
    get:
      summary: ''
      operationId: getApiCasesGryphonActivitiesCaseModel_id
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                search:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                start_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: false
                end_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: false
                created_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: false
                activity_type:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                priority:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                visibility:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                user_id:
                  type: integer
                  description: ''
                  example: 17
                  nullable: false
                parent_id:
                  type: integer
                  description: ''
                  example: 17
                  nullable: false
                updated_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: false
                page:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 45
                  nullable: true
                per_page:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 16
                  nullable: true
                limit:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 5
                  nullable: true
                offset:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 50
                  nullable: true
                sort:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                order:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                people:
                  type: string
                  description: ''
                  example: null
                  nullable: false
    parameters:
      -
        in: path
        name: caseModel_id
        description: 'The ID of the caseModel.'
        example: 1
        required: true
        schema:
          type: integer
  /api/cases:
    get:
      summary: ''
      operationId: getApiCases
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                filters:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties:
                    logic:
                      type: string
                      description: 'This field is required when <code>filters</code> is present.'
                      example: OR
                      nullable: false
                      enum:
                        - AND
                        - OR
                    conditions:
                      type: object
                      description: 'This field is required when <code>filters</code> is present. Must have at least 1 items.'
                      example: null
                      nullable: false
                      properties: {  }
                query:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: true
                case_types:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: integer
                        description: ''
                        example: 17
                        nullable: false
                client_id:
                  type: integer
                  description: ''
                  example: 17
                  nullable: true
                member_id:
                  type: integer
                  description: ''
                  example: 17
                  nullable: true
                member:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    name:
                      type: string
                      description: 'Must not be greater than 255 characters.'
                      example: mqeopfuudtdsufvyvddqa
                      nullable: true
                assigned_to:
                  type: string
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: null
                  nullable: true
                created_by:
                  type: string
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: null
                  nullable: true
                updated_by:
                  type: string
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: null
                  nullable: true
                tag_string:
                  type: string
                  description: 'The <code>name</code> of an existing record in the tags table.'
                  example: null
                  nullable: true
                tag:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    id:
                      type: string
                      description: 'The <code>id</code> of an existing record in the tags table.'
                      example: null
                      nullable: true
                due_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                received_date_start:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                received_date_end:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                due_date_start:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                due_date_end:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                appointment_scheduled_start:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                appointment_scheduled_end:
                  type: string
                  description: 'Must be a valid date. Must be a date after or equal to <code>appointment_scheduled_start</code>.'
                  example: '2107-06-13'
                  nullable: true
                safety_flag:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: mqeopfuudtdsufvyvddqa
                  nullable: true
                reviewer:
                  type: string
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: null
                  nullable: true
                assessor:
                  type: string
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: null
                  nullable: true
                member_address:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: mniihfqcoynlazghdtqtq
                  nullable: true
                date_range:
                  type: array
                  description: 'Must be a valid date.'
                  example:
                    - '2026-05-14T17:42:32'
                  items:
                    type: string
                page:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 81
                  nullable: true
                per_page:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 2
                  nullable: true
                limit:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 1
                  nullable: true
                offset:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 33
                  nullable: true
                sort:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                order:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                status:
                  type: string
                  description: ''
                  example: scheduled
                  nullable: true
                  enum:
                    - open
                    - closed
                    - pending
                    - in_progress
                    - draft
                    - submitted
                    - received
                    - assigned
                    - scheduled
                    - assessing
                    - reviewing
                    - completed
                    - on_hold
                    - cancelled
                    - paused
                search_by_tag:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: mqeopfuudtdsufvyvddqa
                  nullable: true
    post:
      summary: ''
      operationId: postApiCases
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                unique_id:
                  type: string
                  description: 'Must match the regex /^[a-zA-Z0-9\-_.]+$/. Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                case_types:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the case_types table.'
                        example: 17
                        nullable: false
                client_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the clients table.'
                  example: 17
                  nullable: true
                member_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the members table.'
                  example: 17
                  nullable: true
                line_of_business_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the lines_of_businesses table.'
                  example: 17
                  nullable: true
                case_class_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the case_classifications table.'
                  example: 17
                  nullable: true
                diagnostic_codes:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the diagnostic_codes table.'
                        example: 17
                        nullable: false
                due_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                status:
                  type: string
                  description: ''
                  example: paused
                  nullable: true
                  enum:
                    - draft
                    - submitted
                    - received
                    - assigned
                    - scheduled
                    - assessing
                    - reviewing
                    - completed
                    - on_hold
                    - cancelled
                    - paused
                tags:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the tags table.'
                        example: 17
                        nullable: false
                is_appeal:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
                documents:
                  type: array
                  description: ''
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the documents table.'
                        example: 17
                        nullable: false
                      description:
                        type: string
                        description: 'Must not be greater than 255 characters.'
                        example: 'Dolorum amet iste laborum eius est dolor.'
                        nullable: true
                      title:
                        type: string
                        description: 'Must not be greater than 255 characters.'
                        example: dtdsufvyvddqamniihfqc
                        nullable: false
              required:
                - unique_id
  /api/cases/search:
    post:
      summary: ''
      operationId: postApiCasesSearch
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                filters:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties:
                    logic:
                      type: string
                      description: 'This field is required when <code>filters</code> is present.'
                      example: AND
                      nullable: false
                      enum:
                        - AND
                        - OR
                    conditions:
                      type: object
                      description: 'This field is required when <code>filters</code> is present. Must have at least 1 items.'
                      example: null
                      nullable: false
                      properties: {  }
                query:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: true
                case_types:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: integer
                        description: ''
                        example: 17
                        nullable: false
                client_id:
                  type: integer
                  description: ''
                  example: 17
                  nullable: true
                member_id:
                  type: integer
                  description: ''
                  example: 17
                  nullable: true
                member:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    name:
                      type: string
                      description: 'Must not be greater than 255 characters.'
                      example: mqeopfuudtdsufvyvddqa
                      nullable: true
                assigned_to:
                  type: string
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: null
                  nullable: true
                created_by:
                  type: string
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: null
                  nullable: true
                updated_by:
                  type: string
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: null
                  nullable: true
                tag_string:
                  type: string
                  description: 'The <code>name</code> of an existing record in the tags table.'
                  example: null
                  nullable: true
                tag:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    id:
                      type: string
                      description: 'The <code>id</code> of an existing record in the tags table.'
                      example: null
                      nullable: true
                due_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                received_date_start:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                received_date_end:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                due_date_start:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                due_date_end:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                appointment_scheduled_start:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                appointment_scheduled_end:
                  type: string
                  description: 'Must be a valid date. Must be a date after or equal to <code>appointment_scheduled_start</code>.'
                  example: '2107-06-13'
                  nullable: true
                safety_flag:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: mqeopfuudtdsufvyvddqa
                  nullable: true
                reviewer:
                  type: string
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: null
                  nullable: true
                assessor:
                  type: string
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: null
                  nullable: true
                member_address:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: mniihfqcoynlazghdtqtq
                  nullable: true
                date_range:
                  type: array
                  description: 'Must be a valid date.'
                  example:
                    - '2026-05-14T17:42:32'
                  items:
                    type: string
                page:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 81
                  nullable: true
                per_page:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 2
                  nullable: true
                limit:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 1
                  nullable: true
                offset:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 33
                  nullable: true
                sort:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                order:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                status:
                  type: string
                  description: ''
                  example: draft
                  nullable: true
                  enum:
                    - open
                    - closed
                    - pending
                    - in_progress
                    - draft
                    - submitted
                    - received
                    - assigned
                    - scheduled
                    - assessing
                    - reviewing
                    - completed
                    - on_hold
                    - cancelled
                    - paused
                search_by_tag:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: mqeopfuudtdsufvyvddqa
                  nullable: true
  /api/cases/export:
    post:
      summary: 'Export cases to CSV.'
      operationId: exportCasesToCSV
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                filters:
                  type: object
                  description: ''
                  example: null
                  nullable: true
                  properties:
                    logic:
                      type: string
                      description: 'This field is required when <code>filters</code> is present.'
                      example: AND
                      nullable: false
                      enum:
                        - AND
                        - OR
                    conditions:
                      type: object
                      description: 'This field is required when <code>filters</code> is present. Must have at least 1 items.'
                      example: null
                      nullable: false
                      properties: {  }
                query:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: true
                case_types:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    nullable: true
                    properties:
                      id:
                        type: integer
                        description: ''
                        example: 17
                        nullable: false
                client_id:
                  type: integer
                  description: ''
                  example: 17
                  nullable: true
                member_id:
                  type: integer
                  description: ''
                  example: 17
                  nullable: true
                member:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    name:
                      type: string
                      description: 'Must not be greater than 255 characters.'
                      example: mqeopfuudtdsufvyvddqa
                      nullable: true
                assigned_to:
                  type: string
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: null
                  nullable: true
                created_by:
                  type: string
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: null
                  nullable: true
                updated_by:
                  type: string
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: null
                  nullable: true
                tag_string:
                  type: string
                  description: 'The <code>name</code> of an existing record in the tags table.'
                  example: null
                  nullable: true
                tag:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    id:
                      type: string
                      description: 'The <code>id</code> of an existing record in the tags table.'
                      example: null
                      nullable: true
                due_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                received_date_start:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                received_date_end:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                due_date_start:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                due_date_end:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                safety_flag:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: mniihfqcoynlazghdtqtq
                  nullable: true
                reviewer:
                  type: string
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: null
                  nullable: true
                assessor:
                  type: string
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: null
                  nullable: true
                member_address:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: xbajwbpilpmufinllwloa
                  nullable: true
                status:
                  type: string
                  description: ''
                  example: reviewing
                  nullable: true
                  enum:
                    - draft
                    - submitted
                    - received
                    - assigned
                    - scheduled
                    - assessing
                    - reviewing
                    - completed
                    - on_hold
                    - cancelled
                    - paused
                sort_by:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: uydlsmsjuryvojcybzvrb
                  nullable: true
                sort_order:
                  type: string
                  description: ''
                  example: desc
                  nullable: true
                  enum:
                    - asc
                    - desc
                fields:
                  type: array
                  description: 'Must not be greater than 255 characters.'
                  example:
                    - yickznkygloigmkwxphlv
                  items:
                    type: string
                field_order:
                  type: array
                  description: 'Must not be greater than 255 characters.'
                  example:
                    - azjrcnfbaqywuxhgjjmzu
                  items:
                    type: string
  '/api/cases/{caseModel_id}':
    get:
      summary: ''
      operationId: getApiCasesCaseModel_id
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiCasesCaseModel_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                unique_id:
                  type: string
                  description: 'Must match the regex /^[a-zA-Z0-9\-_.]+$/. Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                case_types:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the case_types table.'
                        example: 17
                        nullable: false
                client_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the clients table.'
                  example: 17
                  nullable: true
                member_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the members table.'
                  example: 17
                  nullable: true
                line_of_business_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the lines_of_businesses table.'
                  example: 17
                  nullable: true
                case_class_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the case_classifications table.'
                  example: 17
                  nullable: true
                diagnostic_codes:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the diagnostic_codes table.'
                        example: 17
                        nullable: false
                due_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                status:
                  type: string
                  description: ''
                  example: assigned
                  nullable: true
                  enum:
                    - draft
                    - submitted
                    - received
                    - assigned
                    - scheduled
                    - assessing
                    - reviewing
                    - completed
                    - on_hold
                    - cancelled
                    - paused
                tags:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the tags table.'
                        example: 17
                        nullable: false
                is_appeal:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                documents:
                  type: array
                  description: ''
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the documents table.'
                        example: 17
                        nullable: false
                      description:
                        type: string
                        description: 'Must not be greater than 255 characters.'
                        example: 'Dolorum amet iste laborum eius est dolor.'
                        nullable: true
                      title:
                        type: string
                        description: 'Must not be greater than 255 characters.'
                        example: dtdsufvyvddqamniihfqc
                        nullable: true
    delete:
      summary: ''
      operationId: deleteApiCasesCaseModel_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: caseModel_id
        description: 'The ID of the caseModel.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/cases/{caseModel_id}/documents':
    post:
      summary: ''
      operationId: postApiCasesCaseModel_idDocuments
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                unique_id:
                  type: string
                  description: 'Must match the regex /^[a-zA-Z0-9\-_.]+$/. Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                case_types:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the case_types table.'
                        example: 17
                        nullable: false
                client_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the clients table.'
                  example: 17
                  nullable: true
                member_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the members table.'
                  example: 17
                  nullable: true
                line_of_business_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the lines_of_businesses table.'
                  example: 17
                  nullable: true
                case_class_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the case_classifications table.'
                  example: 17
                  nullable: true
                diagnostic_codes:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the diagnostic_codes table.'
                        example: 17
                        nullable: false
                due_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                status:
                  type: string
                  description: ''
                  example: on_hold
                  nullable: true
                  enum:
                    - draft
                    - submitted
                    - received
                    - assigned
                    - scheduled
                    - assessing
                    - reviewing
                    - completed
                    - on_hold
                    - cancelled
                    - paused
                tags:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the tags table.'
                        example: 17
                        nullable: false
                is_appeal:
                  type: boolean
                  description: ''
                  example: false
                  nullable: true
                documents:
                  type: array
                  description: ''
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the documents table.'
                        example: 17
                        nullable: false
                      description:
                        type: string
                        description: 'Must not be greater than 255 characters.'
                        example: 'Dolorum amet iste laborum eius est dolor.'
                        nullable: true
                      title:
                        type: string
                        description: 'Must not be greater than 255 characters.'
                        example: dtdsufvyvddqamniihfqc
                        nullable: true
    parameters:
      -
        in: path
        name: caseModel_id
        description: 'The ID of the caseModel.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/cases/{caseModel_id}/documents/{document_id}':
    delete:
      summary: ''
      operationId: deleteApiCasesCaseModel_idDocumentsDocument_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: caseModel_id
        description: 'The ID of the caseModel.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: document_id
        description: 'The ID of the document.'
        example: 1
        required: true
        schema:
          type: integer
  /api/clinician-blackouts:
    get:
      summary: 'Display a listing of the resource.'
      operationId: displayAListingOfTheResource
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: 'Store a newly created resource in storage.'
      operationId: storeANewlyCreatedResourceInStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                clinician_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: consequatur
                  nullable: false
                start_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: false
                start_time:
                  type: string
                  description: 'Must be a valid date in the format <code>H:i</code>.'
                  example: '17:42'
                  nullable: true
                end_date:
                  type: string
                  description: 'Must be a valid date. Must be a date after or equal to <code>start_date</code>.'
                  example: '2107-06-13'
                  nullable: false
                end_time:
                  type: string
                  description: 'Must be a valid date in the format <code>H:i</code>.'
                  example: '17:42'
                  nullable: true
                is_recurring:
                  type: string
                  description: ''
                  example: '1'
                  nullable: false
                  enum:
                    - '0'
                    - '1'
                recurrence_details:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    pattern:
                      type: string
                      description: 'This field is required when <code>is_recurring</code> is <code>1</code>.'
                      example: weekly_friday
                      nullable: false
                      enum:
                        - daily
                        - weekly_friday
                        - monthly_first_friday
                        - monthly_last_friday
                        - custom
                    custom:
                      type: object
                      description: ''
                      example: []
                      nullable: false
                      properties:
                        repeat_interval_type:
                          type: string
                          description: 'This field is required when <code>recurrence_details.pattern</code> is <code>custom</code>.'
                          example: month
                          nullable: false
                          enum:
                            - day
                            - week
                            - month
                        repeat_interval_difference:
                          type: integer
                          description: 'This field is required when <code>recurrence_details.pattern</code> is <code>custom</code>. Must be at least 1.'
                          example: 45
                          nullable: false
                        repeat_days:
                          type: array
                          description: 'This field is required when <code>recurrence_details.custom.repeat_interval_type</code> is <code>week</code>.'
                          example:
                            - Thu
                          items:
                            type: string
                            enum:
                              - Mon
                              - Tue
                              - Wed
                              - Thu
                              - Fri
                              - Sat
                              - Sun
                        repeat_dates:
                          type: array
                          description: 'This field is required when <code>recurrence_details.custom.repeat_interval_type</code> is <code>month</code>. Must be between 1 and 31.'
                          example:
                            - 1
                          items:
                            type: integer
                    ending_date:
                      type: string
                      description: 'Must be a valid date.'
                      example: '2026-05-14T17:42:32'
                      nullable: true
                    ending_ocurrences_count:
                      type: integer
                      description: ''
                      example: 17
                      nullable: true
                recurrence:
                  type: array
                  description: 'This field is required when <code>recurrence</code> is <code>custom</code>.'
                  example: null
                  items:
                    type: string
              required:
                - clinician_id
                - start_date
                - end_date
                - is_recurring
  '/api/clinician-blackouts/{clinicianBlackout_id}':
    get:
      summary: 'Display the specified resource.'
      operationId: displayTheSpecifiedResource
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: 'Update the specified resource in storage.'
      operationId: updateTheSpecifiedResourceInStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                clinician_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: null
                  nullable: false
                start_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: false
                start_time:
                  type: string
                  description: 'Must be a valid date in the format <code>H:i</code>.'
                  example: '17:42'
                  nullable: true
                end_date:
                  type: string
                  description: 'Must be a valid date. Must be a date after or equal to <code>start_date</code>.'
                  example: '2107-06-13'
                  nullable: false
                end_time:
                  type: string
                  description: 'Must be a valid date in the format <code>H:i</code>.'
                  example: '17:42'
                  nullable: true
                is_recurring:
                  type: string
                  description: ''
                  example: '0'
                  nullable: false
                  enum:
                    - '0'
                    - '1'
                recurrence_details:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    pattern:
                      type: string
                      description: 'This field is required when <code>is_recurring</code> is <code>1</code>.'
                      example: custom
                      nullable: false
                      enum:
                        - daily
                        - weekly_friday
                        - monthly_first_friday
                        - monthly_last_friday
                        - custom
                    custom:
                      type: object
                      description: ''
                      example: []
                      nullable: false
                      properties:
                        repeat_interval_type:
                          type: string
                          description: 'This field is required when <code>recurrence_details.pattern</code> is <code>custom</code>.'
                          example: day
                          nullable: false
                          enum:
                            - day
                            - week
                            - month
                        repeat_interval_difference:
                          type: integer
                          description: 'This field is required when <code>recurrence_details.pattern</code> is <code>custom</code>.'
                          example: 17
                          nullable: false
                        repeat_days:
                          type: array
                          description: 'This field is required when <code>recurrence_details.custom.repeat_interval_type</code> is <code>week</code>.'
                          example:
                            - Thu
                          items:
                            type: string
                            enum:
                              - Mon
                              - Tue
                              - Wed
                              - Thu
                              - Fri
                              - Sat
                              - Sun
                        repeat_dates:
                          type: array
                          description: 'This field is required when <code>recurrence_details.custom.repeat_interval_type</code> is <code>month</code>. Must be at least 1. Must not be greater than 31.'
                          example:
                            - 13
                          items:
                            type: integer
                    ending_date:
                      type: string
                      description: 'Must be a valid date.'
                      example: '2026-05-14T17:42:32'
                      nullable: true
                    ending_ocurrences_count:
                      type: integer
                      description: ''
                      example: 17
                      nullable: true
    delete:
      summary: 'Remove the specified resource from storage.'
      operationId: removeTheSpecifiedResourceFromStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: clinicianBlackout_id
        description: 'The ID of the clinicianBlackout.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/clinician-blackouts/clinician/{clinicianId}':
    get:
      summary: 'Return all blackout dates for a specific clinician (including computed occurrences).'
      operationId: returnAllBlackoutDatesForASpecificClinicianincludingComputedOccurrences
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: clinicianId
        description: ''
        example: consequatur
        required: true
        schema:
          type: string
  /api/invoices:
    get:
      summary: ''
      operationId: getApiInvoices
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: ''
      operationId: postApiInvoices
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                invoice_number:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                member_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the members table.'
                  example: consequatur
                  nullable: false
                client_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the clients table.'
                  example: consequatur
                  nullable: false
                invoice_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: false
                due_date:
                  type: string
                  description: 'Must be a valid date. Must be a date after or equal to <code>invoice_date</code>.'
                  example: '2107-06-13'
                  nullable: true
                status:
                  type: string
                  description: ''
                  example: sent
                  nullable: false
                  enum:
                    - draft
                    - sent
                    - paid
                    - overdue
                created_by:
                  type: string
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: consequatur
                  nullable: false
                sent_on:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                notes:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                quickbooks_ref:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                addresses:
                  type: array
                  description: 'Must have at least 1 items.'
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: ''
                        example: billing
                        nullable: false
                        enum:
                          - billing
                          - shipping
                      address_id:
                        type: string
                        description: 'The <code>address_id</code> of an existing record in the address_client table.'
                        example: null
                        nullable: true
                      line_1:
                        type: string
                        description: 'This field is required when <code>addresses.*.address_id</code> is not present.'
                        example: consequatur
                        nullable: false
                      line_2:
                        type: string
                        description: ''
                        example: consequatur
                        nullable: true
                      city:
                        type: string
                        description: 'This field is required when <code>addresses.*.address_id</code> is not present.'
                        example: consequatur
                        nullable: false
                      state:
                        type: string
                        description: ''
                        example: consequatur
                        nullable: true
                      zip_code:
                        type: string
                        description: ''
                        example: consequatur
                        nullable: true
                      country:
                        type: string
                        description: ''
                        example: consequatur
                        nullable: true
                      contact_name:
                        type: string
                        description: ''
                        example: consequatur
                        nullable: true
                      contact_phone:
                        type: string
                        description: ''
                        example: consequatur
                        nullable: true
                      contact_email:
                        type: string
                        description: 'Must be a valid email address.'
                        example: carolyne.luettgen@example.org
                        nullable: true
                    required:
                      - type
                line_items:
                  type: array
                  description: 'Must have at least 1 items.'
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      case_id:
                        type: string
                        description: ''
                        example: consequatur
                        nullable: false
                      line_amount:
                        type: number
                        description: 'Must be at least 0.'
                        example: 45
                        nullable: false
                      line_tax:
                        type: number
                        description: 'Must be at least 0.'
                        example: 56
                        nullable: true
                      status:
                        type: string
                        description: ''
                        example: closed
                        nullable: true
                        enum:
                          - pending
                          - billable
                          - paid
                          - closed
                      description:
                        type: string
                        description: ''
                        example: 'Dolores dolorum amet iste laborum eius est dolor.'
                        nullable: true
                    required:
                      - case_id
                      - line_amount
              required:
                - invoice_number
                - member_id
                - client_id
                - invoice_date
                - status
                - created_by
                - addresses
                - line_items
  '/api/invoices/{id}':
    get:
      summary: ''
      operationId: getApiInvoicesId
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiInvoicesId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                invoice_number:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                member_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the members table.'
                  example: null
                  nullable: false
                client_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the clients table.'
                  example: null
                  nullable: false
                invoice_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: false
                due_date:
                  type: string
                  description: 'Must be a valid date. Must be a date after or equal to <code>invoice_date</code>.'
                  example: '2107-06-13'
                  nullable: true
                status:
                  type: string
                  description: ''
                  example: paid
                  nullable: false
                  enum:
                    - draft
                    - sent
                    - paid
                    - overdue
                created_by:
                  type: string
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: null
                  nullable: false
                sent_on:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                notes:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                quickbooks_ref:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                addresses:
                  type: array
                  description: 'Must have at least 1 items.'
                  example: null
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        description: 'This field is required when <code>addresses</code> is present.'
                        example: billing
                        nullable: false
                        enum:
                          - billing
                          - shipping
                      address_id:
                        type: string
                        description: 'The <code>address_id</code> of an existing record in the address_client table.'
                        example: null
                        nullable: true
                      line_1:
                        type: string
                        description: 'This field is required when <code>addresses.*.address_id</code> is not present.'
                        example: consequatur
                        nullable: false
                      line_2:
                        type: string
                        description: ''
                        example: consequatur
                        nullable: true
                      city:
                        type: string
                        description: 'This field is required when <code>addresses.*.address_id</code> is not present.'
                        example: consequatur
                        nullable: false
                      state:
                        type: string
                        description: ''
                        example: consequatur
                        nullable: true
                      zip_code:
                        type: string
                        description: ''
                        example: consequatur
                        nullable: true
                      country:
                        type: string
                        description: ''
                        example: consequatur
                        nullable: true
                      contact_name:
                        type: string
                        description: ''
                        example: consequatur
                        nullable: true
                      contact_phone:
                        type: string
                        description: ''
                        example: consequatur
                        nullable: true
                      contact_email:
                        type: string
                        description: 'Must be a valid email address.'
                        example: carolyne.luettgen@example.org
                        nullable: true
                line_items:
                  type: array
                  description: 'Must have at least 1 items.'
                  example: null
                  items:
                    type: object
                    properties:
                      case_id:
                        type: string
                        description: 'This field is required when <code>line_items</code> is present.'
                        example: null
                        nullable: false
                      line_amount:
                        type: number
                        description: 'This field is required when <code>line_items</code> is present. Must be at least 0.'
                        example: 19
                        nullable: false
                      line_tax:
                        type: number
                        description: 'This field is required when <code>line_items</code> is present. Must be at least 0.'
                        example: 70
                        nullable: false
                      status:
                        type: string
                        description: ''
                        example: paid
                        nullable: true
                        enum:
                          - pending
                          - billable
                          - paid
                          - closed
                      description:
                        type: string
                        description: ''
                        example: 'Dolores dolorum amet iste laborum eius est dolor.'
                        nullable: true
    delete:
      summary: ''
      operationId: deleteApiInvoicesId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the invoice.'
        example: 17
        required: true
        schema:
          type: integer
  /api/case-assignments:
    get:
      summary: 'Display a listing of the resource.'
      operationId: displayAListingOfTheResource
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: 'Store a newly created resource in storage.'
      operationId: storeANewlyCreatedResourceInStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                case_id:
                  type: integer
                  description: 'This field is required when <code>case.id</code> is not present. The <code>id</code> of an existing record in the cases table.'
                  example: 17
                  nullable: false
                case:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    id:
                      type: integer
                      description: 'This field is required when <code>case_id</code> is not present. The <code>id</code> of an existing record in the cases table.'
                      example: 17
                      nullable: false
                assignee_type:
                  type: string
                  description: ''
                  example: observer
                  nullable: false
                  enum:
                    - reviewer
                    - approver
                    - observer
                    - clinician
                status:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                assignee_id:
                  type: integer
                  description: 'This field is required when <code>assignee.id</code> is not present. The <code>id</code> of an existing record in the users table.'
                  example: 17
                  nullable: false
                assignee:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    id:
                      type: integer
                      description: 'This field is required when <code>assignee_id</code> is not present. The <code>id</code> of an existing record in the users table.'
                      example: 17
                      nullable: false
                completed_at:
                  type: string
                  description: 'Must be a valid date in the format <code>Y-m-d</code>.'
                  example: '2026-05-14'
                  nullable: true
              required:
                - assignee_type
  /api/case-assignments/search:
    get:
      summary: 'Search for case assignments.'
      operationId: searchForCaseAssignments
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  /api/case-assignments/mine:
    get:
      summary: 'Display the count of case assignments.'
      operationId: displayTheCountOfCaseAssignments
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  '/api/case-assignments/{caseAssignment_id}':
    get:
      summary: 'Display the specified resource.'
      operationId: displayTheSpecifiedResource
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: 'Update the specified resource in storage.'
      operationId: updateTheSpecifiedResourceInStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                assignee_type:
                  type: string
                  description: ''
                  example: reviewer
                  nullable: false
                  enum:
                    - reviewer
                    - approver
                    - observer
                    - clinician
                status:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                assignee_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: 17
                  nullable: false
                assignee:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    id:
                      type: integer
                      description: 'The <code>id</code> of an existing record in the users table.'
                      example: 17
                      nullable: false
                completed_at:
                  type: string
                  description: 'Must be a valid date in the format <code>Y-m-d</code>.'
                  example: '2026-05-14'
                  nullable: true
              required:
                - assignee_type
    delete:
      summary: 'Remove the specified resource from storage.'
      operationId: removeTheSpecifiedResourceFromStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: caseAssignment_id
        description: 'The ID of the caseAssignment.'
        example: 17
        required: true
        schema:
          type: integer
  /api/case-appointments:
    get:
      summary: 'Display a listing of the resource.'
      operationId: displayAListingOfTheResource
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: 'Store a newly created resource in storage.'
      operationId: storeANewlyCreatedResourceInStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                case_id:
                  type: integer
                  description: 'This field is required when <code>case.id</code> is not present. The <code>id</code> of an existing record in the cases table.'
                  example: 17
                  nullable: false
                case:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    id:
                      type: integer
                      description: 'This field is required when <code>case_id</code> is not present. The <code>id</code> of an existing record in the cases table.'
                      example: 17
                      nullable: false
                appointment_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: false
                appointment_time_start:
                  type: string
                  description: 'Must be a valid date in the format <code>H:i</code>.'
                  example: '17:42'
                  nullable: true
                appointment_time_end:
                  type: string
                  description: 'Must be a valid date in the format <code>H:i</code>.'
                  example: '17:42'
                  nullable: true
                status:
                  type: string
                  description: ''
                  example: cancelled
                  nullable: false
                  enum:
                    - scheduled
                    - rescheduled
                    - completed
                    - cancelled
                    - no_show
                comment:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: mqeopfuudtdsufvyvddqa
                  nullable: true
              required:
                - appointment_date
  '/api/case-appointments/case/{case_id}':
    get:
      summary: 'Show by case ID.'
      operationId: showByCaseID
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: case_id
        description: 'The ID of the case.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/case-appointments/{caseAppointment_id}':
    get:
      summary: 'Display the specified resource.'
      operationId: displayTheSpecifiedResource
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: 'Update the specified resource in storage.'
      operationId: updateTheSpecifiedResourceInStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                appointment_date:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: false
                appointment_time_start:
                  type: string
                  description: 'Must be a valid date in the format <code>H:i</code>.'
                  example: '17:42'
                  nullable: true
                appointment_time_end:
                  type: string
                  description: 'Must be a valid date in the format <code>H:i</code>.'
                  example: '17:42'
                  nullable: true
                comment:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: true
                status:
                  type: string
                  description: ''
                  example: cancelled
                  nullable: false
                  enum:
                    - scheduled
                    - rescheduled
                    - completed
                    - cancelled
                    - no_show
              required:
                - appointment_date
    delete:
      summary: 'Remove the specified resource from storage.'
      operationId: removeTheSpecifiedResourceFromStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: caseAppointment_id
        description: 'The ID of the caseAppointment.'
        example: 17
        required: true
        schema:
          type: integer
  /api/contact-logs:
    get:
      summary: 'Display a listing of the resource.'
      operationId: displayAListingOfTheResource
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: 'Store a newly created resource in storage.'
      operationId: storeANewlyCreatedResourceInStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                case_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the cases table.'
                  example: consequatur
                  nullable: false
                appointment_scheduled:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
                not_scheduled_reason:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                member_phone:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    number:
                      type: string
                      description: 'The <code>number</code> of an existing record in the phones table.'
                      example: null
                      nullable: false
                    id:
                      type: string
                      description: 'The <code>id</code> of an existing record in the member_phone table.'
                      example: null
                      nullable: false
                    type:
                      type: string
                      description: ''
                      example: consequatur
                      nullable: false
                    member_id:
                      type: string
                      description: 'The <code>id</code> of an existing record in the members table.'
                      example: null
                      nullable: false
                change_initiated_by:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                called_at:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: false
                contacted_by:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                case_appointment:
                  type: string
                  description: ''
                  example: null
                  nullable: true
              required:
                - case_id
                - contacted_by
  '/api/contact-logs/case/{case_id}':
    get:
      summary: 'Show by case ID.'
      operationId: showByCaseID
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: case_id
        description: 'The ID of the case.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/contact-logs/{contactLog_id}':
    get:
      summary: 'Display the specified resource.'
      operationId: displayTheSpecifiedResource
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    delete:
      summary: 'Remove the specified resource from storage.'
      operationId: removeTheSpecifiedResourceFromStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: contactLog_id
        description: 'The ID of the contactLog.'
        example: 17
        required: true
        schema:
          type: integer
  /api/invoice-expenses:
    get:
      summary: ''
      operationId: getApiInvoiceExpenses
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: ''
      operationId: postApiInvoiceExpenses
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                user_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: consequatur
                  nullable: false
                case_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the cases table.'
                  example: consequatur
                  nullable: false
                invoice_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the invoices table.'
                  example: null
                  nullable: true
                amount:
                  type: number
                  description: 'Must be at least 0.'
                  example: 45
                  nullable: false
                description:
                  type: string
                  description: ''
                  example: 'Dolores dolorum amet iste laborum eius est dolor.'
                  nullable: false
              required:
                - user_id
                - case_id
                - amount
                - description
  '/api/invoice-expenses/{expense_id}':
    get:
      summary: ''
      operationId: getApiInvoiceExpensesExpense_id
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiInvoiceExpensesExpense_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                user_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: consequatur
                  nullable: false
                case_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the cases table.'
                  example: consequatur
                  nullable: false
                invoice_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the invoices table.'
                  example: null
                  nullable: true
                amount:
                  type: number
                  description: 'Must be at least 0.'
                  example: 45
                  nullable: false
                description:
                  type: string
                  description: ''
                  example: 'Dolores dolorum amet iste laborum eius est dolor.'
                  nullable: false
              required:
                - user_id
                - case_id
                - amount
                - description
    delete:
      summary: ''
      operationId: deleteApiInvoiceExpensesExpense_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: expense_id
        description: 'The ID of the expense.'
        example: 17
        required: true
        schema:
          type: integer
  /api/expenses/types:
    get:
      summary: ''
      operationId: getApiExpensesTypes
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  /api/expenses/searchable-fields:
    get:
      summary: ''
      operationId: getApiExpensesSearchableFields
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  /api/expenses/sortable-fields:
    get:
      summary: ''
      operationId: getApiExpensesSortableFields
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  /api/expenses/available-statuses:
    get:
      summary: 'Get available status filters for current user.'
      operationId: getAvailableStatusFiltersForCurrentUser
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  /api/expenses:
    get:
      summary: ''
      operationId: getApiExpenses
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                keyword:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: true
                search:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: amniihfqcoynlazghdtqt
                  nullable: true
                query:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: qxbajwbpilpmufinllwlo
                  nullable: true
                status:
                  type: string
                  description: ''
                  example: submitted
                  nullable: true
                  enum:
                    - submitted
                    - investigating
                    - approved
                    - denied
                    - sent
                    - completed
                    - canceled
                case_ids:
                  type: array
                  description: 'The <code>id</code> of an existing record in the cases table.'
                  example:
                    - 17
                  items:
                    type: integer
                expense_type:
                  type: string
                  description: 'The <code>code</code> of an existing record in the expense_types table.'
                  example: consequatur
                  nullable: true
                user_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: 17
                  nullable: true
                incurred_at_from:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                incurred_at_to:
                  type: string
                  description: 'Must be a valid date. Must be a date after or equal to <code>incurred_at_from</code>.'
                  example: '2107-06-13'
                  nullable: true
                paid_at_from:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                paid_at_to:
                  type: string
                  description: 'Must be a valid date. Must be a date after or equal to <code>paid_at_from</code>.'
                  example: '2107-06-13'
                  nullable: true
                created_at_from:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                created_at_to:
                  type: string
                  description: 'Must be a valid date. Must be a date after or equal to <code>created_at_from</code>.'
                  example: '2107-06-13'
                  nullable: true
                amount_min:
                  type: number
                  description: 'Must be at least 0.'
                  example: 45
                  nullable: true
                amount_max:
                  type: number
                  description: 'Must be at least 0.'
                  example: 56
                  nullable: true
                sort_by:
                  type: string
                  description: ''
                  example: incurred_at
                  nullable: true
                  enum:
                    - created_at
                    - updated_at
                    - status
                    - amount
                    - incurred_at
                    - paid_at
                    - description
                    - expense_type
                sort_order:
                  type: string
                  description: ''
                  example: desc
                  nullable: true
                  enum:
                    - asc
                    - desc
                per_page:
                  type: integer
                  description: 'Must be at least -1. Must not be greater than 1000.'
                  example: 5
                  nullable: true
                page:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 51
                  nullable: true
    post:
      summary: ''
      operationId: postApiExpenses
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                case_id:
                  type: string
                  description: ''
                  example: null
                  nullable: false
                case_ids:
                  type: array
                  description: 'The <code>id</code> of an existing record in the cases table.'
                  example:
                    - 17
                  items:
                    type: integer
                amount:
                  type: number
                  description: ''
                  example: 11613.31890586
                  nullable: true
                category:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                description:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'Dolorum amet iste laborum eius est dolor.'
                  nullable: true
                expense_type:
                  type: string
                  description: ''
                  example: ppe
                  nullable: false
                  enum:
                    - bonus
                    - car_rental
                    - ceu
                    - consult
                    - credentialing
                    - drive_time
                    - flight
                    - hotel
                    - meal
                    - meetings
                    - no_show
                    - other
                    - parking
                    - ppe
                    - toll
                    - training
                total_time:
                  type: number
                  description: 'Must be at least 0.1. Must not be greater than 24.'
                  example: 4
                  nullable: true
                document_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the documents table.'
                  example: 17
                  nullable: false
                user_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: 17
                  nullable: true
                unit_rate:
                  type: number
                  description: 'Must be at least 0.01.'
                  example: 45
                  nullable: true
                incurred_at:
                  type: string
                  description: 'Must be a valid date in the format <code>Y-m-d H:i:s</code>. Must be a date before or equal to <code>now</code>.'
                  example: '2020-09-09'
                  nullable: false
              required:
                - category
                - expense_type
                - document_id
                - incurred_at
  /api/expenses/export:
    post:
      summary: 'Export expenses to CSV.'
      operationId: exportExpensesToCSV
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                keyword:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: true
                search:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: amniihfqcoynlazghdtqt
                  nullable: true
                query:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: qxbajwbpilpmufinllwlo
                  nullable: true
                status:
                  type: string
                  description: ''
                  example: canceled
                  nullable: true
                  enum:
                    - submitted
                    - investigating
                    - approved
                    - denied
                    - sent
                    - completed
                    - canceled
                case_ids:
                  type: array
                  description: 'The <code>id</code> of an existing record in the cases table.'
                  example:
                    - 17
                  items:
                    type: integer
                expense_type:
                  type: string
                  description: 'The <code>code</code> of an existing record in the expense_types table.'
                  example: consequatur
                  nullable: true
                user_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: 17
                  nullable: true
                incurred_at_from:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                incurred_at_to:
                  type: string
                  description: 'Must be a valid date. Must be a date after or equal to <code>incurred_at_from</code>.'
                  example: '2107-06-13'
                  nullable: true
                paid_at_from:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                paid_at_to:
                  type: string
                  description: 'Must be a valid date. Must be a date after or equal to <code>paid_at_from</code>.'
                  example: '2107-06-13'
                  nullable: true
                created_at_from:
                  type: string
                  description: 'Must be a valid date.'
                  example: '2026-05-14T17:42:32'
                  nullable: true
                created_at_to:
                  type: string
                  description: 'Must be a valid date. Must be a date after or equal to <code>created_at_from</code>.'
                  example: '2107-06-13'
                  nullable: true
                amount_min:
                  type: number
                  description: 'Must be at least 0.'
                  example: 45
                  nullable: true
                amount_max:
                  type: number
                  description: 'Must be at least 0.'
                  example: 56
                  nullable: true
                sort_by:
                  type: string
                  description: ''
                  example: updated_at
                  nullable: true
                  enum:
                    - created_at
                    - updated_at
                    - status
                    - amount
                    - incurred_at
                    - paid_at
                    - description
                    - expense_type
                sort_order:
                  type: string
                  description: ''
                  example: desc
                  nullable: true
                  enum:
                    - asc
                    - desc
                per_page:
                  type: integer
                  description: 'Must be at least -1. Must not be greater than 1000.'
                  example: 5
                  nullable: true
                page:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 51
                  nullable: true
                fields:
                  type: array
                  description: 'Must not be greater than 255 characters.'
                  example:
                    - pfuudtdsufvyvddqamnii
                  items:
                    type: string
                field_order:
                  type: array
                  description: 'Must not be greater than 255 characters.'
                  example:
                    - hfqcoynlazghdtqtqxbaj
                  items:
                    type: string
                format:
                  type: string
                  description: ''
                  example: csv
                  nullable: true
                  enum:
                    - csv
  /api/expenses/bulk/approve:
    post:
      summary: ''
      operationId: postApiExpensesBulkApprove
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expense_ids:
                  type: array
                  description: 'The <code>id</code> of an existing record in the expenses table.'
                  example:
                    - 11613.31890586
                  items:
                    type: number
              required:
                - expense_ids
  /api/expenses/bulk/deny:
    post:
      summary: ''
      operationId: postApiExpensesBulkDeny
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expense_ids:
                  type: array
                  description: 'The <code>id</code> of an existing record in the expenses table.'
                  example:
                    - 11613.31890586
                  items:
                    type: number
                reason:
                  type: string
                  description: 'Must not be greater than 500 characters.'
                  example: opfuudtdsufvyvddqamni
                  nullable: true
              required:
                - expense_ids
  '/api/expenses/{expense_id}/mark-as-paid':
    post:
      summary: ''
      operationId: postApiExpensesExpense_idMarkAsPaid
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: expense_id
        description: 'The ID of the expense.'
        example: 17
        required: true
        schema:
          type: integer
  '/api/expenses/{id}':
    get:
      summary: ''
      operationId: getApiExpensesId
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiExpensesId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                case_id:
                  type: string
                  description: ''
                  example: null
                  nullable: false
                case_ids:
                  type: array
                  description: 'The <code>id</code> of an existing record in the cases table.'
                  example:
                    - 17
                  items:
                    type: integer
                amount:
                  type: number
                  description: ''
                  example: 11613.31890586
                  nullable: true
                status:
                  type: string
                  description: ''
                  example: approved
                  nullable: false
                  enum:
                    - submitted
                    - investigating
                    - approved
                    - denied
                    - sent
                    - completed
                    - canceled
                description:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: 'Laborum eius est dolor dolores minus voluptatem.'
                  nullable: true
                category:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                expense_type:
                  type: string
                  description: ''
                  example: meetings
                  nullable: false
                  enum:
                    - bonus
                    - car_rental
                    - ceu
                    - consult
                    - credentialing
                    - drive_time
                    - flight
                    - hotel
                    - meal
                    - meetings
                    - no_show
                    - other
                    - parking
                    - ppe
                    - toll
                    - training
                total_time:
                  type: number
                  description: 'Must be at least 0.1. Must not be greater than 24.'
                  example: 12
                  nullable: true
                document_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the documents table.'
                  example: 17
                  nullable: true
                unit_rate:
                  type: number
                  description: 'Must be at least 0.01.'
                  example: 45
                  nullable: true
                incurred_at:
                  type: string
                  description: 'Must be a valid date in the format <code>Y-m-d H:i:s</code>. Must be a date before or equal to <code>now</code>.'
                  example: '2020-09-09'
                  nullable: false
              required:
                - status
                - category
                - expense_type
                - incurred_at
    delete:
      summary: ''
      operationId: deleteApiExpensesId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the expense.'
        example: 17
        required: true
        schema:
          type: integer
  '/api/expenses/{expense_id}/valid-transitions':
    get:
      summary: 'Get valid status transitions for an expense.'
      operationId: getValidStatusTransitionsForAnExpense
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: expense_id
        description: 'The ID of the expense.'
        example: 17
        required: true
        schema:
          type: integer
  '/api/expenses/{expense_id}/status':
    patch:
      summary: 'Change expense status using state machine.'
      operationId: changeExpenseStatusUsingStateMachine
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                status:
                  type: string
                  description: ''
                  example: sent
                  nullable: false
                  enum:
                    - submitted
                    - investigating
                    - approved
                    - denied
                    - sent
                    - completed
                    - canceled
                note:
                  type: string
                  description: 'Must not be greater than 1000 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: true
              required:
                - status
    parameters:
      -
        in: path
        name: expense_id
        description: 'The ID of the expense.'
        example: 17
        required: true
        schema:
          type: integer
  '/api/expenses/{expense_id}/cancel':
    patch:
      summary: 'Cancel an expense.'
      operationId: cancelAnExpense
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                reason:
                  type: string
                  description: 'Must be at least 10 characters. Must not be greater than 1000 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
              required:
                - reason
    parameters:
      -
        in: path
        name: expense_id
        description: 'The ID of the expense.'
        example: 17
        required: true
        schema:
          type: integer
  /api/expense-config/transitions:
    get:
      summary: ''
      operationId: getApiExpenseConfigTransitions
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: ''
      operationId: postApiExpenseConfigTransitions
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                from_status:
                  type: string
                  description: ''
                  example: completed
                  nullable: true
                  enum:
                    - submitted
                    - investigating
                    - approved
                    - denied
                    - sent
                    - completed
                    - canceled
                to_status:
                  type: string
                  description: ''
                  example: denied
                  nullable: false
                  enum:
                    - submitted
                    - investigating
                    - approved
                    - denied
                    - sent
                    - completed
                    - canceled
                is_terminal:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
                requires_note:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
                description:
                  type: string
                  description: 'Must not be greater than 500 characters.'
                  example: 'Dolores dolorum amet iste laborum eius est dolor.'
                  nullable: true
                is_active:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
              required:
                - to_status
                - is_terminal
                - requires_note
                - is_active
  '/api/expense-config/transitions/{id}':
    get:
      summary: ''
      operationId: getApiExpenseConfigTransitionsId
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiExpenseConfigTransitionsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                from_status:
                  type: string
                  description: ''
                  example: submitted
                  nullable: true
                  enum:
                    - submitted
                    - investigating
                    - approved
                    - denied
                    - sent
                    - completed
                    - canceled
                to_status:
                  type: string
                  description: ''
                  example: completed
                  nullable: false
                  enum:
                    - submitted
                    - investigating
                    - approved
                    - denied
                    - sent
                    - completed
                    - canceled
                is_terminal:
                  type: boolean
                  description: ''
                  example: false
                  nullable: false
                requires_note:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
                description:
                  type: string
                  description: 'Must not be greater than 500 characters.'
                  example: 'Dolores dolorum amet iste laborum eius est dolor.'
                  nullable: true
                is_active:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
              required:
                - to_status
                - is_terminal
                - requires_note
                - is_active
    delete:
      summary: ''
      operationId: deleteApiExpenseConfigTransitionsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the transition.'
        example: 1
        required: true
        schema:
          type: integer
  /api/expense-config/visibility:
    get:
      summary: ''
      operationId: getApiExpenseConfigVisibility
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: ''
      operationId: postApiExpenseConfigVisibility
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                role_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the roles table.'
                  example: 17
                  nullable: false
                actual_status:
                  type: string
                  description: ''
                  example: completed
                  nullable: false
                  enum:
                    - submitted
                    - investigating
                    - approved
                    - denied
                    - sent
                    - completed
                    - canceled
                displayed_status:
                  type: string
                  description: ''
                  example: submitted
                  nullable: false
                  enum:
                    - submitted
                    - investigating
                    - approved
                    - denied
                    - sent
                    - completed
                    - canceled
                is_active:
                  type: boolean
                  description: ''
                  example: false
                  nullable: false
              required:
                - role_id
                - actual_status
                - displayed_status
                - is_active
  '/api/expense-config/visibility/{id}':
    get:
      summary: ''
      operationId: getApiExpenseConfigVisibilityId
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiExpenseConfigVisibilityId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                role_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the roles table.'
                  example: 17
                  nullable: false
                actual_status:
                  type: string
                  description: ''
                  example: approved
                  nullable: false
                  enum:
                    - submitted
                    - investigating
                    - approved
                    - denied
                    - sent
                    - completed
                    - canceled
                displayed_status:
                  type: string
                  description: ''
                  example: completed
                  nullable: false
                  enum:
                    - submitted
                    - investigating
                    - approved
                    - denied
                    - sent
                    - completed
                    - canceled
                is_active:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
              required:
                - role_id
                - actual_status
                - displayed_status
                - is_active
    delete:
      summary: ''
      operationId: deleteApiExpenseConfigVisibilityId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the visibility.'
        example: 1
        required: true
        schema:
          type: integer
  /api/expense-config/permissions:
    get:
      summary: ''
      operationId: getApiExpenseConfigPermissions
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: ''
      operationId: postApiExpenseConfigPermissions
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                role_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the roles table.'
                  example: 17
                  nullable: false
                from_status:
                  type: string
                  description: ''
                  example: canceled
                  nullable: true
                  enum:
                    - submitted
                    - investigating
                    - approved
                    - denied
                    - sent
                    - completed
                    - canceled
                to_status:
                  type: string
                  description: ''
                  example: submitted
                  nullable: false
                  enum:
                    - submitted
                    - investigating
                    - approved
                    - denied
                    - sent
                    - completed
                    - canceled
                can_transition:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
                is_active:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
              required:
                - role_id
                - to_status
                - can_transition
                - is_active
  '/api/expense-config/permissions/{id}':
    get:
      summary: ''
      operationId: getApiExpenseConfigPermissionsId
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiExpenseConfigPermissionsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                role_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the roles table.'
                  example: 17
                  nullable: false
                from_status:
                  type: string
                  description: ''
                  example: completed
                  nullable: true
                  enum:
                    - submitted
                    - investigating
                    - approved
                    - denied
                    - sent
                    - completed
                    - canceled
                to_status:
                  type: string
                  description: ''
                  example: investigating
                  nullable: false
                  enum:
                    - submitted
                    - investigating
                    - approved
                    - denied
                    - sent
                    - completed
                    - canceled
                can_transition:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
                is_active:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
              required:
                - role_id
                - to_status
                - can_transition
                - is_active
    delete:
      summary: ''
      operationId: deleteApiExpenseConfigPermissionsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the permission.'
        example: 1
        required: true
        schema:
          type: integer
  /api/client-rates:
    post:
      summary: ''
      operationId: postApiClientRates
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                client_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the clients table.'
                  example: consequatur
                  nullable: false
                rate_type:
                  type: string
                  description: ''
                  example: no_show
                  nullable: false
                  enum:
                    - standard_rate
                    - no_show
                rate:
                  type: number
                  description: ''
                  example: 11613.31890586
                  nullable: false
              required:
                - client_id
                - rate_type
                - rate
  /api/client-rates/search:
    post:
      summary: ''
      operationId: postApiClientRatesSearch
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                client_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the clients table.'
                  example: 17
                  nullable: false
                rate_type:
                  type: string
                  description: ''
                  example: standard_rate
                  nullable: false
                  enum:
                    - standard_rate
                    - no_show
              required:
                - client_id
  '/api/client-rates/{clientRate_id}':
    get:
      summary: ''
      operationId: getApiClientRatesClientRate_id
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiClientRatesClientRate_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                rate_type:
                  type: string
                  description: ''
                  example: no_show
                  nullable: false
                  enum:
                    - standard_rate
                    - no_show
                rate:
                  type: number
                  description: ''
                  example: 11613.31890586
                  nullable: false
              required:
                - rate_type
                - rate
    delete:
      summary: ''
      operationId: deleteApiClientRatesClientRate_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: clientRate_id
        description: 'The ID of the clientRate.'
        example: 17
        required: true
        schema:
          type: integer
  /api/conclusions:
    get:
      summary: 'Display a listing of conclusions.'
      operationId: displayAListingOfConclusions
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: 'Store a newly created conclusion in storage.'
      operationId: storeANewlyCreatedConclusionInStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                user_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: consequatur
                  nullable: false
                assessment_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the assessment_responses table.'
                  example: consequatur
                  nullable: false
                conclusion_text:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                user:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    id:
                      type: string
                      description: 'This field is required when <code>user_id</code> is not present. The <code>id</code> of an existing record in the users table.'
                      example: null
                      nullable: false
                assessment:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    id:
                      type: string
                      description: 'This field is required when <code>assessment_id</code> is not present. The <code>id</code> of an existing record in the assessment_responses table.'
                      example: null
                      nullable: false
              required:
                - user_id
                - assessment_id
  '/api/conclusions/{id}':
    get:
      summary: 'Display the specified conclusion.'
      operationId: displayTheSpecifiedConclusion
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: 'Update the specified conclusion in storage.'
      operationId: updateTheSpecifiedConclusionInStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                user_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: null
                  nullable: false
                assessment_id:
                  type: string
                  description: ''
                  example: null
                  nullable: false
                conclusion_text:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                user:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    id:
                      type: string
                      description: 'The <code>id</code> of an existing record in the users table.'
                      example: null
                      nullable: false
                assessment:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    id:
                      type: string
                      description: 'The <code>id</code> of an existing record in the assessment_responses table.'
                      example: null
                      nullable: false
    delete:
      summary: 'Remove the specified conclusion from storage.'
      operationId: removeTheSpecifiedConclusionFromStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the conclusion.'
        example: consequatur
        required: true
        schema:
          type: string
  /api/workmarket/pay-request:
    post:
      summary: 'Legacy endpoint for creating payment requests'
      operationId: legacyEndpointForCreatingPaymentRequests
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                relay_id:
                  type: string
                  description: ''
                  example: null
                  nullable: false
                relay_access_token:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                action:
                  type: string
                  description: ''
                  example: wm_createPaymentRequest
                  nullable: false
                  enum:
                    - wm_createPaymentRequest
                payer_id:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                resource_id:
                  type: string
                  description: 'This field is required when none of <code>resourceEmail</code>, <code>resourceCustomFieldId</code>, and <code>resourceCustomFieldValue</code> are present.'
                  example: consequatur
                  nullable: false
                resource_email:
                  type: string
                  description: 'Must be a valid email address.'
                  example: carolyne.luettgen@example.org
                  nullable: true
                resource_custom_field_id:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                resource_custom_field_value:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: true
                create_payment_request:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    currency:
                      type: string
                      description: 'Must be 3 characters.'
                      example: mqe
                      nullable: false
                    memo:
                      type: string
                      description: ''
                      example: consequatur
                      nullable: false
                    reference:
                      type: string
                      description: ''
                      example: consequatur
                      nullable: false
                    invoice_creation_date:
                      type: string
                      description: 'Must be a valid date.'
                      example: '2026-05-14T17:42:32'
                      nullable: true
                    order_items:
                      type: array
                      description: 'Must have at least 1 items.'
                      example:
                        - []
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: ''
                            example: WORK
                            nullable: false
                            enum:
                              - WORK
                              - EXPENSE
                              - NON_STATUTORY_DEDUCTION
                          title:
                            type: string
                            description: ''
                            example: consequatur
                            nullable: false
                          description:
                            type: string
                            description: ''
                            example: 'Dolores dolorum amet iste laborum eius est dolor.'
                            nullable: true
                          quantity:
                            type: integer
                            description: 'Must be at least 1.'
                            example: 13
                            nullable: false
                          amount:
                            type: number
                            description: 'Must be at least 0.'
                            example: 66
                            nullable: false
                          date:
                            type: string
                            description: 'Must be a valid date.'
                            example: '2026-05-14T17:42:32'
                            nullable: false
                          digital_asset_uuids:
                            type: object
                            description: ''
                            example: null
                            nullable: true
                            properties: {  }
                        required:
                          - type
                          - title
                          - quantity
                          - amount
                          - date
                    fields_and_values:
                      type: object
                      description: ''
                      example: null
                      nullable: true
                      properties: {  }
                    submit_payments:
                      type: boolean
                      description: ''
                      example: true
                      nullable: true
                  required:
                    - currency
                    - memo
                    - reference
                    - order_items
              required:
                - action
  /api/workmarket/linked-account:
    get:
      summary: 'Get linked WorkMarket account status'
      operationId: getLinkedWorkMarketAccountStatus
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                user_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: 17
                  nullable: false
    put:
      summary: 'Link or update WorkMarket account'
      operationId: linkOrUpdateWorkMarketAccount
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                workmarket_id:
                  type: string
                  description: 'Must match the regex /^[a-zA-Z0-9]+$/.'
                  example: lILn
                  nullable: false
                user_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: 17
                  nullable: false
              required:
                - workmarket_id
    delete:
      summary: 'Unlink WorkMarket account'
      operationId: unlinkWorkMarketAccount
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                user_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: 17
                  nullable: false
  '/api/workmarket/expenses/{expense_id}/submit':
    post:
      summary: 'Submit a single expense to WorkMarket for payment'
      operationId: submitASingleExpenseToWorkMarketForPayment
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: expense_id
        description: 'The ID of the expense.'
        example: 17
        required: true
        schema:
          type: integer
  /api/workmarket/expenses/batch-submit:
    post:
      summary: 'Submit multiple expenses to WorkMarket in batch'
      operationId: submitMultipleExpensesToWorkMarketInBatch
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expense_ids:
                  type: array
                  description: 'The <code>id</code> of an existing record in the expenses table.'
                  example:
                    - 17
                  items:
                    type: integer
              required:
                - expense_ids
  '/api/workmarket/expenses/{expense_id}/status':
    get:
      summary: 'Check payment status for a specific expense'
      operationId: checkPaymentStatusForASpecificExpense
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: expense_id
        description: 'The ID of the expense.'
        example: 17
        required: true
        schema:
          type: integer
  /api/workmarket/sync-payment-statuses:
    post:
      summary: 'Sync payment statuses for pending expenses'
      operationId: syncPaymentStatusesForPendingExpenses
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                user_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: 17
                  nullable: true
                force:
                  type: boolean
                  description: ''
                  example: true
                  nullable: true
  /api/tags:
    get:
      summary: ''
      operationId: getApiTags
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: ''
      operationId: postApiTags
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                description:
                  type: string
                  description: 'Must not be greater than 1000 characters.'
                  example: 'Dolores molestias ipsam sit.'
                  nullable: true
                category:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    id:
                      type: string
                      description: 'The <code>id</code> of an existing record in the tag_categories table.'
                      example: consequatur
                      nullable: false
                  required:
                    - id
              required:
                - name
                - category
  '/api/tags/{id}':
    get:
      summary: ''
      operationId: getApiTagsId
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiTagsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                description:
                  type: string
                  description: 'Must not be greater than 1000 characters.'
                  example: 'Dolores molestias ipsam sit.'
                  nullable: true
                category:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties:
                    id:
                      type: string
                      description: 'The <code>id</code> of an existing record in the tag_categories table.'
                      example: consequatur
                      nullable: false
                  required:
                    - id
              required:
                - name
                - category
    delete:
      summary: ''
      operationId: deleteApiTagsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the tag.'
        example: consequatur
        required: true
        schema:
          type: string
  /api/assessments:
    get:
      summary: ''
      operationId: getApiAssessments
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: ''
      operationId: postApiAssessments
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                case_type_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the case_types table.'
                  example: consequatur
                  nullable: false
                assessment_sections:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        description: 'The <code>id</code> of an existing record in the assessment_sections table.'
                        example: consequatur
                        nullable: false
                    required:
                      - id
              required:
                - name
                - case_type_id
  '/api/assessments/{id}':
    get:
      summary: ''
      operationId: getApiAssessmentsId
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    put:
      summary: ''
      operationId: putApiAssessmentsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                case_type_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the case_types table.'
                  example: consequatur
                  nullable: false
                assessment_sections:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        description: 'The <code>id</code> of an existing record in the assessment_sections table.'
                        example: consequatur
                        nullable: false
                    required:
                      - id
              required:
                - name
                - case_type_id
    delete:
      summary: ''
      operationId: deleteApiAssessmentsId
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the assessment.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/assessments/{assessment_id}':
    patch:
      summary: ''
      operationId: patchApiAssessmentsAssessment_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                case_type_id:
                  type: string
                  description: 'The <code>id</code> of an existing record in the case_types table.'
                  example: consequatur
                  nullable: false
                assessment_sections:
                  type: array
                  description: ''
                  example: null
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        description: 'The <code>id</code> of an existing record in the assessment_sections table.'
                        example: consequatur
                        nullable: false
                    required:
                      - id
              required:
                - name
                - case_type_id
    parameters:
      -
        in: path
        name: assessment_id
        description: 'The ID of the assessment.'
        example: 1
        required: true
        schema:
          type: integer
  /api/assessment-sections:
    get:
      summary: ''
      operationId: getApiAssessmentSections
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: ''
      operationId: postApiAssessmentSections
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                description:
                  type: string
                  description: ''
                  example: 'Dolores dolorum amet iste laborum eius est dolor.'
                  nullable: true
              required:
                - name
  '/api/assessment-sections/{assessmentSection_id}':
    get:
      summary: ''
      operationId: getApiAssessmentSectionsAssessmentSection_id
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiAssessmentSectionsAssessmentSection_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                description:
                  type: string
                  description: ''
                  example: 'Dolores dolorum amet iste laborum eius est dolor.'
                  nullable: true
              required:
                - name
    delete:
      summary: ''
      operationId: deleteApiAssessmentSectionsAssessmentSection_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: assessmentSection_id
        description: 'The ID of the assessmentSection.'
        example: 1
        required: true
        schema:
          type: integer
  /api/section-rules:
    get:
      summary: ''
      operationId: getApiSectionRules
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                assessment_section_id:
                  type: integer
                  description: ''
                  example: 17
                  nullable: false
                per_page:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 13
                  nullable: false
    post:
      summary: ''
      operationId: postApiSectionRules
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                assessment_section_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the assessment_sections table.'
                  example: 17
                  nullable: false
                state:
                  type: string
                  description: 'Must be 2 characters.'
                  example: mq
                  nullable: true
                case_type_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the case_types table.'
                  example: 17
                  nullable: true
                client_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the clients table.'
                  example: 17
                  nullable: true
                sort_order:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 45
                  nullable: false
                is_required:
                  type: boolean
                  description: ''
                  example: false
                  nullable: false
                is_active:
                  type: boolean
                  description: ''
                  example: false
                  nullable: false
              required:
                - assessment_section_id
                - sort_order
  '/api/section-rules/{sectionRule_id}':
    get:
      summary: ''
      operationId: getApiSectionRulesSectionRule_id
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiSectionRulesSectionRule_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                assessment_section_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the assessment_sections table.'
                  example: 17
                  nullable: false
                state:
                  type: string
                  description: 'Must be 2 characters.'
                  example: mq
                  nullable: true
                case_type_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the case_types table.'
                  example: 17
                  nullable: true
                client_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the clients table.'
                  example: 17
                  nullable: true
                sort_order:
                  type: integer
                  description: 'Must be at least 0.'
                  example: 45
                  nullable: false
                is_required:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
                is_active:
                  type: boolean
                  description: ''
                  example: true
                  nullable: false
              required:
                - assessment_section_id
                - sort_order
    delete:
      summary: ''
      operationId: deleteApiSectionRulesSectionRule_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: sectionRule_id
        description: 'The ID of the sectionRule.'
        example: 17
        required: true
        schema:
          type: integer
  /api/tag-categories:
    get:
      summary: 'Display a listing of the resource.'
      operationId: displayAListingOfTheResource
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: 'Store a newly created resource in storage.'
      operationId: storeANewlyCreatedResourceInStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                category_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                category_tag_type:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: amniihfqcoynlazghdtqt
                  nullable: false
              required:
                - category_name
  '/api/tag-categories/{tagCategory}':
    get:
      summary: 'Display the specified resource.'
      operationId: displayTheSpecifiedResource
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: 'Update the specified resource in storage.'
      operationId: updateTheSpecifiedResourceInStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                category_name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                category_tag_type:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: amniihfqcoynlazghdtqt
                  nullable: false
    delete:
      summary: 'Remove the specified resource from storage.'
      operationId: removeTheSpecifiedResourceFromStorage
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: tagCategory
        description: ''
        example: consequatur
        required: true
        schema:
          type: string
  /api/saved-filters:
    get:
      summary: ''
      operationId: getApiSavedFilters
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    post:
      summary: ''
      operationId: postApiSavedFilters
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                context:
                  type: string
                  description: ''
                  example: users
                  nullable: false
                  enum:
                    - cases
                    - users
                    - members
                    - clients
                    - expenses
                    - alert_templates
                filter_data:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties: {  }
              required:
                - name
                - context
                - filter_data
  '/api/saved-filters/{savedFilter_id}':
    get:
      summary: ''
      operationId: getApiSavedFiltersSavedFilter_id
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    patch:
      summary: ''
      operationId: patchApiSavedFiltersSavedFilter_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: vmqeopfuudtdsufvyvddq
                  nullable: false
                filter_data:
                  type: object
                  description: ''
                  example: []
                  nullable: false
                  properties: {  }
              required:
                - name
                - filter_data
    delete:
      summary: ''
      operationId: deleteApiSavedFiltersSavedFilter_id
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: savedFilter_id
        description: 'The ID of the savedFilter.'
        example: 1
        required: true
        schema:
          type: integer
  /api/filter-fields:
    get:
      summary: ''
      operationId: getApiFilterFields
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                context:
                  type: string
                  description: ''
                  example: cases
                  nullable: false
                  enum:
                    - cases
                    - users
                    - members
                    - clients
                    - expenses
                    - alert_templates
              required:
                - context
  '/api/filter-fields/{filterField_id}':
    get:
      summary: ''
      operationId: getApiFilterFieldsFilterField_id
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: filterField_id
        description: 'The ID of the filterField.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/clinicians/{clinician_id}/trainings/required':
    post:
      summary: ''
      operationId: postApiCliniciansClinician_idTrainingsRequired
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                role_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the roles table.'
                  example: 17
                  nullable: false
                trainings:
                  type: array
                  description: 'Must have at least 1 items.'
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      training_id:
                        type: integer
                        description: 'The <code>id</code> of an existing record in the trainings table.'
                        example: 17
                        nullable: false
                      due_date:
                        type: string
                        description: 'Must be a valid date.'
                        example: '2026-05-14T17:42:32'
                        nullable: true
                    required:
                      - training_id
              required:
                - role_id
                - trainings
    parameters:
      -
        in: path
        name: clinician_id
        description: 'The ID of the clinician.'
        example: 1
        required: true
        schema:
          type: integer
  /api/training-material-categories:
    get:
      summary: 'Display a listing of active training material categories.'
      operationId: displayAListingOfActiveTrainingMaterialCategories
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  /api/training-tag-types:
    get:
      summary: 'Display a listing of training tag types with optional search.'
      operationId: displayAListingOfTrainingTagTypesWithOptionalSearch
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  /api/trainings/catalog:
    get:
      summary: ''
      operationId: getApiTrainingsCatalog
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                role_id:
                  type: integer
                  description: ''
                  example: 17
                  nullable: false
                clinician_id:
                  type: integer
                  description: 'The <code>id</code> of an existing record in the users table.'
                  example: 17
                  nullable: false
              required:
                - role_id
                - clinician_id
  /api/bills:
    get:
      summary: 'Display a paginated listing of bills for the authenticated user.'
      operationId: displayAPaginatedListingOfBillsForTheAuthenticatedUser
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                year:
                  type: integer
                  description: 'Must be at least 2000. Must not be greater than 2100.'
                  example: 21
                  nullable: true
                search:
                  type: string
                  description: 'Must not be greater than 50 characters.'
                  example: mqeopfuudtdsufvyvddqa
                  nullable: true
                sort_by:
                  type: string
                  description: ''
                  example: created_at
                  nullable: true
                  enum:
                    - pay_period
                    - created_at
                    - total_amount
                    - bill_number
                sort_order:
                  type: string
                  description: ''
                  example: asc
                  nullable: true
                  enum:
                    - asc
                    - desc
                per_page:
                  type: integer
                  description: 'Must be at least 1. Must not be greater than 100.'
                  example: 13
                  nullable: true
                page:
                  type: integer
                  description: 'Must be at least 1.'
                  example: 46
                  nullable: true
  '/api/bills/{id}':
    get:
      summary: 'Display the specified bill with full breakdown details.'
      operationId: displayTheSpecifiedBillWithFullBreakdownDetails
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the bill.'
        example: 17
        required: true
        schema:
          type: integer
  /api/v1:
    get:
      summary: ''
      operationId: getApiV1
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: Unauthenticated.
                  app_version: unknown
                properties:
                  message:
                    type: string
                    example: Unauthenticated.
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  /auth/status:
    get:
      summary: ''
      operationId: getAuthStatus
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  auth_service: sanctum
                  app_version: unknown
                properties:
                  auth_service:
                    type: string
                    example: sanctum
                  app_version:
                    type: string
                    example: unknown
      tags:
        - Endpoints
  /auth/login:
    post:
      summary: 'Attempt to authenticate a new session.'
      operationId: attemptToAuthenticateANewSession
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: ''
                  example: qkunze@example.com
                  nullable: false
                password:
                  type: string
                  description: ''
                  example: 'O[2UZ5ij-e/dl4m{o,'
                  nullable: false
              required:
                - email
                - password
  /auth/forgot-password:
    post:
      summary: 'Send a reset link to the given user.'
      operationId: sendAResetLinkToTheGivenUser
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
  /auth/reset-password:
    post:
      summary: "Reset the user's password."
      operationId: resetTheUsersPassword
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                token:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
                password:
                  type: string
                  description: ''
                  example: consequatur
                  nullable: false
              required:
                - token
                - password
