openapi: 3.0.4
info:
  title: SIGNAL Integration API
  description: API gateway service used for integration with the several SIGNAL modules.
  version: '1.0'
paths:
  /public/v1/acceptance-certificates/download:
    get:
      tags:
        - AcceptanceCertificate
      summary: Issues a time-limited download ticket for an acceptance certificate file.
      description: 'Required scopes: `docs:docs_transfer:read`.'
      operationId: AcceptanceCertificateDownloadV1
      parameters:
        - name: acceptanceCertificateId
          in: query
          description: Identifier of the acceptance certificate to download.
          required: true
          schema:
            type: string
            format: uuid
        - name: fileName
          in: query
          description: Optional file name hint used for the resulting download.
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcceptanceCertificateDownloadTicket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/acceptance-certificates/attach:
    post:
      tags:
        - AcceptanceCertificate
      summary: Attaches an acceptance certificate to a document transfer.
      description: 'Required scopes: `docs:docs_transfer:update`.'
      operationId: AcceptanceCertificateAttachV1
      requestBody:
        description: Model containing acceptance certificate properties.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/AcceptanceCertificateAttach'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/AcceptanceCertificateAttach'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/AcceptanceCertificateAttach'
        required: true
      responses:
        '200':
          description: Returns the unique identifier of the attached acceptance certificate.
          content:
            application/json:
              schema:
                type: string
                format: uuid
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/application-users:
    put:
      tags:
        - ApplicationUser
      summary: Grants specific application roles to a batch of users across multiple applications.
      description: 'Required scopes: `hub:application:user:update`.'
      operationId: ApplicationUserUpsertApplicationUsersV1
      requestBody:
        description: 'Data containing the users, applications, and the role to assign.'
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ApplicationUsersUpsert'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ApplicationUsersUpsert'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ApplicationUsersUpsert'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
    delete:
      tags:
        - ApplicationUser
      summary: Revokes access for a batch of users across multiple applications.
      description: 'Required scopes: `hub:application:user:delete`.'
      operationId: ApplicationUserDeleteApplicationUsersV1
      requestBody:
        description: Data containing the users and applications to remove access from.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ApplicationUsersDelete'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ApplicationUsersDelete'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ApplicationUsersDelete'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/attributes:
    post:
      tags:
        - Attribute
      summary: Returns a list of attributes matching the given filter.
      description: 'Required scopes: `docs:attribute:list`.'
      operationId: AttributeListV1
      requestBody:
        description: Filter parameters including the project ID.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/AttributeFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/AttributeFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/AttributeFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AttributeListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/attributes/types:
    post:
      tags:
        - AttributeType
      summary: Retrieves a list of attribute types matching the specified filter criteria.
      description: 'Required scopes: `docs:attribute:list`.'
      operationId: AttributeTypeListV1
      requestBody:
        description: 'Filter parameters, including the project identifier.'
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/AttributeTypeFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/AttributeTypeFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/AttributeTypeFind'
        required: true
      responses:
        '200':
          description: Returns a collection of matching attribute types.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AttributeType'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
    patch:
      tags:
        - AttributeType
      summary: Updates existing attribute types.
      description: 'Required scopes: `docs:attribute:update`.'
      operationId: AttributeTypeUpdateV1
      requestBody:
        description: Model containing the attribute types to update.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/AttributeTypesUpdate'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/AttributeTypesUpdate'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/AttributeTypesUpdate'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/attributes/types/create:
    post:
      tags:
        - AttributeType
      summary: Creates a new attribute type.
      description: 'Required scopes: `docs:attribute:create`.'
      operationId: AttributeTypeCreateV1
      requestBody:
        description: Model containing the new attribute type properties.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/AttributeTypeCreate'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/AttributeTypeCreate'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/AttributeTypeCreate'
        required: true
      responses:
        '200':
          description: Returns the unique identifier of the created attribute type.
          content:
            application/json:
              schema:
                type: string
                format: uuid
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/attributes/types/list/items/create:
    post:
      tags:
        - AttributeTypeListItems
      summary: Creates items for a list attribute type.
      description: 'Required scopes: `docs:attribute:create`.'
      operationId: AttributeTypeListItemsCreateV1
      requestBody:
        description: Model containing the new attribute type list items properties.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/AttributeTypeListItemsCreate'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/AttributeTypeListItemsCreate'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/AttributeTypeListItemsCreate'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/attributes/types/list/items:
    patch:
      tags:
        - AttributeTypeListItems
      summary: Updates items for a list attribute type.
      description: 'Required scopes: `docs:attribute:update`.'
      operationId: AttributeTypeListItemsUpdateV1
      requestBody:
        description: Model containing the attribute type list items to update.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/AttributeTypeListItemsUpdate'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/AttributeTypeListItemsUpdate'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/AttributeTypeListItemsUpdate'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/attributes/values/issues:
    post:
      tags:
        - AttributeValue
      summary: Returns a list of issues attributes values matching the given filter.
      description: 'Required scopes: `docs:attribute:list`.'
      operationId: AttributeValueListIssuesV1
      requestBody:
        description: Filter parameters defining which issues attributes values to retrieve.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueAttributeValueFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueAttributeValueFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueAttributeValueFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IssueAttributeValueListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/attributes/values/items:
    post:
      tags:
        - AttributeValue
      summary: Returns a list of items attributes values matching the given filter.
      description: 'Required scopes: `docs:attribute:list`.'
      operationId: AttributeValueListItemsV1
      requestBody:
        description: Filter parameters defining which items attributes values to retrieve.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ItemAttributeValueFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ItemAttributeValueFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ItemAttributeValueFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ItemAttributeValueListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/attributes/values/folders:
    post:
      tags:
        - AttributeValue
      summary: Returns a list of folders attributes values matching the given filter.
      description: 'Required scopes: `docs:attribute:list`.'
      operationId: AttributeValueListFoldersV1
      requestBody:
        description: Filter parameters defining which folders attributes values to retrieve.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/FolderAttributeValueFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/FolderAttributeValueFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/FolderAttributeValueFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FolderAttributeValueListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/attributes/values/set:
    post:
      tags:
        - AttributeValue
      summary: Sets attribute values for the specified entity.
      description: 'Required scopes: `docs:attribute:update`.'
      operationId: AttributeValueSetV1
      requestBody:
        description: Model defining the target entity and attribute values to be set.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/AttributeValuesSet'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/AttributeValuesSet'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/AttributeValuesSet'
        required: true
      responses:
        '200':
          description: OK
        '204':
          description: Attribute values successfully set.
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/auth/token:
    post:
      tags:
        - Auth
      summary: Returns a JWT token for the specified client.
      description: Scopes are used to determine the level of access the client wants to obtain.
      operationId: AuthGetTokenV1
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/AuthCredentials'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/AuthCredentials'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/AuthCredentials'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthToken'
        '422':
          description: Unprocessable Content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthTokenError'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
  /public/v1/boards:
    post:
      tags:
        - Board
      summary: Returns the dashboards of a project. Deleted dashboards are never returned.
      description: 'Required scopes: `dash:board:list`.'
      operationId: BoardListV1
      parameters:
        - name: Take
          in: query
          description: The number of items to return. Default value is 100. Maximum value is 200.
          schema:
            maximum: 200
            minimum: 0
            type: integer
            format: int32
        - name: Skip
          in: query
          description: The number of items to skip. Default value is 0.
          schema:
            maximum: 2147483647
            minimum: 0
            type: integer
            format: int32
      requestBody:
        description: Dashboard filter including the project identifier.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/BoardFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/BoardFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/BoardFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Board'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/bookings:
    post:
      tags:
        - Booking
      summary: 'Retrieves bookings of the integration company, ordered by modified and identifier.'
      description: 'Required scopes: `settings:booking:list`.'
      operationId: BookingListV1
      requestBody:
        description: Filter and cursor pagination parameters.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/BookingFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/BookingFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/BookingFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Booking'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
    delete:
      tags:
        - Booking
      summary: Deletes the specified bookings in the integration company.
      description: 'Required scopes: `settings:booking:delete`.'
      operationId: BookingDeleteBatchV1
      requestBody:
        description: Identifiers to delete.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/BookingBatchDelete'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/BookingBatchDelete'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/BookingBatchDelete'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/bookings/create-batch:
    post:
      tags:
        - Booking
      summary: Creates a batch of bookings in the integration company.
      description: 'Required scopes: `settings:booking:create`.'
      operationId: BookingCreateBatchV1
      requestBody:
        description: Records to create.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/BookingBatchCreate'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/BookingBatchCreate'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/BookingBatchCreate'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BookingCreateResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/cades/signatures:
    get:
      tags:
        - CadesSignature
      summary: Returns a list of the version's cades signatures.
      description: 'Required scopes: `docs:signing:list`.'
      operationId: CadesSignatureListV1
      parameters:
        - name: versionId
          in: query
          description: Version UUID
          required: true
          schema:
            type: string
            format: uuid
        - name: searchMchdIds
          in: query
          description: Flag of intention to search for MCHD UUIDs
          schema:
            type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CadesVersionSignatureListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
    put:
      tags:
        - CadesSignature
      summary: Creates a new Cades signature.
      description: 'Required scopes: `docs:signing:create`.'
      operationId: CadesSignatureCreateV1
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/CadesSignatureCreate'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/CadesSignatureCreate'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/CadesSignatureCreate'
        required: true
      responses:
        '204':
          description: Cades signature successfully created.
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/boards/cards:
    post:
      tags:
        - Card
      summary: "Returns the cards of a dashboard, optionally narrowed to specific groups. Deleted cards,\nand cards of a deleted group or dashboard, are never returned."
      description: 'Required scopes: `dash:card:list`.'
      operationId: CardListV1
      parameters:
        - name: Take
          in: query
          description: The number of items to return. Default value is 20. Maximum value is 50.
          schema:
            maximum: 50
            minimum: 0
            type: integer
            format: int32
        - name: Skip
          in: query
          description: The number of items to skip. Default value is 0.
          schema:
            maximum: 2147483647
            minimum: 0
            type: integer
            format: int32
      requestBody:
        description: Card filter including the dashboard identifier.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/CardFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/CardFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/CardFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Card'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  '/public/v1/boards/cards/{cardId}':
    get:
      tags:
        - Card
      summary: "Returns a single card with its content. Deleted cards, and cards of a deleted group or\ndashboard, are not available through this endpoint and the request fails."
      description: 'Required scopes: `dash:card:read`.'
      operationId: CardGetV1
      parameters:
        - name: cardId
          in: path
          description: Card identifier.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Card'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/card-public-links/regenerate:
    patch:
      tags:
        - CardPublicLink
      summary: Regenerating the public link for the dashboard card
      description: 'Required scopes: `dash:card_public_link:update`.'
      operationId: CardPublicLinkRegenerateCardPubLinkV1
      parameters:
        - name: pubLink
          in: query
          description: card public link
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardPubLink'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/company/users:
    get:
      tags:
        - Company
      summary: Returns a list of users associated with a company.
      description: 'Required scopes: `company:user:list`.'
      operationId: CompanyListUsersV1
      parameters:
        - name: Take
          in: query
          description: The number of items to return. Default value is 100. Maximum value is 200.
          schema:
            maximum: 200
            minimum: 0
            type: integer
            format: int32
        - name: Skip
          in: query
          description: The number of items to skip. Default value is 0.
          schema:
            maximum: 2147483647
            minimum: 0
            type: integer
            format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CompanyUserInfo'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/company/roles:
    get:
      tags:
        - Company
      summary: Returns a list of roles associated with a company.
      description: 'Required scopes: `company:role:list`.'
      operationId: CompanyListRolesV1
      parameters:
        - name: Take
          in: query
          description: The number of items to return. Default value is 100. Maximum value is 200.
          schema:
            maximum: 200
            minimum: 0
            type: integer
            format: int32
        - name: Skip
          in: query
          description: The number of items to skip. Default value is 0.
          schema:
            maximum: 2147483647
            minimum: 0
            type: integer
            format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RoleInfo'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/company-users/by-telegram-id:
    get:
      tags:
        - CompanyUser
      operationId: CompanyUserGetUserIdByTelegramIdV1
      parameters:
        - name: telegramId
          in: query
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: string
                format: uuid
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/company-users:
    put:
      tags:
        - CompanyUser
      summary: Invites or adds a batch of new users to the company.
      description: 'Required scopes: `hub:company:user:create`.'
      operationId: CompanyUserAddCompanyUsersV1
      requestBody:
        description: Payload containing details of the users being added.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/CompanyUsersAdd'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/CompanyUsersAdd'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/CompanyUsersAdd'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CompanyUserAddResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
    delete:
      tags:
        - CompanyUser
      summary: Removes a batch of users from the company.
      description: 'Required scopes: `hub:company:user:delete`.'
      operationId: CompanyUserDeleteCompanyUsersV1
      requestBody:
        description: Payload containing the identifiers of users to remove.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/CompanyUsersDelete'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/CompanyUsersDelete'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/CompanyUsersDelete'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/company-user-custom-roles:
    put:
      tags:
        - CompanyUserCustomRole
      summary: Assigns or updates the custom roles for a specific user at the company level.
      description: "Required scopes: `company:role:update`.\n\n\nThis operation will overwrite the user's existing company-level custom roles with the provided list."
      operationId: CompanyUserCustomRoleSetCompanyUserCustomRolesV1
      requestBody:
        description: Payload containing the user ID and the collection of role identifiers to assign.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/CompanyUserCustomRolesSet'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/CompanyUserCustomRolesSet'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/CompanyUserCustomRolesSet'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  '/public/v1/docs/projects/{projectId}':
    get:
      tags:
        - DocsProject
      summary: Returns information about a project in Docs.
      description: 'Required scopes: `project:read`.'
      operationId: DocsProjectGetInfoV1
      parameters:
        - name: projectId
          in: path
          description: project UUID.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocsProjectInfo'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/docs/projects/storage-id:
    get:
      tags:
        - DocsProject
      summary: Retrieves the unique identifier of the storage assigned to a specific project.
      description: 'Required scopes: `project:read`.'
      operationId: DocsProjectGetStorageIdV1
      parameters:
        - name: projectId
          in: query
          description: The unique identifier of the project.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GuidNullableSimpleDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/documents-transfers:
    post:
      tags:
        - DocumentsTransfer
      summary: Returns a list of document transfers matching the given filter (with pagination).
      description: 'Required scopes: `docs:docs_transfer:list`.'
      operationId: DocumentsTransferListV1
      parameters:
        - name: Take
          in: query
          description: The number of items to return. Default value is 100. Maximum value is 200.
          schema:
            maximum: 200
            minimum: 0
            type: integer
            format: int32
        - name: Skip
          in: query
          description: The number of items to skip. Default value is 0.
          schema:
            maximum: 2147483647
            minimum: 0
            type: integer
            format: int32
      requestBody:
        description: Filter parameters including ProjectId.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/DocumentsTransfersFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/DocumentsTransfersFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/DocumentsTransfersFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DocumentsTransferListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
    get:
      tags:
        - DocumentsTransfer
      summary: Returns all detailed data for a specific document transfer by its identifier.
      description: 'Required scopes: `docs:docs_transfer:read`.'
      operationId: DocumentsTransferGetAllDataV1
      parameters:
        - name: id
          in: query
          description: Unique identifier of the document transfer.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentsTransferAllData'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/documents-transfers/count:
    post:
      tags:
        - DocumentsTransfer
      summary: Returns the total number of document transfers matching the given filter.
      description: 'Required scopes: `docs:docs_transfer:list`.'
      operationId: DocumentsTransferListCountV1
      requestBody:
        description: Filter parameters including ProjectId.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/DocumentsTransfersFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/DocumentsTransfersFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/DocumentsTransfersFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Int32SimpleDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/documents-transfers/create:
    post:
      tags:
        - DocumentsTransfer
      summary: Creates a new document transfer.
      description: 'Required scopes: `docs:docs_transfer:create`.'
      operationId: DocumentsTransferCreateV1
      requestBody:
        description: Model containing new document transfer properties.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/DocumentsTransferCreate'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/DocumentsTransferCreate'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/DocumentsTransferCreate'
        required: true
      responses:
        '200':
          description: Returns the unique identifier of the created document transfer.
          content:
            application/json:
              schema:
                type: string
                format: uuid
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/documents-transfer-acceptances/send:
    post:
      tags:
        - DocumentsTransferAcceptance
      summary: Sends a prepared document transfer to a recipient.
      description: 'Required scopes: `docs:docs_transfer:update`.'
      operationId: DocumentsTransferAcceptanceSendV1
      requestBody:
        description: Model containing document transfer send properties.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/DocumentsTransferSend'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/DocumentsTransferSend'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/DocumentsTransferSend'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/documents-transfers/accesses:
    post:
      tags:
        - DocumentsTransferAccesses
      summary: Returns a list of access rules for the specified document transfer types.
      description: 'Required scopes: `docs:docs_transfer:list`.'
      operationId: DocumentsTransferAccessesListV1
      requestBody:
        description: Filter parameters including transfer type identifiers.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/DocumentsTransferAccessesFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/DocumentsTransferAccessesFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/DocumentsTransferAccessesFind'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DocumentsTransferAccessListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/documents-transfer-items:
    post:
      tags:
        - DocumentsTransferItem
      summary: Returns a list of items included in the specified document transfer (with pagination).
      description: 'Required scopes: `docs:docs_transfer:list`.'
      operationId: DocumentsTransferItemListV1
      parameters:
        - name: Take
          in: query
          description: The number of items to return. Default value is 100. Maximum value is 200.
          schema:
            maximum: 200
            minimum: 0
            type: integer
            format: int32
        - name: Skip
          in: query
          description: The number of items to skip. Default value is 0.
          schema:
            maximum: 2147483647
            minimum: 0
            type: integer
            format: int32
      requestBody:
        description: Filter parameters including the target DocumentsTransferId.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/DocumentsTransferItemFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/DocumentsTransferItemFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/DocumentsTransferItemFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DocumentsTransferItemListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/documents-transfer-items/count:
    post:
      tags:
        - DocumentsTransferItem
      summary: Returns the total number of items included in the specified document transfer.
      description: 'Required scopes: `docs:docs_transfer:list`.'
      operationId: DocumentsTransferItemListCountV1
      requestBody:
        description: Filter parameters including the target DocumentsTransferId.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/DocumentsTransferItemFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/DocumentsTransferItemFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/DocumentsTransferItemFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Int32SimpleDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/documents-transfer-items/download:
    get:
      tags:
        - DocumentsTransferItem
      summary: Issues a time-limited download ticket for a specific document transfer item.
      description: 'Required scopes: `docs:docs_transfer:read`.'
      operationId: DocumentsTransferItemDownloadV1
      parameters:
        - name: documentsTransferItemId
          in: query
          description: Identifier of the document transfer item to download.
          required: true
          schema:
            type: string
            format: uuid
        - name: fileName
          in: query
          description: Optional file name hint used for the resulting download.
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentsTransferItemDownloadTicket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/documents-transfer-items/add:
    post:
      tags:
        - DocumentsTransferItem
      summary: Adds item versions to an existing document transfer.
      description: 'Required scopes: `docs:docs_transfer:update`.'
      operationId: DocumentsTransferItemAddItemsV1
      requestBody:
        description: Model containing the document transfer and item version identifiers.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/DocumentsTransferItemsAdd'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/DocumentsTransferItemsAdd'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/DocumentsTransferItemsAdd'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/documents-transfers/types:
    post:
      tags:
        - DocumentsTransferType
      summary: Returns a list of document transfer types matching the given filter.
      description: 'Required scopes: `docs:docs_transfer:list`.'
      operationId: DocumentsTransferTypeListV1
      requestBody:
        description: Filter parameters including ProjectId.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/DocumentsTransferTypeFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/DocumentsTransferTypeFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/DocumentsTransferTypeFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DocumentsTransferTypeListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/embedded/signatures:
    get:
      tags:
        - EmbeddedSignature
      summary: Returns a list of the item`s embedded signatures.
      description: 'Required scopes: `docs:signing:list`.'
      operationId: EmbeddedSignatureListV1
      parameters:
        - name: itemId
          in: query
          description: Item UUID.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EmbeddedVersionSignatureListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
    put:
      tags:
        - EmbeddedSignature
      summary: Creates a new embedded signature.
      description: 'Required scopes: `docs:signing:create`.'
      operationId: EmbeddedSignatureCreateV1
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/EmbeddedSignatureCreate'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/EmbeddedSignatureCreate'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/EmbeddedSignatureCreate'
        required: true
      responses:
        '204':
          description: Embedded signature successfully created.
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  '/public/v1/folders/{folderId}/children':
    get:
      tags:
        - Folder
      summary: Returns a list of folder`s children.
      description: 'Required scopes: `docs:folder:list`.'
      operationId: FolderListChildrenV1
      parameters:
        - name: folderId
          in: path
          description: Folder UUID.
          required: true
          schema:
            type: string
            format: uuid
        - name: deleted
          in: query
          description: Include deleted items.
          schema:
            type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FolderListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/folders:
    put:
      tags:
        - Folder
      summary: Creates a folder. Returns the id of the created folder.
      description: 'Required scopes: `docs:folder:create`.'
      operationId: FolderCreateV1
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/FolderCreate'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/FolderCreate'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/FolderCreate'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GuidSimpleDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
    patch:
      tags:
        - Folder
      summary: Updates the folder.
      description: 'Required scopes: `docs:folder:update`.'
      operationId: FolderUpdateV1
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/FolderUpdate'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/FolderUpdate'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/FolderUpdate'
        required: true
      responses:
        '204':
          description: Folder successfully updated.
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  '/public/v1/folders/{folderId}':
    delete:
      tags:
        - Folder
      summary: Moves a folder to the trash.
      description: 'Required scopes: `docs:folder:delete`.'
      operationId: FolderDeleteV1
      parameters:
        - name: folderId
          in: path
          description: Folder UUID to delete.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: Folder successfully deleted.
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  '/public/v1/projects/{projectId}/folders/tree':
    get:
      tags:
        - Folder
      summary: Retrieves the full folder tree of the specified project with user permissions.
      description: 'Required scopes: `docs:folder:read`.'
      operationId: FolderGetProjectTreeV1
      parameters:
        - name: projectId
          in: path
          description: The unique identifier of the project.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Returns the project folder tree with user permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FolderNodeUserPermissions'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/naming-patterns/folder-items/find:
    get:
      tags:
        - FolderItemsNamingPattern
      summary: Returns folder`s naming patterns for files.
      description: 'Required scopes: `docs:item:create`.'
      operationId: FolderItemsNamingPatternFindV1
      parameters:
        - name: folderId
          in: query
          description: Folder UUID.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FolderItemsNamingPatternsValueDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/forge/convert:
    post:
      tags:
        - Forge
      summary: "Initiates model conversion using Forge.\nSupported file formats:\n.cad, .dwg, .rvt, .rfa, .rte, .nwc, .nwd, .dwf, .dwfx,\n.dxf, .dgn, .rvn, .fbx, .3ds, .3dm, .skp, .rng, .pln,\n.obj, .dae, .nwf, .stl, .ifc, .sat, .step, .stp, .pdf."
      description: 'Required scopes: `docs:viewer:execute`.'
      operationId: ForgeConvertV1
      requestBody:
        description: Conversion parameters including the version ID.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ForgeConvert'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ForgeConvert'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ForgeConvert'
        required: true
      responses:
        '204':
          description: Conversion request accepted.
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/forge/item-versions/viewer:
    post:
      tags:
        - Forge
      summary: Retrieves the necessary authentication token and model identifiers (URNs) to render documents in the Forge Viewer.
      description: 'Required scopes: `docs:viewer:read`.'
      operationId: ForgeGetViewersDataV1
      requestBody:
        description: 'Parameters detailing the project and specific item versions to view (min: 1, max: 25 items).'
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ForgeModelsToViewRequest'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ForgeModelsToViewRequest'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ForgeModelsToViewRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForgeModelsToView'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/forms/fields/types:
    post:
      tags:
        - FormFieldType
      summary: Retrieves a list of form field types matching the specified filter criteria.
      description: 'Required scopes: `forms:form_field_type:list`.'
      operationId: FormFieldTypeListV1
      requestBody:
        description: Filter parameters for form field types.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/FormFieldTypeFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/FormFieldTypeFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/FormFieldTypeFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FormFieldType'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/forms/types:
    post:
      tags:
        - FormType
      summary: Retrieves a list of form types matching the specified filter criteria.
      description: 'Required scopes: `forms:form_type:list`.'
      operationId: FormTypeListV1
      requestBody:
        description: Filter parameters for form types.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/FormTypeFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/FormTypeFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/FormTypeFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FormType'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/forms/types/groups:
    post:
      tags:
        - FormTypeGroup
      summary: Retrieves a list of form type groups matching the specified filter criteria.
      description: 'Required scopes: `forms:form_type_group:list`.'
      operationId: FormTypeGroupListV1
      requestBody:
        description: Filter parameters for form type groups.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/FormTypeGroupFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/FormTypeGroupFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/FormTypeGroupFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FormTypeGroup'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/boards/groups:
    post:
      tags:
        - Group
      summary: "Returns the card groups of a dashboard. Deleted groups, and groups of a deleted\ndashboard, are never returned."
      description: 'Required scopes: `dash:group:list`.'
      operationId: GroupListV1
      parameters:
        - name: Take
          in: query
          description: The number of items to return. Default value is 100. Maximum value is 200.
          schema:
            maximum: 200
            minimum: 0
            type: integer
            format: int32
        - name: Skip
          in: query
          description: The number of items to skip. Default value is 0.
          schema:
            maximum: 2147483647
            minimum: 0
            type: integer
            format: int32
      requestBody:
        description: Group filter including the dashboard identifier.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/GroupFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/GroupFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/GroupFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Group'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/issues:
    post:
      tags:
        - Issue
      summary: Returns a list of issues matching the given filter (with pagination).
      description: 'Required scopes: `docs:issue:list`.'
      operationId: IssueListV1
      parameters:
        - name: Take
          in: query
          description: The number of items to return. Default value is 100. Maximum value is 200.
          schema:
            maximum: 200
            minimum: 0
            type: integer
            format: int32
        - name: Skip
          in: query
          description: The number of items to skip. Default value is 0.
          schema:
            maximum: 2147483647
            minimum: 0
            type: integer
            format: int32
      requestBody:
        description: Issue filter including ProjectId.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IssueListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
    patch:
      tags:
        - Issue
      summary: Updates multiple issues in a batch operation.
      description: 'Required scopes: `docs:issue:update`.'
      operationId: IssueUpdateV1
      requestBody:
        description: 'A collection of IssueUpdate objects containing the properties to update (min: 1, max: 25 items).'
        content:
          application/json:
            schema:
              maxItems: 25
              minItems: 1
              type: array
              items:
                $ref: '#/components/schemas/IssueUpdate'
          text/json:
            schema:
              maxItems: 25
              minItems: 1
              type: array
              items:
                $ref: '#/components/schemas/IssueUpdate'
          application/*+json:
            schema:
              maxItems: 25
              minItems: 1
              type: array
              items:
                $ref: '#/components/schemas/IssueUpdate'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/issues/count:
    post:
      tags:
        - Issue
      summary: Returns the total number of issues matching the given filter.
      description: 'Required scopes: `docs:issue:list`.'
      operationId: IssueListCountV1
      requestBody:
        description: Filter parameters for issues.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Int32SimpleDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/issues/items/counts:
    post:
      tags:
        - Issue
      summary: Returns the number of issues linked to each of the specified items.
      description: 'Required scopes: `docs:issue:list`.'
      operationId: IssueListItemIssuesCountV1
      requestBody:
        description: Parameters specifying project and items.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ItemsIssuesCountGet'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ItemsIssuesCountGet'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ItemsIssuesCountGet'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IssueCountListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/issues/create:
    post:
      tags:
        - Issue
      summary: Creates a new issue.
      description: 'Required scopes: `docs:issue:create`.'
      operationId: IssueCreateV1
      requestBody:
        description: Issue creation parameters.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueCreate'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueCreate'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueCreate'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: string
                format: uuid
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/issues/accesses:
    post:
      tags:
        - IssueAccesses
      summary: Returns a list of issue access rules.
      description: 'Required scopes: `docs:issue:list`.'
      operationId: IssueAccessesListV1
      requestBody:
        description: Issue filter including IssueTypeIds.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueAccessesFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueAccessesFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueAccessesFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IssueAccessListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/issues/attachments:
    post:
      tags:
        - IssueAttachment
      summary: Returns a list of attachments for the specified issue.
      description: 'Required scopes: `docs:issue:list`.'
      operationId: IssueAttachmentListV1
      requestBody:
        description: Issue filter including IssueId.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueAttachmentFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueAttachmentFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueAttachmentFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IssueAttachmentListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/issues/attachments/object/download:
    post:
      tags:
        - IssueAttachment
      summary: Creates a download ticket for an attachment object.
      description: 'Required scopes: `docs:issue:read`.'
      operationId: IssueAttachmentDownloadObjectV1
      requestBody:
        description: Download object model containing issue attachment id.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueAttachmentDownloadObject'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueAttachmentDownloadObject'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueAttachmentDownloadObject'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueAttachmentDownloadTicket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/issues/comments:
    post:
      tags:
        - IssueComment
      summary: Returns a list of comments for issues in the specified project.
      description: 'Required scopes: `docs:issue:list`.'
      operationId: IssueCommentListV1
      parameters:
        - name: Take
          in: query
          description: The number of items to return. Default value is 100. Maximum value is 200.
          schema:
            maximum: 200
            minimum: 0
            type: integer
            format: int32
        - name: Skip
          in: query
          description: The number of items to skip. Default value is 0.
          schema:
            maximum: 2147483647
            minimum: 0
            type: integer
            format: int32
      requestBody:
        description: 'Filter parameters for comments (project, issue, author, etc.).'
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueCommentFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueCommentFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueCommentFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IssueCommentListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
    put:
      tags:
        - IssueComment
      summary: Creates a new comment for the specified issue.
      description: 'Required scopes: `docs:issue:create`.'
      operationId: IssueCommentCreateV1
      requestBody:
        description: Comment creation parameters.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueCommentCreate'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueCommentCreate'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueCommentCreate'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GuidSimpleDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/issues/comments/count:
    post:
      tags:
        - IssueComment
      summary: Returns the total number of comments matching the given filter.
      description: 'Required scopes: `docs:issue:list`.'
      operationId: IssueCommentListCountV1
      requestBody:
        description: 'Filter parameters for comments (project, issue, author, etc.).'
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueCommentFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueCommentFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueCommentFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Int32SimpleDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/issues/events:
    post:
      tags:
        - IssueEvents
      summary: Returns a list of issue events matching the given filter (with pagination).
      description: 'Required scopes: `docs:issue:list`.'
      operationId: IssueEventsListV1
      parameters:
        - name: Take
          in: query
          description: The number of items to return. Default value is 100. Maximum value is 200.
          schema:
            maximum: 200
            minimum: 0
            type: integer
            format: int32
        - name: Skip
          in: query
          description: The number of items to skip. Default value is 0.
          schema:
            maximum: 2147483647
            minimum: 0
            type: integer
            format: int32
      requestBody:
        description: Issue event filter including IssueId.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueEventFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueEventFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueEventFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IssueEventListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/issues/events/count:
    post:
      tags:
        - IssueEvents
      summary: Returns the total number of issue events matching the given filter.
      description: 'Required scopes: `docs:issue:list`.'
      operationId: IssueEventsListCountV1
      requestBody:
        description: Issue event filter including IssueId.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueEventFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueEventFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueEventFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Int32SimpleDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/issues/settings/project:
    get:
      tags:
        - IssueProjectSettings
      summary: Returns project settings by the given project identifier.
      description: 'Required scopes: `docs:issue:read`.'
      operationId: IssueProjectSettingsGetV1
      parameters:
        - name: projectId
          in: query
          description: The project identifier.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IssueProjectSettings'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/issues/types:
    post:
      tags:
        - IssueType
      summary: Returns a list of issue types matching the given filter.
      description: 'Required scopes: `docs:issue:list`.'
      operationId: IssueTypeListV1
      requestBody:
        description: 'Filter parameters for issue types, including project identifier.'
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueTypeFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueTypeFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/IssueTypeFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IssueTypeListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/items/file:
    put:
      tags:
        - Item
      summary: Creates a new File item with a version and attaches it to the item. Returns the id of the created item.
      description: 'Required scopes: `docs:item:create`.'
      operationId: ItemCreateV1
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/FileItemCreate'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/FileItemCreate'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/FileItemCreate'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GuidSimpleDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/items/link:
    put:
      tags:
        - Item
      summary: Creates a new Link item. Returns the id of the created item.
      description: 'Required scopes: `docs:item:create`.'
      operationId: ItemCreateV1
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/LinkItemCreate'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/LinkItemCreate'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/LinkItemCreate'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GuidSimpleDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/items:
    get:
      tags:
        - Item
      summary: Returns a folder`s not nested items list.
      description: 'Required scopes: `docs:item:list`.'
      operationId: ItemListV1
      parameters:
        - name: folderId
          in: query
          description: Folder UUID.
          required: true
          schema:
            type: string
            format: uuid
        - name: deleted
          in: query
          description: Filter by deleted/non-deleted items. Returns all if `null`.
          schema:
            type: boolean
        - name: Take
          in: query
          description: The number of items to return. Default value is 100. Maximum value is 200.
          schema:
            maximum: 200
            minimum: 0
            type: integer
            format: int32
        - name: Skip
          in: query
          description: The number of items to skip. Default value is 0.
          schema:
            maximum: 2147483647
            minimum: 0
            type: integer
            format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ItemsListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/items/count:
    get:
      tags:
        - Item
      summary: Returns a folder`s not nested items count.
      description: 'Required scopes: `docs:item:list`.'
      operationId: ItemListCountV1
      parameters:
        - name: folderId
          in: query
          description: Folder UUID to find in.
          required: true
          schema:
            type: string
            format: uuid
        - name: deleted
          in: query
          description: ''
          schema:
            type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Int32SimpleDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/items/search:
    post:
      tags:
        - Item
      summary: Returns a folder`s nested items search result.
      description: 'Required scopes: `docs:item:list`.'
      operationId: ItemSearchV1
      parameters:
        - name: Take
          in: query
          description: The number of items to return. Default value is 100. Maximum value is 200.
          schema:
            maximum: 200
            minimum: 0
            type: integer
            format: int32
        - name: Skip
          in: query
          description: The number of items to skip. Default value is 0.
          schema:
            maximum: 2147483647
            minimum: 0
            type: integer
            format: int32
      requestBody:
        description: Search model containing folder ID and search parameters.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ItemSearch'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ItemSearch'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ItemSearch'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ItemsListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/items/item-version:
    get:
      tags:
        - Item
      summary: Retrieves a specific item version by its unique identifier.
      description: 'Required scopes: `docs:item:read`.'
      operationId: ItemGetItemVersionV1
      parameters:
        - name: id
          in: query
          description: The unique identifier of the item version record.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemVersion'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/items/download:
    get:
      tags:
        - Item
      summary: Returns S3 download ticket.
      description: 'Required scopes: `docs:item:read`.'
      operationId: ItemDownloadV1
      parameters:
        - name: itemId
          in: query
          description: Item UUID.
          required: true
          schema:
            type: string
            format: uuid
        - name: versionId
          in: query
          description: Version UUID.
          required: true
          schema:
            type: string
            format: uuid
        - name: fileName
          in: query
          description: ''
          schema:
            type: string
        - name: urlTtlSecOverride
          in: query
          description: Download url ttl in seconds. Can be set only for getting objects from custom storages
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemDownloadTicket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/items/versions:
    put:
      tags:
        - Item
      summary: Attaches a new version to an existing item.
      description: 'Required scopes: `docs:version:create`.'
      operationId: ItemAttachVersionV1
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ItemAttachVersion'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ItemAttachVersion'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ItemAttachVersion'
        required: true
      responses:
        '204':
          description: Version successfully attached.
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/items/update:
    patch:
      tags:
        - Item
      summary: Updates an existing item.
      description: 'Required scopes: `docs:item:update`.'
      operationId: ItemUpdateV1
      requestBody:
        description: Model containing the updated item properties.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ItemUpdate'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ItemUpdate'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ItemUpdate'
        required: true
      responses:
        '204':
          description: Item successfully updated.
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/items/move:
    patch:
      tags:
        - Item
      summary: Moves an item to another folder.
      description: 'Required scopes: `docs:item:update`.'
      operationId: ItemMoveV1
      requestBody:
        description: Model containing parameters for moving the item.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ItemMove'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ItemMove'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ItemMove'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/items/versions/update:
    patch:
      tags:
        - Item
      summary: Updates an existing item version.
      description: 'Required scopes: `docs:version:update`.'
      operationId: ItemUpdateVersionV1
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ItemVersionUpdate'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ItemVersionUpdate'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ItemVersionUpdate'
        required: true
      responses:
        '204':
          description: Version successfully updated.
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  '/public/v1/items/{itemId}':
    delete:
      tags:
        - Item
      summary: Moves an item to the trash.
      description: 'Required scopes: `docs:item:delete`.'
      operationId: ItemDeleteV1
      parameters:
        - name: itemId
          in: path
          description: Item UUID to delete
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: Item successfully moved to the trash.
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/mchd/company:
    get:
      tags:
        - Mchd
      summary: Returns a list of mchd UUIDs for the company.
      description: 'Required scopes: `docs:signing:list`.'
      operationId: MchdGetCompanyMchdDocumentsV1
      parameters:
        - name: Take
          in: query
          description: The number of items to return. Default value is 100. Maximum value is 200.
          schema:
            maximum: 200
            minimum: 0
            type: integer
            format: int32
        - name: Skip
          in: query
          description: The number of items to skip. Default value is 0.
          schema:
            maximum: 2147483647
            minimum: 0
            type: integer
            format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GuidIReadOnlyCollectionSimpleDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  '/public/v1/mchd/cades/signatures/{cadesSignatureId}':
    get:
      tags:
        - Mchd
      summary: Returns a list of mchd ids attached to the cades signature.
      description: 'Required scopes: `docs:signing:list`.'
      operationId: MchdGetAttachedMchdDocumentsV1
      parameters:
        - name: cadesSignatureId
          in: path
          description: cades signature UUID.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AttachedMchdDocumentListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  '/public/v1/mchd/{mchdId}/object/download':
    get:
      tags:
        - Mchd
      summary: Returns a download ticket of mchd.
      description: 'Required scopes: `docs:signing:read`.'
      operationId: MchdDownloadV1
      parameters:
        - name: mchdId
          in: path
          description: mchd UUID.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MchdObjectDownloadTicket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/objects:
    put:
      tags:
        - Object
      summary: Returns the object upload ticket. Each object must be committed.
      description: 'Required scopes: `docs:object:create`.'
      operationId: ObjectCreateV1
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ObjectCreate'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ObjectCreate'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ObjectCreate'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectUploadTicket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  '/public/v1/objects/{objectId}/uploading/commit':
    post:
      tags:
        - Object
      summary: Commiting object upload after put it in S3.
      description: 'Required scopes: `docs:object:create`.'
      operationId: ObjectCommitUploadingV1
      parameters:
        - name: objectId
          in: path
          description: Object UUID.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/permissions/folders/upsert:
    post:
      tags:
        - Permissions
      summary: Creates or updates user and role permissions for a specific folder.
      description: 'Required scopes: `docs:permissions:update`.'
      operationId: PermissionsUpsertBatchV1
      requestBody:
        description: Model defining the target folder and permission set to apply.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/PermissionUpsertBatch'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/PermissionUpsertBatch'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/PermissionUpsertBatch'
        required: true
      responses:
        '200':
          description: OK
        '204':
          description: Permissions successfully set.
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/permissions/tree:
    get:
      tags:
        - Permissions
      summary: Returns a tree structure of project folders with their associated permissions.
      description: 'Required scopes: `docs:permissions:read`.'
      operationId: PermissionsGetProjectPermissionsTreeV1
      parameters:
        - name: projectId
          in: query
          description: Identifier of the project.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FolderNodePermissions'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  '/public/v1/permissions/{permissionId}':
    delete:
      tags:
        - Permissions
      summary: Deletes a specific permission.
      description: 'Required scopes: `docs:permissions:delete`.'
      operationId: PermissionsDeleteV1
      parameters:
        - name: permissionId
          in: path
          description: Identifier of the permission to delete.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  '/public/v1/projects/{projectId}':
    get:
      tags:
        - Project
      summary: Returns information about a specific project.
      description: 'Required scopes: `project:read`.'
      operationId: ProjectGetV1
      parameters:
        - name: projectId
          in: path
          description: Project UUID.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HubProjectInfo'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/projects:
    get:
      tags:
        - Project
      summary: Returns a company's projects list.
      description: 'Required scopes: `project:list`.'
      operationId: ProjectListV1
      parameters:
        - name: Take
          in: query
          description: The number of items to return. Default value is 100. Maximum value is 200.
          schema:
            maximum: 200
            minimum: 0
            type: integer
            format: int32
        - name: Skip
          in: query
          description: The number of items to skip. Default value is 0.
          schema:
            maximum: 2147483647
            minimum: 0
            type: integer
            format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
    patch:
      tags:
        - Project
      summary: Updates an existing project's basic information.
      description: 'Required scopes: `project:update`.'
      operationId: ProjectUpdateV1
      requestBody:
        description: Model containing the updated project properties.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectUpdate'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectUpdate'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectUpdate'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  '/public/v1/projects/{projectId}/users':
    get:
      tags:
        - Project
      summary: Returns a list of users associated with a given project.
      description: 'Required scopes: `project:user:list`.'
      operationId: ProjectListUsersV1
      parameters:
        - name: projectId
          in: path
          description: Project UUID.
          required: true
          schema:
            type: string
            format: uuid
        - name: Take
          in: query
          description: The number of items to return. Default value is 100. Maximum value is 200.
          schema:
            maximum: 200
            minimum: 0
            type: integer
            format: int32
        - name: Skip
          in: query
          description: The number of items to skip. Default value is 0.
          schema:
            maximum: 2147483647
            minimum: 0
            type: integer
            format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectUserInfo'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  '/public/v1/projects/{projectId}/users/{userId}/permissions':
    get:
      tags:
        - Project
      summary: Returns information about a specific user's permissions in a project.
      description: "Required scopes: `project:user:read`.\n\nIf the user does not have permissions in a project, a 404 error is returned."
      operationId: ProjectGetUserPermissionsV1
      parameters:
        - name: projectId
          in: path
          description: Project UUID.
          required: true
          schema:
            type: string
            format: uuid
        - name: userId
          in: path
          description: User UUID.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectUserPermissions'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  '/public/v1/projects/{projectId}/roles':
    get:
      tags:
        - Project
      summary: Returns a list of roles associated with a given project.
      description: 'Required scopes: `project:role:list`.'
      operationId: ProjectListRolesV1
      parameters:
        - name: projectId
          in: path
          description: Project UUID.
          required: true
          schema:
            type: string
            format: uuid
        - name: Take
          in: query
          description: The number of items to return. Default value is 100. Maximum value is 200.
          schema:
            maximum: 200
            minimum: 0
            type: integer
            format: int32
        - name: Skip
          in: query
          description: The number of items to skip. Default value is 0.
          schema:
            maximum: 2147483647
            minimum: 0
            type: integer
            format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RoleInfo'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/projects/forms:
    post:
      tags:
        - ProjectForm
      summary: Retrieves a paginated list of project forms matching the specified filter and order criteria.
      description: 'Required scopes: `forms:project_form:list`.'
      operationId: ProjectFormListV1
      parameters:
        - name: Take
          in: query
          description: The number of items to return. Default value is 20. Maximum value is 50.
          schema:
            maximum: 50
            minimum: 0
            type: integer
            format: int32
        - name: Skip
          in: query
          description: The number of items to skip. Default value is 0.
          schema:
            maximum: 2147483647
            minimum: 0
            type: integer
            format: int32
      requestBody:
        description: Filter and ordering parameters.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormFindOrdered'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormFindOrdered'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormFindOrdered'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectFormRegistryResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/projects/forms/count:
    post:
      tags:
        - ProjectForm
      summary: Retrieves the total number of project forms matching the specified filter criteria.
      description: 'Required scopes: `forms:project_form:list`.'
      operationId: ProjectFormListCountV1
      requestBody:
        description: Search and filter parameters.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: integer
                format: int32
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/projects/forms/get:
    post:
      tags:
        - ProjectForm
      summary: Retrieves a project form by its identifier.
      description: 'Required scopes: `forms:project_form:read`.'
      operationId: ProjectFormGetV1
      requestBody:
        description: Parameters containing project form identifier.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormGet'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormGet'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormGet'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectForm'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/projects/forms/get-summary:
    post:
      tags:
        - ProjectForm
      summary: Retrieves summaries of the specified project forms.
      description: 'Required scopes: `forms:project_form:read`.'
      operationId: ProjectFormGetSummaryV1
      requestBody:
        description: Project and form identifiers.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormsSummaryGet'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormsSummaryGet'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormsSummaryGet'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectFormSummary'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/projects/forms/find-form-source:
    post:
      tags:
        - ProjectForm
      summary: Finds form source project forms for the specified field type and criteria.
      description: 'Required scopes: `forms:project_form:list`.'
      operationId: ProjectFormFindFormSourceV1
      requestBody:
        description: Filter criteria for finding form source project forms.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/FormSourceProjectFormFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/FormSourceProjectFormFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/FormSourceProjectFormFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FormSourceProjectFormResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/projects/forms/get-values-for-template-item:
    post:
      tags:
        - ProjectForm
      summary: Retrieves template values for a project form.
      description: 'Required scopes: `forms:project_form:read`.'
      operationId: ProjectFormGetValuesForTemplateItemV1
      requestBody:
        description: Parameters containing project form identifier.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormValuesForTemplateItemGet'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormValuesForTemplateItemGet'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormValuesForTemplateItemGet'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectFormValuesForTemplateItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/projects/forms/get-download-url-by-template-item:
    post:
      tags:
        - ProjectForm
      summary: Retrieves a download URL for a project form template item.
      description: 'Required scopes: `forms:project_form:read`.'
      operationId: ProjectFormGetDownloadUrlByTemplateItemV1
      requestBody:
        description: Project form and template item identifiers.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormTemplateItemDownloadUrlGet'
              description: Parameters for retrieving a project form template item download URL.
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormTemplateItemDownloadUrlGet'
              description: Parameters for retrieving a project form template item download URL.
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormTemplateItemDownloadUrlGet'
              description: Parameters for retrieving a project form template item download URL.
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectFormItemDownloadTicket'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/projects/forms/create-batch:
    post:
      tags:
        - ProjectForm
      summary: Creates a batch of project forms.
      description: 'Required scopes: `forms:project_form:create`.'
      operationId: ProjectFormCreateBatchV1
      requestBody:
        description: Parameters containing project forms batch data.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormBatchCreate'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormBatchCreate'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormBatchCreate'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
                  format: uuid
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/projects/forms/update:
    patch:
      tags:
        - ProjectForm
      summary: Updates an existing project form.
      description: 'Required scopes: `forms:project_form:update`.'
      operationId: ProjectFormUpdateV1
      requestBody:
        description: Parameters containing project form data to update.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormUpdate'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormUpdate'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormUpdate'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/projects/forms/complete:
    patch:
      tags:
        - ProjectForm
      summary: Completes an existing project form.
      description: 'Required scopes: `forms:project_form:update`.'
      operationId: ProjectFormCompleteV1
      requestBody:
        description: Parameters containing project form identifier.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormComplete'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormComplete'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormComplete'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/projects/forms/fields/types:
    post:
      tags:
        - ProjectFormFieldType
      summary: Retrieves project form field types and related display sources matching the specified filter criteria.
      description: 'Required scopes: `forms:project_form_field_type:list`.'
      operationId: ProjectFormFieldTypeListV1
      requestBody:
        description: Filter parameters including project form type identifier.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormFieldTypeFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormFieldTypeFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormFieldTypeFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectFormFieldTypeFindResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/projects/forms/types:
    post:
      tags:
        - ProjectFormType
      summary: Retrieves a list of project form types matching the specified filter criteria.
      description: 'Required scopes: `forms:project_form_type:list`.'
      operationId: ProjectFormTypeListV1
      requestBody:
        description: Filter parameters including project identifier.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormTypeFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormTypeFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectFormTypeFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectFormType'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/project-users:
    put:
      tags:
        - ProjectUser
      summary: Adds a batch of users to multiple projects.
      description: 'Required scopes: `hub:project:user:create`.'
      operationId: ProjectUserAddProjectsUsersV1
      requestBody:
        description: Data containing the specific users and target projects.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectsUsersAdd'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectsUsersAdd'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectsUsersAdd'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
    delete:
      tags:
        - ProjectUser
      summary: Removes a batch of users from multiple projects.
      description: 'Required scopes: `hub:project:user:delete`.'
      operationId: ProjectUserDeleteProjectsUsersV1
      requestBody:
        description: Data containing the users and projects they should be removed from.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectsUsersDelete'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectsUsersDelete'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectsUsersDelete'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/project-user-custom-roles:
    put:
      tags:
        - ProjectUserCustomRole
      summary: Assigns or updates the custom roles for a specific user within a specific project.
      description: "Required scopes: `project:role:update`.\n\n\nThis operation will overwrite the user's existing custom roles in the project with the provided list."
      operationId: ProjectUserCustomRoleSetProjectUserCustomRolesV1
      requestBody:
        description: 'Payload containing the project ID, user ID, and the collection of role identifiers to assign.'
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectUserCustomRolesSet'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectUserCustomRolesSet'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ProjectUserCustomRolesSet'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/reviews:
    post:
      tags:
        - Review
      summary: Retrieves a list of reviews for the specified project.
      description: 'Required scopes: `docs:review:list`.'
      operationId: ReviewListV1
      parameters:
        - name: Take
          in: query
          description: The number of items to return. Default value is 20. Maximum value is 50.
          schema:
            maximum: 50
            minimum: 0
            type: integer
            format: int32
        - name: Skip
          in: query
          description: The number of items to skip. Default value is 0.
          schema:
            maximum: 2147483647
            minimum: 0
            type: integer
            format: int32
      requestBody:
        description: Search and filter parameters.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewFindOrdered'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewFindOrdered'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewFindOrdered'
        required: true
      responses:
        '200':
          description: Returns a collection of reviews.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ReviewListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
    patch:
      tags:
        - Review
      summary: Updates review basic information.
      description: 'Required scopes: `docs:review:update`.'
      operationId: ReviewUpdateV1
      requestBody:
        description: Parameters specifying review fields to update.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewUpdate'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewUpdate'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewUpdate'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/reviews/count:
    post:
      tags:
        - Review
      summary: Retrieves the total number of reviews matching the specified filter.
      description: 'Required scopes: `docs:review:list`.'
      operationId: ReviewListCountV1
      requestBody:
        description: Search and filter parameters.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewFind'
        required: true
      responses:
        '200':
          description: Returns the total count of matching reviews.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Int32SimpleDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/reviews/versions:
    post:
      tags:
        - Review
      summary: Returns review versions by the specified identifiers.
      description: 'Required scopes: `docs:review:list`.'
      operationId: ReviewGetVersionsV1
      requestBody:
        description: Parameters specifying review version identifiers.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewVersionsGet'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewVersionsGet'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewVersionsGet'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ReviewVersion'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/reviews/versions/item-versions:
    post:
      tags:
        - Review
      summary: Retrieves item version identifiers grouped by review version identifiers.
      description: 'Required scopes: `docs:review:list`.'
      operationId: ReviewFindItemVersionIdsByReviewVersionIdsV1
      requestBody:
        description: Request model containing review version identifiers.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewVersionItemVersionIdsFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewVersionItemVersionIdsFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewVersionItemVersionIdsFind'
        required: true
      responses:
        '200':
          description: "Returns a dictionary where the key is a review version identifier\nand the value is a collection of related item version identifiers."
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: array
                  items:
                    type: string
                    format: uuid
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/reviews/create:
    post:
      tags:
        - Review
      summary: Creates a new review.
      description: 'Required scopes: `docs:review:create`.'
      operationId: ReviewCreateV1
      requestBody:
        description: Model containing the new review properties.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewCreate'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewCreate'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewCreate'
        required: true
      responses:
        '200':
          description: Returns the unique identifier of the created review.
          content:
            application/json:
              schema:
                type: string
                format: uuid
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/reviews/type:
    patch:
      tags:
        - Review
      summary: Sets or updates the type of existing review.
      description: 'Required scopes: `docs:review:update`.'
      operationId: ReviewSetTypeV1
      requestBody:
        description: Model containing the review type update properties.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewSetType'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewSetType'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewSetType'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/reviews/comment:
    patch:
      tags:
        - Review
      summary: 'Sets or clears the comment of the latest review version, in any review status except deleted.'
      description: 'Required scopes: `docs:review:update`.'
      operationId: ReviewSetCommentV1
      requestBody:
        description: Model containing the review identifier and the new comment.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewSetComment'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewSetComment'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewSetComment'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/reviews/groups:
    post:
      tags:
        - ReviewGroup
      summary: Retrieves a list of review groups for the specified project.
      description: 'Required scopes: `docs:review:list`.'
      operationId: ReviewGroupListV1
      parameters:
        - name: Take
          in: query
          description: The number of items to return. Default value is 100. Maximum value is 200.
          schema:
            maximum: 200
            minimum: 0
            type: integer
            format: int32
        - name: Skip
          in: query
          description: The number of items to skip. Default value is 0.
          schema:
            maximum: 2147483647
            minimum: 0
            type: integer
            format: int32
      requestBody:
        description: Search and filter parameters for review groups.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewGroupFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewGroupFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewGroupFind'
        required: true
      responses:
        '200':
          description: Returns a collection of review groups.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ReviewGroupListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/reviews/items:
    post:
      tags:
        - ReviewItem
      summary: Returns a list of review statuses for specific item versions.
      description: 'Required scopes: `docs:review:list`.'
      operationId: ReviewItemGetReviewItemsStatusesV1
      requestBody:
        description: 'Parameters to filter statuses, including Project ID and Item Version IDs.'
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewItemsStatusesGet'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewItemsStatusesGet'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewItemsStatusesGet'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ReviewItemStatusListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/reviews/items/add:
    post:
      tags:
        - ReviewItem
      summary: Adds an item version to an existing review.
      description: 'Required scopes: `docs:review:update`.'
      operationId: ReviewItemAddItemV1
      requestBody:
        description: Model containing the review and item version identifiers.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewItemAdd'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewItemAdd'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewItemAdd'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/reviews/items/remove:
    post:
      tags:
        - ReviewItem
      summary: Removes an item version from a review.
      description: 'Required scopes: `docs:review:update`.'
      operationId: ReviewItemRemoveItemV1
      requestBody:
        description: Model containing the review and item version identifiers.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewItemRemove'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewItemRemove'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewItemRemove'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/reviews/process/start:
    post:
      tags:
        - ReviewProcess
      summary: Starts the review process for a specific review.
      description: 'Required scopes: `docs:review:update`.'
      operationId: ReviewProcessStartV1
      requestBody:
        description: Model containing the parameters to start the review.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewStart'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewStart'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ReviewStart'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/reviews/types/names:
    get:
      tags:
        - ReviewType
      summary: Retrieves a list of review type names for the specified project.
      description: 'Required scopes: `docs:review:list`.'
      operationId: ReviewTypeFindNamesV1
      parameters:
        - name: projectId
          in: query
          description: The identifier of the project.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Returns a collection of review type names.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ReviewTypeName'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/shares:
    post:
      tags:
        - Share
      summary: Returns shares matching the given filter.
      description: 'Required scopes: `docs:share:list`.'
      operationId: ShareListV1
      parameters:
        - name: Take
          in: query
          description: The number of items to return. Default value is 100. Maximum value is 200.
          schema:
            maximum: 200
            minimum: 0
            type: integer
            format: int32
        - name: Skip
          in: query
          description: The number of items to skip. Default value is 0.
          schema:
            maximum: 2147483647
            minimum: 0
            type: integer
            format: int32
      requestBody:
        description: Filter parameters for shares.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ShareFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ShareFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ShareFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ShareListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
    put:
      tags:
        - Share
      summary: Creates a new share for the specified item.
      description: 'Required scopes: `docs:share:create`.'
      operationId: ShareCreateV1
      requestBody:
        description: Share creation parameters.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ShareCreate'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ShareCreate'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ShareCreate'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GuidSimpleDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
    patch:
      tags:
        - Share
      summary: Updates an existing share.
      description: 'Required scopes: `docs:share:update`.'
      operationId: ShareUpdateV1
      requestBody:
        description: Share update parameters.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ShareUpdate'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ShareUpdate'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ShareUpdate'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
    delete:
      tags:
        - Share
      summary: Updates the deletion state of an existing share.
      description: 'Required scopes: `docs:share:delete`.'
      operationId: ShareDeleteV1
      requestBody:
        description: Parameters specifying share identifier and deletion state.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ShareDelete'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ShareDelete'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ShareDelete'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/shares/count:
    post:
      tags:
        - Share
      summary: Returns the total number of shares matching the given filter.
      description: 'Required scopes: `docs:share:list`.'
      operationId: ShareListCountV1
      requestBody:
        description: Filter parameters for shares.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ShareFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ShareFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/ShareFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Int32SimpleDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/slots:
    post:
      tags:
        - Slot
      summary: 'Retrieves slots of the integration company, ordered by start and identifier.'
      description: 'Required scopes: `settings:slot:list`.'
      operationId: SlotListV1
      requestBody:
        description: Filter and cursor pagination parameters.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/SlotFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/SlotFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/SlotFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Slot'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
    delete:
      tags:
        - Slot
      summary: Deletes the specified slots in the integration company.
      description: 'Required scopes: `settings:slot:delete`.'
      operationId: SlotDeleteBatchV1
      requestBody:
        description: Identifiers to delete.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/SlotBatchDelete'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/SlotBatchDelete'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/SlotBatchDelete'
        required: true
      responses:
        '200':
          description: OK
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/slots/create-batch:
    post:
      tags:
        - Slot
      summary: Creates a batch of slots in the integration company.
      description: 'Required scopes: `settings:slot:create`.'
      operationId: SlotCreateBatchV1
      requestBody:
        description: Records to create.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/SlotBatchCreate'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/SlotBatchCreate'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/SlotBatchCreate'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SlotCreateResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/storages:
    post:
      tags:
        - Storage
      summary: Returns a list of document storages matching the given filter.
      description: 'Required scopes: `docs:storage:list`.'
      operationId: StorageListV1
      requestBody:
        description: Filter parameters for searching storages.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/StorageFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/StorageFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/StorageFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StorageListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/tangl/convert:
    post:
      tags:
        - Tangl
      summary: "Initiates model conversion using Tangl.\nSupported file formats: .rvt, .ifc."
      description: 'Required scopes: `docs:viewer:execute`.'
      operationId: TanglConvertV1
      requestBody:
        description: Conversion parameters including the version ID and Revit version.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/TanglConvert'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/TanglConvert'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/TanglConvert'
        required: true
      responses:
        '204':
          description: Conversion request accepted.
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/user-logs:
    post:
      tags:
        - UserLog
      summary: Returns user logs matching the given filter.
      description: 'Required scopes: `logs:user:list`.'
      operationId: UserLogListV1
      requestBody:
        description: Filter parameters for user logs.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/UserLogFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/UserLogFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/UserLogFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserLogListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/versions:
    post:
      tags:
        - Version
      summary: Creates a new version of an object. Returns the id of the created version.
      description: 'Required scopes: `docs:version:create`.'
      operationId: VersionCreateV1
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/VersionCreate'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/VersionCreate'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/VersionCreate'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GuidSimpleDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
    get:
      tags:
        - Version
      summary: Returns a list of versions of an item.
      description: 'Required scopes: `docs:version:list`.'
      operationId: VersionListV1
      parameters:
        - name: itemId
          in: query
          description: Item UUID.
          required: true
          schema:
            type: string
            format: uuid
        - name: Take
          in: query
          description: The number of items to return. Default value is 100. Maximum value is 200.
          schema:
            maximum: 200
            minimum: 0
            type: integer
            format: int32
        - name: Skip
          in: query
          description: The number of items to skip. Default value is 0.
          schema:
            maximum: 2147483647
            minimum: 0
            type: integer
            format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/VersionListItem'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/versions/find-batch:
    post:
      tags:
        - Version
      summary: Returns a list of versions for an item batch.
      description: 'Required scopes: `docs:version:list`.'
      operationId: VersionListBatchV1
      requestBody:
        description: Find parameters model.
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/VersionsByItemsFind'
          text/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/VersionsByItemsFind'
          application/*+json:
            schema:
              allOf:
                - $ref: '#/components/schemas/VersionsByItemsFind'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/VersionListItemsBatch'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
  /public/v1/versions/count:
    get:
      tags:
        - Version
      summary: Returns the count of item`s versions.
      description: 'Required scopes: `docs:version:list`.'
      operationId: VersionCountV1
      parameters:
        - name: itemId
          in: query
          description: Item UUID.
          required: true
          schema:
            type: string
            format: uuid
        - name: Take
          in: query
          description: The number of items to return. Default value is 100. Maximum value is 200.
          schema:
            maximum: 200
            minimum: 0
            type: integer
            format: int32
        - name: Skip
          in: query
          description: The number of items to skip. Default value is 0.
          schema:
            maximum: 2147483647
            minimum: 0
            type: integer
            format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Int32SimpleDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '404':
          description: Not Found
        '429':
          description: "Too many requests have been sent recently.\n\nYou can look at the **Retry-After** header to find out how many seconds you can repeat the request.\n\nRules for limiting requests:\n\n1) Within one **company id**, you can make a maximum of 50 requests and 4 requests will be replenished every 1 seconds, if it does not exceed the maximum.\n\n2) You can send a maximum of 10 requests per 1 second from a single **client id**.\n\n3) If the request **is not authorized**, you can make a maximum of 10 requests and 2 requests will be replenished every 2 seconds, if it does not exceed the maximum."
        '450':
          description: 'Maximum resource quota reached. To increase the quota, contact support.'
        '500':
          description: Api server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExceptionModel'
        '550':
          description: The service is temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseConnectionPoolExhaustedExceptionDto'
        '401':
          description: The request did not have the correct authorization header credentials.
        '403':
          description: Forbidden
components:
  schemas:
    AcceptanceCertificate:
      required:
        - added
        - addedBy
        - companyRecipient
        - companySender
        - confirmedBySender
        - confirmedBySenderAt
        - contractNumber
        - downloadLogs
        - id
        - objectId
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the acceptance certificate.
          format: uuid
        companySender:
          minLength: 1
          type: string
          description: Sender company specified in the certificate.
        companyRecipient:
          minLength: 1
          type: string
          description: Recipient company specified in the certificate.
        addedBy:
          type: string
          description: User who created the certificate.
          format: uuid
        added:
          type: string
          description: Date and time when the certificate was created.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        downloadLogs:
          type: array
          items:
            $ref: '#/components/schemas/AcceptanceCertificateDownloadLog'
          description: Logs of users who downloaded the certificate.
        contractNumber:
          type: string
          description: Associated contract number.
          nullable: true
        objectId:
          type: string
          description: Linked object identifier.
          format: uuid
          nullable: true
        confirmedBySender:
          type: string
          description: User who confirmed the certificate on sender’s side.
          format: uuid
          nullable: true
        confirmedBySenderAt:
          type: string
          description: Date and time when the sender confirmed.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
      additionalProperties: false
    AcceptanceCertificateAttach:
      required:
        - authorId
        - companyRecipient
        - companySender
        - documentsTransferId
        - projectName
      type: object
      properties:
        documentsTransferId:
          type: string
          description: Unique identifier of the document transfer.
          format: uuid
        companySender:
          maxLength: 255
          minLength: 1
          type: string
          description: Sending organization name.
        companyRecipient:
          maxLength: 255
          minLength: 1
          type: string
          description: Recipient organization name.
        contractNumber:
          maxLength: 255
          type: string
          description: Contract number associated with the document transfer.
          nullable: true
        projectName:
          maxLength: 255
          minLength: 1
          type: string
          description: Project name specified in the certificate.
        authorId:
          type: string
          description: Unique identifier of the author on whose behalf the acceptance certificate is attached.
          format: uuid
        objectId:
          type: string
          description: Optional identifier of the uploaded acceptance certificate document object.
          format: uuid
          nullable: true
      additionalProperties: false
    AcceptanceCertificateDownloadLog:
      required:
        - downloadAt
        - downloadBy
        - downloaderIp
      type: object
      properties:
        downloadAt:
          type: string
          description: Date and time when the download occurred.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        downloadBy:
          type: string
          description: User who downloaded the certificate.
          format: uuid
        downloaderIp:
          type: string
          description: IP address of the downloader.
          nullable: true
      additionalProperties: false
    AcceptanceCertificateDownloadTicket:
      required:
        - signedUrl
        - ttlSec
      type: object
      properties:
        signedUrl:
          minLength: 1
          type: string
          description: Pre-signed URL for downloading the acceptance certificate.
        ttlSec:
          type: integer
          description: Time-to-live of the download URL in seconds.
          format: int32
      additionalProperties: false
    AllowedAttributeDataType:
      enum:
        - Item
        - Folder
      type: string
    ApiExceptionModel:
      type: object
      properties:
        message:
          type: string
          nullable: true
        stackTrace:
          type: string
          nullable: true
        innerException:
          type: string
          nullable: true
        connectionId:
          type: string
          nullable: true
      additionalProperties: false
    ApplicationRole:
      enum:
        - Admin
        - User
      type: string
    ApplicationUsersDelete:
      required:
        - applicationIds
        - userIds
      type: object
      properties:
        userIds:
          maxItems: 25
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: 'Collection of user identifiers to remove (min: 1, max: 25).'
        applicationIds:
          maxItems: 10
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: 'Collection of application identifiers (min: 1, max: 10).'
      additionalProperties: false
    ApplicationUsersUpsert:
      required:
        - applicationIds
        - role
        - userIds
      type: object
      properties:
        role:
          allOf:
            - $ref: '#/components/schemas/ApplicationRole'
          description: The role to assign to the specified users within the applications.
        userIds:
          maxItems: 25
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: 'Collection of user identifiers (min: 1, max: 25).'
        applicationIds:
          maxItems: 10
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: 'Collection of application identifiers (min: 1, max: 10).'
      additionalProperties: false
    AttachedMchdDocumentListItem:
      required:
        - id
      type: object
      properties:
        id:
          type: string
          format: uuid
      additionalProperties: false
    AttributeDataType:
      enum:
        - Item
        - Folder
        - Issue
      type: string
    AttributeFind:
      required:
        - projectId
        - type
      type: object
      properties:
        ids:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Filter by specific item identifiers.
          nullable: true
        addedBy:
          type: string
          description: Filter by creator identifier.
          format: uuid
          nullable: true
        modifiedBy:
          type: string
          description: Filter by last modifier identifier.
          format: uuid
          nullable: true
        addedFrom:
          type: string
          description: Filter by creation date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        addedTo:
          type: string
          description: Filter by creation date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedFrom:
          type: string
          description: Filter by modification date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedTo:
          type: string
          description: Filter by modification date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        type:
          allOf:
            - $ref: '#/components/schemas/AttributeFindDataType'
          description: Filter by the specific data type of the attribute.
        projectId:
          type: string
          description: Identifier of the project to which the attributes belong.
          format: uuid
        deleted:
          type: boolean
          description: 'Filter by deletion state (true = deleted, false = active).'
          nullable: true
        issueTypeIds:
          type: array
          items:
            type: string
            format: uuid
          description: List of Issue Type identifiers to filter by (only for AttributeFindDataType.Issue).
          nullable: true
        folderIds:
          type: array
          items:
            type: string
            format: uuid
          description: List of Folder identifiers to filter by (only for AttributeFindDataType.Structure).
          nullable: true
      additionalProperties: false
    AttributeFindDataType:
      enum:
        - Structure
        - Issue
      type: string
    AttributeListItem:
      required:
        - added
        - addedBy
        - attributeTypeId
        - deleted
        - id
        - modified
        - modifiedBy
        - order
        - type
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the entity.
          format: uuid
        modified:
          type: string
          description: Timestamp of the last modification.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedBy:
          type: string
          description: Identifier of the user who last modified the entity.
          format: uuid
        added:
          type: string
          description: Timestamp when the entity was created.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        addedBy:
          type: string
          description: Identifier of the user who created the entity.
          format: uuid
        type:
          allOf:
            - $ref: '#/components/schemas/AttributeDataType'
          description: The data type of the attribute.
        order:
          type: integer
          description: Display order of the attribute within its context.
          format: int32
        deleted:
          type: boolean
          description: Indicates whether the attribute is marked as deleted.
        attributeTypeId:
          type: string
          description: Identifier of the underlying attribute type.
          format: uuid
        issueTypeId:
          type: string
          description: Identifier of the associated Issue Type (only for AttributeDataType.Issue).
          format: uuid
          nullable: true
        folderId:
          type: string
          description: Identifier of the associated Folder (only for AttributeDataType.Item OR AttributeDataType.Folder).
          format: uuid
          nullable: true
      additionalProperties: false
    AttributeType:
      required:
        - added
        - addedBy
        - dataType
        - deleted
        - id
        - isRequired
        - list
        - modified
        - modifiedBy
        - name
        - order
        - projectId
        - type
      type: object
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/AttributeTypeInfo'
          description: Attribute type information.
        projectId:
          type: string
          description: Identifier of the project to which the attribute type belongs.
          format: uuid
        name:
          minLength: 1
          type: string
          description: Human-readable name of the attribute type.
        order:
          type: integer
          description: Display order of the attribute type.
          format: int32
        deleted:
          type: boolean
          description: Indicates whether the attribute type is deleted.
        isRequired:
          type: boolean
          description: Indicates whether the attribute is required for its context.
        id:
          type: string
          description: Unique identifier of the attribute type.
          format: uuid
        added:
          type: string
          description: Timestamp when the attribute type was created.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        addedBy:
          type: string
          description: Identifier of the user who created the attribute type.
          format: uuid
        modified:
          type: string
          description: Timestamp of the last modification.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedBy:
          type: string
          description: Identifier of the user who last modified the attribute type.
          format: uuid
        dataType:
          allOf:
            - $ref: '#/components/schemas/AllowedAttributeDataType'
          description: Defines the allowed data type for this attribute type.
          nullable: true
        list:
          type: array
          items:
            $ref: '#/components/schemas/AttributeTypeListItem'
          description: List of predefined values (only for ListAttributeType).
          nullable: true
      additionalProperties: false
    AttributeTypeCreate:
      required:
        - isRequired
        - name
        - order
        - projectId
        - type
      type: object
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/AttributeTypeInfo'
          description: Type classification of the attribute.
        projectId:
          type: string
          description: Unique identifier of the project.
          format: uuid
        name:
          maxLength: 255
          minLength: 1
          type: string
          description: Display name of the attribute type.
        order:
          type: integer
          description: Numeric order position.
          format: int32
        isRequired:
          type: boolean
          description: Indicates whether the attribute is mandatory.
        dataType:
          allOf:
            - $ref: '#/components/schemas/AllowedAttributeDataType'
          description: Allowed data type for the attribute value.
          nullable: true
        list:
          maxItems: 50
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/AttributeTypeListItemCreate'
          description: Collection of predefined list items if the attribute type is a list.
          nullable: true
      additionalProperties: false
    AttributeTypeFind:
      required:
        - projectId
      type: object
      properties:
        ids:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Filter by specific item identifiers.
          nullable: true
        addedBy:
          type: string
          description: Filter by creator identifier.
          format: uuid
          nullable: true
        modifiedBy:
          type: string
          description: Filter by last modifier identifier.
          format: uuid
          nullable: true
        addedFrom:
          type: string
          description: Filter by creation date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        addedTo:
          type: string
          description: Filter by creation date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedFrom:
          type: string
          description: Filter by modification date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedTo:
          type: string
          description: Filter by modification date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        projectId:
          type: string
          description: Identifier of the project to which the attribute types belong.
          format: uuid
        name:
          type: string
          description: Filter by attribute type name.
          nullable: true
        deleted:
          type: boolean
          description: 'Filter by deletion state (true = deleted, false = active).'
          nullable: true
      additionalProperties: false
    AttributeTypeInfo:
      enum:
        - Text
        - Bool
        - Date
        - List
      type: string
    AttributeTypeListItem:
      required:
        - deleted
        - id
        - name
        - position
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the list item.
          format: uuid
        name:
          maxLength: 255
          minLength: 1
          type: string
          description: Display name of the list item.
        position:
          type: integer
          description: Display position of the list item within the attribute list.
          format: int32
        deleted:
          type: boolean
          description: Indicates whether the list item is deleted.
      additionalProperties: false
    AttributeTypeListItemCreate:
      required:
        - name
        - position
      type: object
      properties:
        name:
          maxLength: 255
          minLength: 1
          type: string
          description: Display name of the list item.
        position:
          type: integer
          description: Numeric order position of the list item.
          format: int32
      additionalProperties: false
    AttributeTypeListItemUpdate:
      required:
        - id
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the list item to update.
          format: uuid
        name:
          maxLength: 255
          type: string
          description: Display name of the list item.
          nullable: true
        position:
          type: integer
          description: Numeric order position of the list item.
          format: int32
          nullable: true
        deleted:
          type: boolean
          description: Indicates whether the list item is marked as deleted.
          nullable: true
      additionalProperties: false
    AttributeTypeListItemsCreate:
      required:
        - attributeTypeId
        - items
      type: object
      properties:
        attributeTypeId:
          type: string
          description: Unique identifier of the attribute type.
          format: uuid
        items:
          maxItems: 50
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/AttributeTypeListItemCreate'
          description: Collection of list items to create.
      additionalProperties: false
    AttributeTypeListItemsUpdate:
      required:
        - attributeTypeId
        - items
      type: object
      properties:
        attributeTypeId:
          type: string
          description: Unique identifier of the attribute type.
          format: uuid
        items:
          maxItems: 50
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/AttributeTypeListItemUpdate'
          description: Collection of list items to update.
      additionalProperties: false
    AttributeTypeUpdate:
      required:
        - id
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the attribute type to update.
          format: uuid
        name:
          maxLength: 255
          type: string
          description: Display name of the attribute type.
          nullable: true
        order:
          type: integer
          description: Numeric order position.
          format: int32
          nullable: true
        isRequired:
          type: boolean
          description: Indicates whether the attribute is mandatory.
          nullable: true
        deleted:
          type: boolean
          description: Indicates whether the attribute type is marked as deleted.
          nullable: true
        dataType:
          allOf:
            - $ref: '#/components/schemas/AllowedAttributeDataType'
          description: Allowed data type for the attribute value.
          nullable: true
      additionalProperties: false
    AttributeTypesUpdate:
      required:
        - data
        - projectId
      type: object
      properties:
        projectId:
          type: string
          description: Unique identifier of the project.
          format: uuid
        data:
          maxItems: 50
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/AttributeTypeUpdate'
          description: Collection of attribute types to update.
      additionalProperties: false
    AttributeValueBase:
      type: object
      additionalProperties: false
    AttributeValueData:
      required:
        - deleted
        - type
      type: object
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/AttributeTypeInfo'
          description: Type of the attribute value.
        deleted:
          type: boolean
          description: Indicates whether the attribute value is deleted.
        bool:
          type: boolean
          description: Boolean value (used only for AttributeTypeInfo.Bool).
          nullable: true
        text:
          type: string
          description: Text value (used only for AttributeTypeInfo.Text).
          nullable: true
        list:
          type: string
          description: List value identifier (used only for AttributeTypeInfo.List).
          format: uuid
          nullable: true
        date:
          type: string
          description: Date value (used only for AttributeTypeInfo.Date).
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
      additionalProperties: false
    AttributeValueDataSet:
      required:
        - attributeId
        - type
      type: object
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/AttributeTypeInfo'
          description: Type of the attribute value.
        attributeId:
          type: string
          description: Identifier of the attribute being updated.
          format: uuid
        bool:
          type: boolean
          description: Boolean value (only for AttributeTypeInfo.Bool).
          nullable: true
        date:
          type: string
          description: Date value (only for AttributeTypeInfo.Date).
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        list:
          type: string
          description: List item identifier (only for AttributeTypeInfo.List).
          format: uuid
          nullable: true
        text:
          type: string
          description: Text value (only for AttributeTypeInfo.Text).
          nullable: true
      additionalProperties: false
    AttributeValuesSet:
      required:
        - type
        - values
      type: object
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/AttributeDataType'
          description: Type of the entity to which attributes belong.
        values:
          type: array
          items:
            $ref: '#/components/schemas/AttributeValueDataSet'
          description: Collection of attribute values to set.
        itemId:
          type: string
          description: Identifier of the item (only for AttributeDataType.Item).
          format: uuid
          nullable: true
        issueId:
          type: string
          description: Identifier of the issue (only for AttributeDataType.Issue).
          format: uuid
          nullable: true
        folderId:
          type: string
          description: Identifier of the folder (only for AttributeDataType.Folder).
          format: uuid
          nullable: true
      additionalProperties: false
    AuthCredentials:
      required:
        - clientId
        - clientSecret
        - scopes
      type: object
      properties:
        clientId:
          maxLength: 100
          minLength: 1
          type: string
        clientSecret:
          maxLength: 100
          minLength: 1
          type: string
        scopes:
          type: array
          items:
            type: string
          description: Must contain at least one allowed scope.
      additionalProperties: false
    AuthToken:
      required:
        - expiresIn
        - token
      type: object
      properties:
        token:
          minLength: 1
          type: string
          description: JWT token.
        expiresIn:
          type: integer
          description: Token expiration time in seconds.
          format: int32
      additionalProperties: false
    AuthTokenError:
      enum:
        - ScopeError
        - UnknownError
        - CredentialError
        - LicenseError
      type: string
      description: "\nScopeError - Empty scope or invalid scope.\n            \nLicenseError - You do not have the required license to required scope.\n            \nCredentialError - Invalid client id or secret.\n            \nUnknownError - An unknown error occurred."
    Board:
      required:
        - added
        - addedBy
        - comment
        - id
        - indicators
        - modified
        - modifiedBy
        - projectId
        - published
        - publishedAt
        - title
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the entity.
          format: uuid
        modified:
          type: string
          description: Timestamp of the last modification.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedBy:
          type: string
          description: Identifier of the user who last modified the entity.
          format: uuid
        added:
          type: string
          description: Timestamp when the entity was created.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        addedBy:
          type: string
          description: Identifier of the user who created the entity.
          format: uuid
        projectId:
          type: string
          description: Identifier of the project the dashboard belongs to.
          format: uuid
        title:
          minLength: 1
          type: string
          description: Title of the dashboard.
        comment:
          minLength: 1
          type: string
          description: "Comment of the dashboard, filled in when it is published. Empty when the dashboard has\nnot been published yet or was published without a comment."
        published:
          type: boolean
          description: "Indicates whether the dashboard is published. An unpublished dashboard is a draft\nvisible only to the users who edit it."
        publishedAt:
          type: string
          description: "Reporting date of the dashboard — the date its figures describe, chosen by the author\nwhen the dashboard is created."
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        indicators:
          allOf:
            - $ref: '#/components/schemas/BoardIndicators'
          description: 'Headline indicators of the dashboard: progress and schedule status.'
      additionalProperties: false
    BoardFind:
      required:
        - projectId
      type: object
      properties:
        ids:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Filter by specific item identifiers.
          nullable: true
        addedBy:
          type: string
          description: Filter by creator identifier.
          format: uuid
          nullable: true
        modifiedBy:
          type: string
          description: Filter by last modifier identifier.
          format: uuid
          nullable: true
        addedFrom:
          type: string
          description: Filter by creation date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        addedTo:
          type: string
          description: Filter by creation date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedFrom:
          type: string
          description: Filter by modification date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedTo:
          type: string
          description: Filter by modification date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        projectId:
          type: string
          description: Identifier of the project whose dashboards are returned.
          format: uuid
      additionalProperties: false
    BoardIndicators:
      required:
        - completed
        - dates
      type: object
      properties:
        completed:
          allOf:
            - $ref: '#/components/schemas/CompletionIndicator'
          description: Progress indicator. Its `type` tells which of the figures below are filled.
        dates:
          allOf:
            - $ref: '#/components/schemas/DateIndicator'
          description: Schedule indicator. Its `type` tells which of the figures below are filled.
      additionalProperties: false
      description: 'Headline indicators of a dashboard: how much of the work is done and how the schedule stands.'
    Booking:
      required:
        - added
        - deleted
        - id
        - modified
        - projectId
        - slot
        - sourceId
        - sourceType
      type: object
      properties:
        id:
          type: string
          description: Id of the record.
          format: uuid
        slot:
          allOf:
            - $ref: '#/components/schemas/SlotShort'
          description: Reserved slot details.
        projectId:
          type: string
          description: ProjectId of the record.
          format: uuid
        sourceId:
          type: string
          description: SourceId of the record.
          format: uuid
        sourceType:
          allOf:
            - $ref: '#/components/schemas/BookingSourceType'
          description: SourceType of the record.
        deleted:
          type: boolean
          description: Whether the record is deleted.
        added:
          type: string
          description: Creation timestamp.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        modified:
          type: string
          description: Last modification timestamp.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
      additionalProperties: false
    BookingBatchCreate:
      required:
        - bookings
        - projectId
      type: object
      properties:
        projectId:
          type: string
          description: Project in which all bookings are created.
          format: uuid
        bookings:
          maxItems: 200
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/BookingCreate'
          description: Bookings to create atomically.
      additionalProperties: false
    BookingBatchDelete:
      required:
        - bookingIds
      type: object
      properties:
        bookingIds:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Booking identifiers to cancel. Their slots become available again.
      additionalProperties: false
    BookingCreate:
      required:
        - slotId
        - sourceId
        - sourceType
      type: object
      properties:
        slotId:
          type: string
          description: Slot to reserve.
          format: uuid
        sourceId:
          type: string
          description: Identifier of the source record.
          format: uuid
        sourceType:
          allOf:
            - $ref: '#/components/schemas/BookingSourceType'
          description: Type of the source record.
      additionalProperties: false
    BookingCreateResult:
      required:
        - bookingId
        - slotId
      type: object
      properties:
        slotId:
          type: string
          description: Reserved slot identifier.
          format: uuid
        bookingId:
          type: string
          description: Created booking identifier.
          format: uuid
      additionalProperties: false
    BookingFind:
      required:
        - paging
      type: object
      properties:
        ids:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Filter by specific item identifiers.
          nullable: true
        addedBy:
          type: string
          description: Filter by creator identifier.
          format: uuid
          nullable: true
        modifiedBy:
          type: string
          description: Filter by last modifier identifier.
          format: uuid
          nullable: true
        addedFrom:
          type: string
          description: Filter by creation date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        addedTo:
          type: string
          description: Filter by creation date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedFrom:
          type: string
          description: Filter by modification date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedTo:
          type: string
          description: Filter by modification date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        paging:
          allOf:
            - $ref: '#/components/schemas/BookingFindCursorCursorPaging'
          description: Cursor pagination parameters. Omit the cursor for the first page.
        userIds:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Filter by slot owners.
          nullable: true
        projectIds:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: "Filter by project identifiers. Omit this filter to search across the whole company; this\nrequires unrestricted project access."
          nullable: true
        slotIds:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Filter by reserved slot identifiers.
          nullable: true
        sourceIds:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Filter by source record identifiers.
          nullable: true
        startFrom:
          type: string
          description: Inclusive lower bound for the slot start time.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        startTo:
          type: string
          description: Exclusive upper bound for the slot start time.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        sourceType:
          allOf:
            - $ref: '#/components/schemas/BookingSourceType'
          description: Filter by booking source type.
          nullable: true
        deleted:
          type: boolean
          description: True selects deleted records; false selects active records; null or omitted selects both.
          nullable: true
      additionalProperties: false
    BookingFindCursor:
      required:
        - id
        - modified
      type: object
      properties:
        id:
          type: string
          description: Identifier of the last record of the previous page.
          format: uuid
        modified:
          type: string
          description: Modified timestamp of the last record of the previous page.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
      additionalProperties: false
    BookingFindCursorCursorPaging:
      required:
        - take
      type: object
      properties:
        cursor:
          allOf:
            - $ref: '#/components/schemas/BookingFindCursor'
          nullable: true
        take:
          maximum: 200
          minimum: 1
          type: integer
          format: int32
      additionalProperties: false
    BookingSourceType:
      enum:
        - Forms
      type: string
    CadesSignatureCreate:
      required:
        - certificateId
        - signature
        - versionId
      type: object
      properties:
        certificateId:
          type: string
          format: uuid
        versionId:
          type: string
          format: uuid
        signature:
          maxLength: 15000
          minLength: 1
          type: string
      additionalProperties: false
    CadesVersionSignatureListItem:
      required:
        - certificateId
        - id
        - signature
        - subject
      type: object
      properties:
        id:
          type: string
          description: Cades Signature UUID
          format: uuid
        subject:
          minLength: 1
          type: string
          description: Signature subject
        certificateId:
          type: string
          description: Certificate UUID
          format: uuid
        signature:
          minLength: 1
          type: string
        mchdIds:
          type: array
          items:
            type: string
            format: uuid
          description: Collection of MCHD UUIDs. May be null if not requested. May be empty if signature has no related MCHDs
          nullable: true
      additionalProperties: false
    Card:
      required:
        - added
        - addedBy
        - data
        - deactivated
        - groupId
        - id
        - modified
        - modifiedBy
        - position
        - published
        - title
        - type
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the entity.
          format: uuid
        modified:
          type: string
          description: Timestamp of the last modification.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedBy:
          type: string
          description: Identifier of the user who last modified the entity.
          format: uuid
        added:
          type: string
          description: Timestamp when the entity was created.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        addedBy:
          type: string
          description: Identifier of the user who created the entity.
          format: uuid
        groupId:
          type: string
          description: Identifier of the group the card belongs to.
          format: uuid
        title:
          minLength: 1
          type: string
          description: Title of the card.
        type:
          minLength: 1
          type: string
          description: "Kind of the card, which defines how its data is displayed — for example a chart, a\ntable, or an image."
        data:
          minLength: 1
          type: string
          description: Content of the card as a JSON document. Its structure depends on the card type.
        position:
          type: integer
          description: 'Position of the card inside its group, starting from 0. Cards are returned in this order.'
          format: int32
        published:
          type: boolean
          description: "Indicates whether the card is published. An unpublished card is a draft visible only to\nthe users who edit the dashboard."
        deactivated:
          type: boolean
          description: "Indicates whether the card is deactivated. A deactivated card stays on the dashboard,\nbut is locked from editing."
      additionalProperties: false
    CardFind:
      required:
        - boardId
      type: object
      properties:
        ids:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Filter by specific item identifiers.
          nullable: true
        addedBy:
          type: string
          description: Filter by creator identifier.
          format: uuid
          nullable: true
        modifiedBy:
          type: string
          description: Filter by last modifier identifier.
          format: uuid
          nullable: true
        addedFrom:
          type: string
          description: Filter by creation date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        addedTo:
          type: string
          description: Filter by creation date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedFrom:
          type: string
          description: Filter by modification date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedTo:
          type: string
          description: Filter by modification date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        boardId:
          type: string
          description: Identifier of the dashboard whose cards are returned.
          format: uuid
        groupIds:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: "Identifiers of the groups to return the cards of. Returns the cards of every group of\nthe dashboard when omitted."
          nullable: true
      additionalProperties: false
    CardPubLink:
      required:
        - publicLink
      type: object
      properties:
        publicLink:
          type: string
          description: 'Public link to the dashboard card, just uuid'
          format: uuid
      additionalProperties: false
    ColorKey:
      enum:
        - AccentMain
        - BrandGray
        - PureBlack
        - UiBlue2
        - DarkGray
        - AccentRed
        - AccentGreen
        - AccentYellow
        - AccentPink
        - MochaMoose
      type: string
    ColorKeyNullableValueDto:
      type: object
      properties:
        value:
          allOf:
            - $ref: '#/components/schemas/ColorKey'
          nullable: true
      additionalProperties: false
    CompanyUserAdd:
      required:
        - email
      type: object
      properties:
        email:
          minLength: 1
          type: string
          description: The email address of the user to invite or add.
        password:
          maxLength: 30
          minLength: 6
          type: string
          description: 'Initial password for the user (length: 6-30).'
          nullable: true
        firstName:
          maxLength: 30
          type: string
          description: First name of the user.
          nullable: true
        middleName:
          maxLength: 30
          type: string
          description: Middle name or patronymic of the user.
          nullable: true
        lastName:
          maxLength: 30
          type: string
          description: Last name of the user.
          nullable: true
        customRoleIds:
          maxItems: 25
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers of custom roles to assign to the user upon joining the company.
          nullable: true
      additionalProperties: false
    CompanyUserAddResult:
      required:
        - email
        - status
      type: object
      properties:
        email:
          minLength: 1
          type: string
          description: The email address of the processed user.
        status:
          allOf:
            - $ref: '#/components/schemas/CompanyUserAddingStatus'
          description: The result status of the addition attempt.
      additionalProperties: false
    CompanyUserAddingStatus:
      enum:
        - AlreadyMember
        - UserAdded
        - InsufficientLicenses
        - WeakPassword
      type: string
    CompanyUserCustomRolesSet:
      required:
        - customRoleIds
        - userId
      type: object
      properties:
        userId:
          type: string
          description: Identifier of the user receiving the custom roles.
          format: uuid
        customRoleIds:
          maxItems: 25
          type: array
          items:
            type: string
            format: uuid
          description: 'Collection of custom role identifiers to assign to the user at the company level (max: 25 roles).'
      additionalProperties: false
    CompanyUserInfo:
      required:
        - customRoleIds
        - email
        - firstName
        - id
        - lastName
        - middleName
      type: object
      properties:
        id:
          type: string
          description: User UUID.
          format: uuid
        email:
          minLength: 1
          type: string
          description: User email.
        lastName:
          minLength: 1
          type: string
          description: User last name.
        firstName:
          minLength: 1
          type: string
          description: User first name.
        middleName:
          minLength: 1
          type: string
          description: User middle name.
        customRoleIds:
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers of custom roles assigned to the user at the company level.
      additionalProperties: false
    CompanyUsersAdd:
      required:
        - users
      type: object
      properties:
        users:
          maxItems: 25
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/CompanyUserAdd'
      additionalProperties: false
    CompanyUsersDelete:
      required:
        - userIds
      type: object
      properties:
        userIds:
          maxItems: 25
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
      additionalProperties: false
    CompletionIndicator:
      required:
        - type
      type: object
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/CompletionIndicatorType'
          description: Kind of the progress indicator.
        plan:
          type: number
          description: "Planned value (for PlanActual, Money and MoneyMillions). Empty when the author has not\nfilled it in."
          format: double
          nullable: true
        actual:
          type: number
          description: Actual value (for every kind). Empty when the author has not filled it in.
          format: double
          nullable: true
        total:
          type: number
          description: "Contract total the plan and the actual value are measured against (for Money and\nMoneyMillions). Empty when the author has not filled it in."
          format: double
          nullable: true
        difference:
          type: number
          description: "Difference between the actual value and the plan (for ActualDifference). Empty when the\nauthor has not filled it in."
          format: double
          nullable: true
      additionalProperties: false
      description: "Progress indicator of a dashboard. The kind selects which figures are filled; the rest stay\nempty."
    CompletionIndicatorType:
      enum:
        - PlanActual
        - ActualDifference
        - Money
        - MoneyMillions
      type: string
      description: 'Kind of the progress indicator, which determines the fields it carries.'
    DatabaseConnectionPoolExhaustedExceptionDto:
      required:
        - connectionId
        - message
      type: object
      properties:
        message:
          minLength: 1
          type: string
        connectionId:
          minLength: 1
          type: string
      additionalProperties: false
    DateIndicator:
      required:
        - type
      type: object
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/DateIndicatorType'
          description: Kind of the schedule indicator.
        scheduled:
          type: string
          description: "Completion date the plan calls for (for Dates). Empty when the author has not filled it\nin."
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        estimated:
          type: string
          description: "Completion date currently expected (for Dates). Empty when the author has not filled it\nin."
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        days:
          type: integer
          description: "Number of days the work runs ahead of or behind the plan (for Ahead and Lag). Empty when\nthe author has not filled it in."
          format: int32
          nullable: true
      additionalProperties: false
      description: "Schedule indicator of a dashboard. The kind selects which figures are filled; the rest stay\nempty."
    DateIndicatorType:
      enum:
        - Dates
        - Ahead
        - Lag
      type: string
      description: 'Kind of the schedule indicator, which determines the fields it carries.'
    DateTimeFieldValueMode:
      enum:
        - DateOnly
        - DateAndTime
      type: string
    DateTimeValueProvider:
      required:
        - type
      type: object
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/DateTimeValueProviderType'
          description: Type of datetime value provider.
        value:
          type: string
          description: Fixed date/time value (only for DateTimeValueProviderType.Manual).
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        addDays:
          type: integer
          description: Number of days to add to current date/time (only for DateTimeValueProviderType.Current).
          format: int32
          nullable: true
      additionalProperties: false
    DateTimeValueProviderType:
      enum:
        - Manual
        - Current
      type: string
    DisplayProjectForm:
      required:
        - deleted
        - formTypeId
        - id
        - number
        - prefix
        - projectFormFields
        - projectFormTypeId
        - suffix
      type: object
      properties:
        id:
          type: string
          description: Identifier of the project form.
          format: uuid
        number:
          type: integer
          description: Form number.
          format: int32
        prefix:
          minLength: 1
          type: string
          description: Form prefix.
        suffix:
          minLength: 1
          type: string
          description: Form suffix.
        deleted:
          type: boolean
          description: Indicates whether the form is deleted.
        formTypeId:
          type: string
          description: Identifier of the form type.
          format: uuid
        projectFormTypeId:
          type: string
          description: Identifier of the project form type.
          format: uuid
        projectFormFields:
          type: array
          items:
            $ref: '#/components/schemas/ProjectFormFieldShort'
          description: Form fields short representation.
      additionalProperties: false
    DisplayProjectFormGroup:
      required:
        - displayFieldTypes
        - formTypeId
        - projectForms
      type: object
      properties:
        formTypeId:
          type: string
          description: Identifier of the form type.
          format: uuid
        displayFieldTypes:
          type: array
          items:
            $ref: '#/components/schemas/FormFieldType'
          description: Display field types configured for this form type.
        projectForms:
          type: array
          items:
            $ref: '#/components/schemas/DisplayProjectForm'
          description: Project forms in this group.
      additionalProperties: false
    DocsProjectInfo:
      required:
        - isStorageConfigured
        - rootFolderId
      type: object
      properties:
        rootFolderId:
          type: string
          format: uuid
        isStorageConfigured:
          type: boolean
      additionalProperties: false
    DocumentsTransferAcceptance:
      required:
        - added
        - addedBy
        - id
        - receivedAt
        - receivedBy
        - recipient
        - rejectedAt
        - rejectedBy
        - rejectionComment
        - viewedAt
        - viewedBy
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the acceptance record.
          format: uuid
        addedBy:
          type: string
          description: User who created the acceptance record.
          format: uuid
        added:
          type: string
          description: Date and time when the acceptance was created.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        recipient:
          allOf:
            - $ref: '#/components/schemas/DocumentsTransferRecipient'
          description: Recipient who was assigned for this acceptance.
        viewedBy:
          type: string
          description: User who viewed the transfer.
          format: uuid
          nullable: true
        viewedAt:
          type: string
          description: Date and time when the transfer was viewed.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        rejectedBy:
          allOf:
            - $ref: '#/components/schemas/DocumentsTransferDirectRecipient'
          description: Direct recipient who rejected the transfer.
          nullable: true
        rejectedAt:
          type: string
          description: Date and time when the transfer was rejected.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        rejectionComment:
          type: string
          description: Optional rejection comment.
          nullable: true
        receivedBy:
          allOf:
            - $ref: '#/components/schemas/DocumentsTransferDirectRecipient'
          description: Direct recipient who accepted the transfer.
          nullable: true
        receivedAt:
          type: string
          description: Date and time when the transfer was accepted.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
      additionalProperties: false
    DocumentsTransferAccessListItem:
      required:
        - accessType
        - documentsTransferTypeId
        - roleId
      type: object
      properties:
        documentsTransferTypeId:
          type: string
          description: Identifier of the transfer type this access rule applies to.
          format: uuid
        roleId:
          type: string
          description: Identifier of the role to which access is granted.
          format: uuid
        accessType:
          allOf:
            - $ref: '#/components/schemas/DocumentsTransferAccessType'
          description: Type of access granted.
      additionalProperties: false
    DocumentsTransferAccessType:
      enum:
        - Read
        - Create
        - Update
      type: string
    DocumentsTransferAccessesFind:
      required:
        - documentsTransferTypeIds
      type: object
      properties:
        documentsTransferTypeIds:
          maxItems: 500
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: "Identifiers of transfer types for which access rules are requested,\nwith a minimum of 1 and a maximum of 500 items."
      additionalProperties: false
    DocumentsTransferAllData:
      required:
        - acceptanceCertificate
        - added
        - addedBy
        - cipher
        - currentAcceptance
        - deleted
        - documentsTransferType
        - id
        - name
        - number
        - status
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the transfer.
          format: uuid
        documentsTransferType:
          allOf:
            - $ref: '#/components/schemas/DocumentsTransferTypeShort'
          description: Transfer type information (short form).
        number:
          type: integer
          description: Sequential transfer number.
          format: int32
        name:
          minLength: 1
          type: string
          description: Name of the transfer.
        cipher:
          minLength: 1
          type: string
          description: Cipher or code of the transfer.
        status:
          allOf:
            - $ref: '#/components/schemas/DocumentsTransferStatus'
          description: Current status of the transfer.
        addedBy:
          type: string
          description: User who created the transfer.
          format: uuid
        added:
          type: string
          description: Date and time when the transfer was created.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        deleted:
          type: boolean
          description: Indicates whether the transfer is deleted.
        acceptanceCertificate:
          allOf:
            - $ref: '#/components/schemas/AcceptanceCertificate'
          description: Linked acceptance certificate.
          nullable: true
        currentAcceptance:
          allOf:
            - $ref: '#/components/schemas/DocumentsTransferAcceptance'
          description: Current acceptance state of the transfer.
          nullable: true
      additionalProperties: false
    DocumentsTransferCreate:
      required:
        - authorId
        - cipher
        - documentsTransferTypeId
        - name
      type: object
      properties:
        documentsTransferTypeId:
          type: string
          description: Unique identifier of the document transfer type.
          format: uuid
        cipher:
          maxLength: 255
          minLength: 1
          type: string
          description: Cipher of the document transfer.
        name:
          maxLength: 255
          minLength: 1
          type: string
          description: Name of the document transfer.
        authorId:
          type: string
          description: Unique identifier of the author on whose behalf the document transfer is created.
          format: uuid
      additionalProperties: false
    DocumentsTransferDirectRecipient:
      required:
        - identifier
        - type
      type: object
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/DocumentsTransferDirectRecipientType'
          description: Type of the direct recipient.
        identifier:
          maxLength: 255
          minLength: 1
          type: string
          description: Identifier of the recipient (depends on type).
      additionalProperties: false
    DocumentsTransferDirectRecipientType:
      enum:
        - User
      type: string
    DocumentsTransferFindOrder:
      enum:
        - Number
        - SentAt
        - ReceivedAt
        - Cipher
      type: string
    DocumentsTransferItemDownloadTicket:
      required:
        - signedUrl
        - ttlSec
      type: object
      properties:
        signedUrl:
          minLength: 1
          type: string
          description: Pre-signed URL for downloading the file.
        ttlSec:
          type: integer
          description: Time-to-live of the URL in seconds.
          format: int32
      additionalProperties: false
    DocumentsTransferItemFind:
      required:
        - documentsTransferId
      type: object
      properties:
        documentsTransferId:
          type: string
          description: Identifier of the document transfer whose items are requested.
          format: uuid
        order:
          allOf:
            - $ref: '#/components/schemas/ItemVersionsFindOrder'
          description: Field to sort results by.
        isOrderAsc:
          type: boolean
          description: 'Sort direction (true = ascending, false = descending).'
      additionalProperties: false
    DocumentsTransferItemListItem:
      required:
        - id
        - itemFolderId
        - itemId
        - itemName
        - itemTopVersionNumber
        - itemTopVirtualVersionNumber
        - itemVersionId
        - versionId
        - versionModified
        - versionNumber
        - versionSize
        - virtualVersionNumber
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the transfer-item.
          format: uuid
        itemVersionId:
          type: string
          description: Identifier of the item version associated with the transfer.
          format: uuid
        versionId:
          type: string
          description: Identifier of the underlying file version.
          format: uuid
        versionNumber:
          type: integer
          description: Sequential version number of the file.
          format: int32
        virtualVersionNumber:
          type: integer
          description: "\nVirtual version number increases only when a new, previously unseen \n          `VersionId` is attached to the item.\n\n\nIf a version that already existed is re-attached, its virtual number remains unchanged, \n          but `ItemVersionNumber` is still incremented.\n"
          format: int32
        versionModified:
          type: string
          description: Timestamp when this version was last modified.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        versionSize:
          type: integer
          description: Size of this version in bytes.
          format: int64
        itemId:
          type: string
          description: Identifier of the item to which the version belongs.
          format: uuid
        itemName:
          minLength: 1
          type: string
          description: Display name of the item.
        itemFolderId:
          type: string
          description: Identifier of the folder containing the item.
          format: uuid
        itemTopVersionNumber:
          type: integer
          description: Latest physical version number of the item.
          format: int32
          nullable: true
        itemTopVirtualVersionNumber:
          type: integer
          description: Latest virtual version number of the item.
          format: int32
          nullable: true
      additionalProperties: false
    DocumentsTransferItemsAdd:
      required:
        - documentsTransferId
        - itemVersionIds
      type: object
      properties:
        documentsTransferId:
          type: string
          description: Unique identifier of the document transfer.
          format: uuid
        itemVersionIds:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Collection of project item version identifiers to add to the document transfer.
      additionalProperties: false
    DocumentsTransferListItem:
      required:
        - added
        - addedBy
        - cipher
        - companyRecipient
        - companySender
        - contractNumber
        - deleted
        - documentsTransferTypeId
        - documentsTransferTypeName
        - id
        - name
        - number
        - receivedAt
        - receivedBy
        - senderId
        - sentAt
        - status
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the transfer.
          format: uuid
        number:
          type: integer
          description: Sequential transfer number.
          format: int32
        name:
          minLength: 1
          type: string
          description: Name of the transfer.
        cipher:
          minLength: 1
          type: string
          description: Cipher or code of the transfer.
        status:
          allOf:
            - $ref: '#/components/schemas/DocumentsTransferStatus'
          description: Current status of the transfer.
        deleted:
          type: boolean
          description: Indicates whether the transfer is deleted.
        documentsTransferTypeId:
          type: string
          description: Identifier of the transfer type.
          format: uuid
        documentsTransferTypeName:
          minLength: 1
          type: string
          description: Name of the transfer type.
        addedBy:
          type: string
          description: User who created the transfer.
          format: uuid
        added:
          type: string
          description: Date and time when the transfer was created.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        contractNumber:
          type: string
          description: Associated contract number.
          nullable: true
        companySender:
          type: string
          description: Sender company name.
          nullable: true
        companyRecipient:
          type: string
          description: Recipient company name.
          nullable: true
        senderId:
          type: string
          description: Sender identifier.
          format: uuid
          nullable: true
        sentAt:
          type: string
          description: Date and time when the transfer was sent.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        receivedBy:
          allOf:
            - $ref: '#/components/schemas/DocumentsTransferDirectRecipient'
          description: Direct recipient of the transfer.
          nullable: true
        receivedAt:
          type: string
          description: Date and time when the transfer was received.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
      additionalProperties: false
    DocumentsTransferRecipient:
      required:
        - identifier
        - type
      type: object
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/DocumentsTransferRecipientType'
          description: Recipient type.
        identifier:
          maxLength: 255
          minLength: 1
          type: string
          description: Recipient identifier (depends on type).
      additionalProperties: false
    DocumentsTransferRecipientType:
      enum:
        - User
        - Role
        - Email
      type: string
    DocumentsTransferSend:
      required:
        - authorId
        - documentsTransferId
        - recipient
      type: object
      properties:
        documentsTransferId:
          type: string
          description: Unique identifier of the document transfer.
          format: uuid
        recipient:
          allOf:
            - $ref: '#/components/schemas/DocumentsTransferRecipient'
          description: Target recipient of the document transfer.
        authorId:
          type: string
          description: Unique identifier of the author on whose behalf the document transfer is sent.
          format: uuid
        shareExpiryDate:
          type: string
          description: Optional expiry date for public email share link.
          format: date
          nullable: true
          example: '2026-10-23'
      additionalProperties: false
    DocumentsTransferStatus:
      enum:
        - Draft
        - Formed
        - Approved
        - Signed
        - Sent
        - Viewed
        - Rejected
        - Received
      type: string
    DocumentsTransferTypeFind:
      required:
        - projectId
      type: object
      properties:
        projectId:
          type: string
          description: Project identifier in which the search is performed.
          format: uuid
        name:
          type: string
          description: Filter by transfer type name.
          nullable: true
        deleted:
          type: boolean
          description: 'Filter by deletion flag (true = deleted, false = active, null = all).'
          nullable: true
        ids:
          type: array
          items:
            type: string
            format: uuid
          description: Filter by explicit list of transfer type IDs.
          nullable: true
        addedBy:
          type: string
          description: Filter by user who created the transfer type.
          format: uuid
          nullable: true
        modifiedBy:
          type: string
          description: Filter by user who last modified the transfer type.
          format: uuid
          nullable: true
        addedFrom:
          type: string
          description: Transfer types created on or after this date.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        addedTo:
          type: string
          description: Transfer types created on or before this date.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedFrom:
          type: string
          description: Transfer types modified on or after this date.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedTo:
          type: string
          description: Transfer types modified on or before this date.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
      additionalProperties: false
    DocumentsTransferTypeListItem:
      required:
        - acceptanceCertificateFolderId
        - added
        - addedBy
        - defaultRecipient
        - deleted
        - id
        - modified
        - modifiedBy
        - name
        - projectId
        - settings
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the transfer type.
          format: uuid
        modified:
          type: string
          description: Date and time when the transfer type was last modified.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedBy:
          type: string
          description: User who last modified the transfer type.
          format: uuid
        added:
          type: string
          description: Date and time when the transfer type was created.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        addedBy:
          type: string
          description: User who created the transfer type.
          format: uuid
        projectId:
          type: string
          description: Project identifier the transfer type belongs to.
          format: uuid
        name:
          minLength: 1
          type: string
          description: Name of the transfer type.
        settings:
          allOf:
            - $ref: '#/components/schemas/DocumentsTransferTypeSettings'
          description: Settings for this transfer type.
        deleted:
          type: boolean
          description: Indicates whether the transfer type is deleted.
        acceptanceCertificateFolderId:
          type: string
          description: Folder ID where acceptance certificates are stored.
          format: uuid
          nullable: true
        defaultRecipient:
          allOf:
            - $ref: '#/components/schemas/DocumentsTransferRecipient'
          description: Default recipient for transfers of this type.
          nullable: true
      additionalProperties: false
    DocumentsTransferTypeSettings:
      required:
        - acceptanceCertificateObjectRequired
        - downloadAfterReceiving
        - signingEnabled
      type: object
      properties:
        acceptanceCertificateObjectRequired:
          type: boolean
          description: Indicates if an acceptance certificate object is required.
        signingEnabled:
          type: boolean
          description: Indicates if signing is enabled for this type.
        downloadAfterReceiving:
          type: boolean
          description: Indicates if download is allowed after receiving.
      additionalProperties: false
    DocumentsTransferTypeShort:
      required:
        - acceptanceCertificateFolderId
        - defaultRecipient
        - id
        - name
        - settings
      type: object
      properties:
        id:
          type: string
          description: Identifier of the transfer type.
          format: uuid
        name:
          minLength: 1
          type: string
          description: Name of the transfer type.
        settings:
          allOf:
            - $ref: '#/components/schemas/DocumentsTransferTypeSettings'
          description: Settings of the transfer type.
        acceptanceCertificateFolderId:
          type: string
          description: Folder ID where acceptance certificates are stored.
          format: uuid
          nullable: true
        defaultRecipient:
          allOf:
            - $ref: '#/components/schemas/DocumentsTransferRecipient'
          description: Default recipient for this type of transfer.
          nullable: true
      additionalProperties: false
    DocumentsTransfersFind:
      required:
        - projectId
      type: object
      properties:
        ids:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Filter by specific item identifiers.
          nullable: true
        addedBy:
          type: string
          description: Filter by creator identifier.
          format: uuid
          nullable: true
        modifiedBy:
          type: string
          description: Filter by last modifier identifier.
          format: uuid
          nullable: true
        addedFrom:
          type: string
          description: Filter by creation date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        addedTo:
          type: string
          description: Filter by creation date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedFrom:
          type: string
          description: Filter by modification date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedTo:
          type: string
          description: Filter by modification date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        projectId:
          type: string
          description: Project identifier in which the search is performed.
          format: uuid
        documentsTransferTypeIds:
          type: array
          items:
            type: string
            format: uuid
          description: Filter by transfer types.
          nullable: true
        statuses:
          type: array
          items:
            $ref: '#/components/schemas/DocumentsTransferStatus'
          description: Filter by transfer statuses.
          nullable: true
        searchString:
          type: string
          description: 'Search string applied to name, cipher, or contract data.'
          nullable: true
        numbers:
          type: array
          items:
            type: integer
            format: int32
          description: Filter by transfer numbers.
          nullable: true
        receivedBy:
          allOf:
            - $ref: '#/components/schemas/DocumentsTransferDirectRecipient'
          description: Filter by the user who has received the transfer package.
          nullable: true
        senderId:
          type: string
          description: Filter by sender identifier.
          format: uuid
          nullable: true
        sentFrom:
          type: string
          description: Transfers sent on or after this date.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        sentTo:
          type: string
          description: Transfers sent on or before this date.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        receivedFrom:
          type: string
          description: Transfers received on or after this date.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        receivedTo:
          type: string
          description: Transfers received on or before this date.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        order:
          allOf:
            - $ref: '#/components/schemas/DocumentsTransferFindOrder'
          description: Field to sort results by (default DocumentsTransferFindOrder.Number).
        isOrderAsc:
          type: boolean
          description: 'Sort direction (ascending = true, descending = false).'
        deleted:
          type: boolean
          description: 'Filter by deletion flag (true = deleted, false = active, null = all).'
          nullable: true
      additionalProperties: false
    EmbeddedSignatureCreate:
      required:
        - certificateId
        - itemId
        - signature
        - versionId
      type: object
      properties:
        itemId:
          type: string
          format: uuid
        versionId:
          type: string
          format: uuid
        certificateId:
          type: string
          format: uuid
        signature:
          maxLength: 15000
          minLength: 1
          type: string
      additionalProperties: false
    EmbeddedVersionSignatureListItem:
      required:
        - certificateId
        - companyName
        - id
        - ownerName
        - resultVersionId
        - signature
        - versionId
      type: object
      properties:
        id:
          type: string
          format: uuid
        versionId:
          type: string
          format: uuid
        resultVersionId:
          type: string
          format: uuid
        certificateId:
          type: string
          format: uuid
        companyName:
          minLength: 1
          type: string
        ownerName:
          minLength: 1
          type: string
        signature:
          minLength: 1
          type: string
      additionalProperties: false
    FileItemCreate:
      required:
        - folderId
        - name
        - versionId
      type: object
      properties:
        name:
          maxLength: 255
          minLength: 1
          type: string
          description: Name of the new file item.
        folderId:
          type: string
          description: Unique identifier of the folder where the file item will be created.
          format: uuid
        versionId:
          type: string
          description: Unique identifier of the version to attach to the newly created file item.
          format: uuid
        namingPatternId:
          type: string
          description: Identifier of the naming pattern to apply.
          format: uuid
          nullable: true
      additionalProperties: false
    FilterCondition:
      required:
        - type
      type: object
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/FilterConditionType'
          description: Type of filter condition.
        booleanValue:
          type: boolean
          description: Boolean constant value (only for FilterConditionType.BooleanConstant).
          nullable: true
        numericValue:
          type: string
          description: Numeric constant value (only for FilterConditionType.NumericConstant).
          nullable: true
        option:
          type: string
          description: Identifier of the selected option (only for FilterConditionType.SelectionConstant).
          format: uuid
          nullable: true
        leftFormFieldTypeId:
          type: string
          description: 'Identifier of the left form field type (only for StringCompare, BooleanCompare, NumericCompare, DateTimeCompare).'
          format: uuid
          nullable: true
        rightFormFieldTypeId:
          type: string
          description: 'Identifier of the right form field type (only for StringCompare, BooleanCompare, NumericCompare, DateTimeCompare).'
          format: uuid
          nullable: true
        conditionFormFieldTypeId:
          type: string
          description: 'Identifier of the condition form field type (only for BooleanConstant, NumericConstant, SelectionConstant).'
          format: uuid
          nullable: true
        logicalOperator:
          allOf:
            - $ref: '#/components/schemas/FormFieldFilterLogicalOperator'
          description: Logical operator (AND / OR)  (only for FilterConditionType.Group).
          nullable: true
        equalOperator:
          allOf:
            - $ref: '#/components/schemas/FormFieldFilterEqualOperator'
          description: 'Equality operator (only for StringCompare, BooleanCompare, BooleanConstant, SelectionConstant).'
          nullable: true
        valueOperator:
          allOf:
            - $ref: '#/components/schemas/FormFieldFilterValueOperator'
          description: 'Comparison operator (only for NumericCompare, DateTimeCompare, NumericConstant).'
          nullable: true
        conditions:
          minItems: 2
          type: array
          items:
            $ref: '#/components/schemas/FilterCondition'
          description: List of child filter conditions  (only for FilterConditionType.Group).
          nullable: true
      additionalProperties: false
    FilterConditionType:
      enum:
        - Group
        - StringCompare
        - BooleanCompare
        - NumericCompare
        - DateTimeCompare
        - SelectionCompare
        - BooleanConstant
        - NumericConstant
        - SelectionConstant
      type: string
    FolderAttributeValueFind:
      required:
        - folderIds
        - projectId
      type: object
      properties:
        ids:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Filter by specific item identifiers.
          nullable: true
        addedBy:
          type: string
          description: Filter by creator identifier.
          format: uuid
          nullable: true
        modifiedBy:
          type: string
          description: Filter by last modifier identifier.
          format: uuid
          nullable: true
        addedFrom:
          type: string
          description: Filter by creation date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        addedTo:
          type: string
          description: Filter by creation date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedFrom:
          type: string
          description: Filter by modification date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedTo:
          type: string
          description: Filter by modification date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        projectId:
          type: string
          description: Identifier of the project in which to search attributes.
          format: uuid
        deleted:
          type: boolean
          description: 'Filter by deletion state (true = deleted, false = active).'
          nullable: true
        attributeTypeIds:
          type: array
          items:
            type: string
            format: uuid
          description: Filter by specific attribute type identifiers.
          nullable: true
        folderIds:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: "Identifiers of folders for which attributes are requested\nwith a minimum of 1 and a maximum of 200 folders."
      additionalProperties: false
    FolderAttributeValueListItem:
      required:
        - attributeId
        - attributeTypeId
        - data
        - folderId
      type: object
      properties:
        attributeId:
          type: string
          description: Unique identifier of the attribute instance.
          format: uuid
        attributeTypeId:
          type: string
          description: Identifier of the attribute type definition.
          format: uuid
        data:
          allOf:
            - $ref: '#/components/schemas/AttributeValueData'
          description: Value data associated with the attribute.
        folderId:
          type: string
          description: Identifier of the related folder.
          format: uuid
      additionalProperties: false
    FolderCreate:
      required:
        - name
        - parentId
      type: object
      properties:
        parentId:
          type: string
          description: Identifier of the parent folder.
          format: uuid
        name:
          maxLength: 255
          minLength: 1
          type: string
          description: Name of the new folder.
        color:
          allOf:
            - $ref: '#/components/schemas/ColorKey'
          description: Color of the new folder.
          nullable: true
      additionalProperties: false
    FolderItemsNamingPattern:
      required:
        - attributeTypesIds
        - fileExtensionPattern
        - fileExtensionPatterns
        - id
        - pattern
      type: object
      properties:
        id:
          type: string
          format: uuid
        attributeTypesIds:
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers of the attribute types that are used in the naming pattern.
        pattern:
          type: array
          items:
            $ref: '#/components/schemas/NamingPatternSection'
          description: Sections of an item name that the naming pattern consists of.
        fileExtensionPattern:
          type: array
          items:
            $ref: '#/components/schemas/NamingPatternSection'
          description: "Deprecated: use FileExtensionPatterns. The first of the file extension patterns, or an empty\nlist when the naming pattern applies to extensions that no other naming pattern of the folder covers."
          deprecated: true
        fileExtensionPatterns:
          type: array
          items:
            type: array
            items:
              $ref: '#/components/schemas/NamingPatternSection'
          description: "File extension patterns the naming pattern applies to. Each pattern is a list of sections;\na file extension fits the naming pattern when it matches at least one of them. A naming pattern\nwhose only extension pattern is a single `.*` regex section applies only to extensions that no\nother naming pattern of the folder covers."
      additionalProperties: false
    FolderItemsNamingPatterns:
      required:
        - namingPatterns
        - ownerFolderId
      type: object
      properties:
        ownerFolderId:
          type: string
          description: Identifier of the folder that is the owner of the naming patterns.
          format: uuid
        namingPatterns:
          type: array
          items:
            $ref: '#/components/schemas/FolderItemsNamingPattern'
          description: Naming patterns that a folder contains.
      additionalProperties: false
    FolderItemsNamingPatternsValueDto:
      type: object
      properties:
        value:
          allOf:
            - $ref: '#/components/schemas/FolderItemsNamingPatterns'
          nullable: true
      additionalProperties: false
    FolderListItem:
      required:
        - deleted
        - id
        - name
        - type
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          minLength: 1
          type: string
        deleted:
          type: boolean
        type:
          allOf:
            - $ref: '#/components/schemas/FolderType'
      additionalProperties: false
    FolderNodePermissions:
      required:
        - children
        - color
        - folderId
        - folderName
        - permissions
      type: object
      properties:
        folderId:
          type: string
          description: Identifier of the folder.
          format: uuid
        folderName:
          minLength: 1
          type: string
          description: Name of the folder.
        permissions:
          type: array
          items:
            $ref: '#/components/schemas/PermissionListItem'
          description: List of permissions assigned directly to this folder.
        children:
          type: array
          items:
            $ref: '#/components/schemas/FolderNodePermissions'
          description: Nested folders with their respective permissions.
        color:
          allOf:
            - $ref: '#/components/schemas/ColorKey'
          description: Folder color key for UI representation.
          nullable: true
      additionalProperties: false
    FolderNodeUserPermissions:
      required:
        - children
        - color
        - id
        - modified
        - name
        - permissions
        - type
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the folder.
          format: uuid
        name:
          minLength: 1
          type: string
          description: Display name of the folder.
        modified:
          type: string
          description: The date and time when the folder was last modified.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        permissions:
          allOf:
            - $ref: '#/components/schemas/PermissionSet'
          description: User permissions for the current folder.
        children:
          type: array
          items:
            $ref: '#/components/schemas/FolderNodeUserPermissions'
          description: Child folders within this folder node.
        color:
          allOf:
            - $ref: '#/components/schemas/ColorKey'
          description: Optional color assigned to the folder.
          nullable: true
        type:
          allOf:
            - $ref: '#/components/schemas/FolderType'
          description: 'Type of the folder: regular or system.'
      additionalProperties: false
    FolderType:
      enum:
        - Regular
        - System
      type: string
    FolderUpdate:
      required:
        - id
      type: object
      properties:
        id:
          type: string
          description: Identifier of the folder.
          format: uuid
        name:
          maxLength: 255
          type: string
          description: New folder name.
          nullable: true
        color:
          allOf:
            - $ref: '#/components/schemas/ColorKeyNullableValueDto'
          description: New folder color.
          nullable: true
      additionalProperties: false
    ForgeConvert:
      required:
        - versionId
      type: object
      properties:
        versionId:
          type: string
          description: The unique identifier version.
          format: uuid
      additionalProperties: false
    ForgeModelToView:
      required:
        - urn
        - versionId
      type: object
      properties:
        versionId:
          type: string
          description: Unique identifier of the internal physical object version.
          format: uuid
        urn:
          minLength: 1
          type: string
          description: The Base64-encoded Uniform Resource Name (URN) used by the Forge platform to identify and load the model.
      additionalProperties: false
    ForgeModelsToView:
      required:
        - expiresIn
        - models
        - token
      type: object
      properties:
        token:
          minLength: 1
          type: string
          description: The OAuth 2.0 access token used to authenticate requests made by the Forge Viewer.
        expiresIn:
          type: integer
          description: 'The remaining validity time of the access token, in seconds.'
          format: int32
        models:
          type: array
          items:
            $ref: '#/components/schemas/ForgeModelToView'
          description: Collection of model mappings linking internal versions to their respective Forge representations.
      additionalProperties: false
    ForgeModelsToViewRequest:
      required:
        - itemVersionIds
        - projectId
      type: object
      properties:
        projectId:
          type: string
          description: Identifier of the project containing the items.
          format: uuid
        itemVersionIds:
          maxItems: 25
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: 'Collection of specific item version identifiers to be rendered in the viewer (min: 1, max: 25 items).'
      additionalProperties: false
    FormFieldFilterEqualOperator:
      enum:
        - Equal
        - NotEqual
      type: string
    FormFieldFilterLogicalOperator:
      enum:
        - Or
        - And
      type: string
    FormFieldFilterValueOperator:
      enum:
        - Equal
        - NotEqual
        - GreaterThan
        - GreaterThanOrEqual
        - LessThan
        - LessThanOrEqual
      type: string
    FormFieldType:
      required:
        - deleted
        - formTypeId
        - id
        - name
        - order
        - uniqueValueInProject
        - useAsDisplayValue
        - useAsRegistryColumn
        - valueType
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the form field type.
          format: uuid
        formTypeId:
          type: string
          description: Identifier of the form type this field belongs to.
          format: uuid
        name:
          minLength: 1
          type: string
          description: Name of the form field type.
        description:
          type: string
          description: Description of the form field type.
          nullable: true
        order:
          type: integer
          description: Order index of the form field type.
          format: int32
        systemName:
          type: string
          description: System name of the form field type.
          nullable: true
        useAsDisplayValue:
          type: boolean
          description: Indicates whether to use as display value.
        useAsRegistryColumn:
          type: boolean
          description: Indicates whether to use as registry column.
        uniqueValueInProject:
          type: boolean
          description: Indicates whether value must be unique within project.
        deleted:
          type: boolean
          description: Indicates whether the form field type is marked as deleted.
        valueType:
          allOf:
            - $ref: '#/components/schemas/FormFieldValueType'
          description: Configuration of the field value type.
        visibilityCondition:
          allOf:
            - $ref: '#/components/schemas/FilterCondition'
          description: Visibility filter condition for the field.
          nullable: true
      additionalProperties: false
    FormFieldTypeFind:
      type: object
      properties:
        name:
          type: string
          description: Filter by form field type name.
          nullable: true
        deleted:
          type: boolean
          description: Filter by deletion state.
          nullable: true
        valueKind:
          allOf:
            - $ref: '#/components/schemas/FormFieldValueTypeKind'
          description: Filter by field value type kind.
          nullable: true
        ids:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Filter by specific form field type identifiers.
          nullable: true
        formTypeIds:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Filter by form type identifiers.
          nullable: true
      additionalProperties: false
    FormFieldValueType:
      required:
        - kind
        - required
      type: object
      properties:
        kind:
          allOf:
            - $ref: '#/components/schemas/FormFieldValueTypeKind'
          description: Kind of form field value type.
        required:
          type: boolean
          description: Indicates whether the field is required.
        allowMultiple:
          type: boolean
          description: 'Indicates whether multiple values can be selected or uploaded (only for Kind: File, Selection, FormSource, User, DocsReview, Ntd, Material, WorkType, Counterparty, Issue, DocumentsTransfer).'
          nullable: true
        allowPartialUniqueValueMatch:
          type: boolean
          description: 'Indicates whether a unique field value can partially match another value (only for Kind: File, Selection, FormSource, User, DocsReview, Ntd, Material, WorkType, Counterparty, Issue, DocumentsTransfer).'
          nullable: true
        inputMask:
          maxLength: 10000
          type: string
          description: Input mask pattern (only for FormFieldValueTypeKind.String).
          nullable: true
        defaultStringValue:
          maxLength: 10000
          type: string
          description: Default string value (only for FormFieldValueTypeKind.String).
          nullable: true
        defaultBooleanValue:
          type: boolean
          description: Default boolean value (only for FormFieldValueTypeKind.Boolean).
          nullable: true
        defaultNumericValue:
          type: string
          description: Default numeric value (only for FormFieldValueTypeKind.Numeric).
          nullable: true
        defaultDateTimeValue:
          allOf:
            - $ref: '#/components/schemas/DateTimeValueProvider'
          description: Default date/time value provider (only for FormFieldValueTypeKind.DateTime).
          nullable: true
        regexRule:
          allOf:
            - $ref: '#/components/schemas/RegexValidationRule'
          description: Regular expression validation rule (only for FormFieldValueTypeKind.String).
          nullable: true
        unit:
          allOf:
            - $ref: '#/components/schemas/FormFieldValueUnit'
          description: 'Unit of measurement (only for FormFieldValueTypeKind.Numeric, FormFieldValueTypeKind.String).'
          nullable: true
        mode:
          allOf:
            - $ref: '#/components/schemas/DateTimeFieldValueMode'
          description: Mode of datetime field value (only for FormFieldValueTypeKind.DateTime).
          nullable: true
        rangeRules:
          type: array
          items:
            $ref: '#/components/schemas/RangeNumericValidationRule'
          description: Range numeric validation rules (only for FormFieldValueTypeKind.Numeric).
          nullable: true
        options:
          maxItems: 100
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/SelectionOption'
          description: Available selection options (only for FormFieldValueTypeKind.Selection).
          nullable: true
        defaultSelectedOptionIds:
          maxItems: 20
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers of options selected by default (only for FormFieldValueTypeKind.Selection).
          nullable: true
        sourceFormTypeId:
          type: string
          description: Identifier of the source form type (only for FormFieldValueTypeKind.FormSource).
          format: uuid
          nullable: true
        filters:
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/FormSourceFilter'
          description: Form source filters configuration (only for FormFieldValueTypeKind.FormSource).
          nullable: true
      additionalProperties: false
    FormFieldValueTypeKind:
      enum:
        - String
        - Numeric
        - Boolean
        - DateTime
        - DateRange
        - Selection
        - File
        - FormSource
        - User
        - DocsReview
        - Ntd
        - Material
        - WorkType
        - Counterparty
        - Issue
        - DocumentsTransfer
      type: string
    FormFieldValueUnit:
      enum:
        - Piece
        - Set
        - Package
        - Meter
        - RunningMeter
        - Millimeter
        - Centimeter
        - Decimeter
        - Kilometer
        - Micrometer
        - SquareMeter
        - SquareCentimeter
        - CubicMeter
        - Liter
        - CubicCentimeter
        - Kilogram
        - Tonne
        - Gram
        - Hour
        - ManHour
        - MachineHour
        - Minute
        - Second
        - Day
        - Week
        - Month
        - Trip
        - DegreesCelsius
        - Kelvin
        - Megapascal
        - KilogramForcePerSquareCentimeter
        - Bar
        - Pascal
        - Atmosphere
        - MillimeterOfMercury
        - Newton
        - Kilonewton
        - NewtonMeter
        - SquareMeterPerCubicMeter
        - Percent
        - MeterPerSecond
        - LiterPerSecond
        - RevolutionsPerMinute
        - KilometerPerHour
        - KilogramPerSquareMeter
        - TonnePerCubicMeter
        - KilogramPerCubicMeter
        - GramPerLiter
        - MilligramPerLiter
        - Volt
        - Ampere
        - Joule
        - KilowattHour
        - Watt
        - Kilowatt
        - Horsepower
        - Decibel
      type: string
    FormReviewStageFieldAssociation:
      required:
        - formFieldTypeId
        - formReviewStageTypeId
      type: object
      properties:
        formFieldTypeId:
          type: string
          description: Identifier of the form field type.
          format: uuid
        formReviewStageTypeId:
          type: string
          description: Identifier of the form review stage type.
          format: uuid
      additionalProperties: false
    FormReviewStageTypeShort:
      required:
        - id
        - name
        - order
      type: object
      properties:
        id:
          type: string
          description: Identifier of the review stage type.
          format: uuid
        order:
          type: integer
          description: Order index of the stage type.
          format: int32
        name:
          minLength: 1
          type: string
          description: Name of the review stage type.
        description:
          type: string
          description: Description of the review stage type.
          nullable: true
        orderType:
          allOf:
            - $ref: '#/components/schemas/StageOrderType'
          description: Order type of the review stage (sequential or parallel).
          nullable: true
      additionalProperties: false
    FormSourceFilter:
      required:
        - sourceFormFieldTypeId
        - targetFormFieldTypeId
      type: object
      properties:
        sourceFormFieldTypeId:
          type: string
          description: Identifier of the source form field type.
          format: uuid
        targetFormFieldTypeId:
          type: string
          description: Identifier of the target form field type.
          format: uuid
      additionalProperties: false
    FormSourceProjectForm:
      required:
        - fields
        - id
        - number
        - prefix
        - projectFormTypeId
        - suffix
      type: object
      properties:
        id:
          type: string
          format: uuid
        number:
          type: integer
          format: int32
        prefix:
          minLength: 1
          type: string
        suffix:
          minLength: 1
          type: string
        projectFormTypeId:
          type: string
          format: uuid
        fields:
          type: array
          items:
            $ref: '#/components/schemas/ProjectFormFieldShort'
      additionalProperties: false
    FormSourceProjectFormFind:
      required:
        - formFieldTypeId
        - projectId
      type: object
      properties:
        projectId:
          type: string
          description: Identifier of the project.
          format: uuid
        formFieldTypeId:
          type: string
          description: Identifier of the form field type.
          format: uuid
        projectFormId:
          type: string
          description: Identifier of the project form.
          format: uuid
          nullable: true
        ignoreFormSourceFilters:
          type: boolean
          description: Indicates whether form source filters should be ignored.
        currentProjectFormFieldValues:
          type: array
          items:
            $ref: '#/components/schemas/ProjectFormFieldShort'
          description: Current values of project form fields.
          nullable: true
      additionalProperties: false
    FormSourceProjectFormResult:
      required:
        - displayFieldTypes
        - externalSources
        - forms
        - formSourceProjectFormGroups
        - formTypeId
      type: object
      properties:
        formTypeId:
          type: string
          format: uuid
        displayFieldTypes:
          type: array
          items:
            $ref: '#/components/schemas/FormFieldType'
        forms:
          type: array
          items:
            $ref: '#/components/schemas/FormSourceProjectForm'
        externalSources:
          allOf:
            - $ref: '#/components/schemas/ProjectFormExternalSources'
        formSourceProjectFormGroups:
          type: array
          items:
            $ref: '#/components/schemas/DisplayProjectFormGroup'
      additionalProperties: false
    FormType:
      required:
        - deleted
        - formTypeGroupId
        - id
        - name
        - order
        - prefix
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the form type.
          format: uuid
        name:
          minLength: 1
          type: string
          description: Name of the form type.
        prefix:
          minLength: 1
          type: string
          description: Prefix of the form type.
        description:
          type: string
          description: Description of the form type.
          nullable: true
        order:
          type: integer
          description: Order index of the form type.
          format: int32
        deleted:
          type: boolean
          description: Indicates whether the form type is marked as deleted.
        formTypeGroupId:
          type: string
          description: Identifier of the form type group.
          format: uuid
      additionalProperties: false
    FormTypeFind:
      type: object
      properties:
        name:
          type: string
          description: Filter by form type name.
          nullable: true
        deleted:
          type: boolean
          description: 'Filter by deletion state (true = deleted, false = active).'
          nullable: true
        ids:
          type: array
          items:
            type: string
            format: uuid
          description: Filter by specific form type identifiers.
          nullable: true
        formTypeGroupIds:
          type: array
          items:
            type: string
            format: uuid
          description: Filter by form type group identifiers.
          nullable: true
      additionalProperties: false
    FormTypeGroup:
      required:
        - deleted
        - id
        - name
        - order
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the form type group.
          format: uuid
        name:
          minLength: 1
          type: string
          description: Name of the form type group.
        order:
          type: integer
          description: Order index of the form type group.
          format: int32
        deleted:
          type: boolean
          description: Indicates whether the form type group is marked as deleted.
        description:
          type: string
          description: Description of the form type group.
          nullable: true
      additionalProperties: false
    FormTypeGroupFind:
      type: object
      properties:
        name:
          type: string
          description: Filter by form type group name.
          nullable: true
        deleted:
          type: boolean
          description: Filter by deletion state.
          nullable: true
        ids:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Filter by specific form type group identifiers.
          nullable: true
      additionalProperties: false
    Group:
      required:
        - added
        - addedBy
        - boardId
        - deactivated
        - id
        - modified
        - modifiedBy
        - published
        - title
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the entity.
          format: uuid
        modified:
          type: string
          description: Timestamp of the last modification.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedBy:
          type: string
          description: Identifier of the user who last modified the entity.
          format: uuid
        added:
          type: string
          description: Timestamp when the entity was created.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        addedBy:
          type: string
          description: Identifier of the user who created the entity.
          format: uuid
        boardId:
          type: string
          description: Identifier of the dashboard the group belongs to.
          format: uuid
        title:
          minLength: 1
          type: string
          description: Title of the group.
        published:
          type: boolean
          description: "Indicates whether the group is published. An unpublished group is a draft visible only\nto the users who edit the dashboard."
        deactivated:
          type: boolean
          description: "Indicates whether the group is deactivated. A deactivated group stays on the dashboard\nwith its cards, but is locked from editing."
      additionalProperties: false
    GroupFind:
      required:
        - boardId
      type: object
      properties:
        ids:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Filter by specific item identifiers.
          nullable: true
        addedBy:
          type: string
          description: Filter by creator identifier.
          format: uuid
          nullable: true
        modifiedBy:
          type: string
          description: Filter by last modifier identifier.
          format: uuid
          nullable: true
        addedFrom:
          type: string
          description: Filter by creation date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        addedTo:
          type: string
          description: Filter by creation date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedFrom:
          type: string
          description: Filter by modification date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedTo:
          type: string
          description: Filter by modification date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        boardId:
          type: string
          description: Identifier of the dashboard whose groups are returned.
          format: uuid
      additionalProperties: false
    GuidIReadOnlyCollectionSimpleDto:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          items:
            type: string
            format: uuid
      additionalProperties: false
    GuidNullableSimpleDto:
      required:
        - data
      type: object
      properties:
        data:
          type: string
          format: uuid
      additionalProperties: false
    GuidSimpleDto:
      required:
        - data
      type: object
      properties:
        data:
          type: string
          format: uuid
      additionalProperties: false
    HubProjectInfo:
      required:
        - address
        - code
        - email
        - id
        - latitude
        - longitude
        - name
      type: object
      properties:
        id:
          type: string
          description: Project UUID.
          format: uuid
        name:
          minLength: 1
          type: string
          description: Project name.
        code:
          minLength: 1
          type: string
          description: Project short code.
        email:
          minLength: 1
          type: string
          description: "Project email.\nPermanently empty string in the future this field will be deleted."
          deprecated: true
        address:
          minLength: 1
          type: string
          description: Project location details.
        latitude:
          type: number
          description: Project location latitude.
          format: double
        longitude:
          type: number
          description: Project location longitude.
          format: double
      additionalProperties: false
    Identity:
      required:
        - id
        - type
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the identity.
          format: uuid
        type:
          allOf:
            - $ref: '#/components/schemas/IdentityType'
          description: 'Type of the identity (User, Role).'
      additionalProperties: false
    IdentityType:
      enum:
        - User
        - Role
      type: string
    InstantNullableValueDto:
      type: object
      properties:
        value:
          type: string
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
      additionalProperties: false
    Int32SimpleDto:
      required:
        - data
      type: object
      properties:
        data:
          type: integer
          format: int32
      additionalProperties: false
    IssueAccessListItem:
      required:
        - accessType
        - deleted
        - id
        - issueTypeId
        - roleId
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the access record.
          format: uuid
        roleId:
          type: string
          description: Identifier of the role associated with the access.
          format: uuid
        accessType:
          allOf:
            - $ref: '#/components/schemas/IssueAccessType'
          description: Type of access Sgnl2.Service.Gateway.Api.Definition.V1.Models.Docs.Issue.IssueAccessType.
        deleted:
          type: boolean
          description: 'Indicates whether the access record is marked as deleted (true = deleted, false = active).'
        issueTypeId:
          type: string
          description: Identifier of the issue type to which this access record applies.
          format: uuid
      additionalProperties: false
    IssueAccessType:
      enum:
        - Read
        - Create
        - Update
      type: string
    IssueAccessesFind:
      required:
        - issueTypeIds
      type: object
      properties:
        issueTypeIds:
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers of issue types for which access records should be retrieved.
        deleted:
          type: boolean
          description: 'Filter by deletion state (true = deleted, false = active).'
          nullable: true
        ids:
          type: array
          items:
            type: string
            format: uuid
          description: Filter by specific access record identifiers.
          nullable: true
      additionalProperties: false
    IssueAttachmentDownloadObject:
      required:
        - issueAttachmentId
      type: object
      properties:
        issueAttachmentId:
          type: string
          format: uuid
        fileName:
          type: string
          nullable: true
      additionalProperties: false
    IssueAttachmentDownloadTicket:
      required:
        - signedUrl
        - ttlSec
      type: object
      properties:
        signedUrl:
          minLength: 1
          type: string
        ttlSec:
          type: integer
          format: int32
      additionalProperties: false
    IssueAttachmentFind:
      required:
        - issueId
      type: object
      properties:
        issueId:
          type: string
          format: uuid
        deleted:
          type: boolean
          nullable: true
        ids:
          type: array
          items:
            type: string
            format: uuid
          nullable: true
        addedBy:
          type: string
          format: uuid
          nullable: true
        modifiedBy:
          type: string
          format: uuid
          nullable: true
        addedFrom:
          type: string
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        addedTo:
          type: string
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedFrom:
          type: string
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedTo:
          type: string
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
      additionalProperties: false
    IssueAttachmentListItem:
      required:
        - deleted
        - id
        - type
      type: object
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/IssueAttachmentType'
          description: Attachment type that determines which optional fields are populated.
        id:
          type: string
          description: Unique identifier of the attachment.
          format: uuid
        deleted:
          type: boolean
          description: 'Indicates whether the attachment is marked as deleted (true = deleted, false = active).'
        itemId:
          type: string
          description: Identifier of the linked item (only for IssueAttachmentType.Item).
          format: uuid
          nullable: true
        folderId:
          type: string
          description: Identifier of the folder where the item is located (only for IssueAttachmentType.Item).
          format: uuid
          nullable: true
        objectId:
          type: string
          description: Identifier of the linked object (only for IssueAttachmentType.Object).
          format: uuid
          nullable: true
        name:
          type: string
          description: Name of the object (only for IssueAttachmentType.Object).
          nullable: true
        url:
          type: string
          description: URL of the external attachment (only for IssueAttachmentType.Url).
          nullable: true
        itemDeleted:
          type: boolean
          description: Indicates whether the item is deleted (only for IssueAttachmentType.Item).
      additionalProperties: false
    IssueAttachmentType:
      enum:
        - Object
        - Url
        - Item
      type: string
    IssueAttributeValueFind:
      required:
        - issueIds
        - projectId
      type: object
      properties:
        ids:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Filter by specific item identifiers.
          nullable: true
        addedBy:
          type: string
          description: Filter by creator identifier.
          format: uuid
          nullable: true
        modifiedBy:
          type: string
          description: Filter by last modifier identifier.
          format: uuid
          nullable: true
        addedFrom:
          type: string
          description: Filter by creation date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        addedTo:
          type: string
          description: Filter by creation date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedFrom:
          type: string
          description: Filter by modification date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedTo:
          type: string
          description: Filter by modification date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        projectId:
          type: string
          description: Identifier of the project in which to search attributes.
          format: uuid
        deleted:
          type: boolean
          description: 'Filter by deletion state (true = deleted, false = active).'
          nullable: true
        attributeTypeIds:
          type: array
          items:
            type: string
            format: uuid
          description: Filter by specific attribute type identifiers.
          nullable: true
        issueIds:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: "Identifiers of issues for which attributes are requested\nwith a minimum of 1 and a maximum of 200 issues."
      additionalProperties: false
    IssueAttributeValueListItem:
      required:
        - attributeId
        - attributeTypeId
        - data
        - issueId
      type: object
      properties:
        attributeId:
          type: string
          description: Unique identifier of the attribute instance.
          format: uuid
        attributeTypeId:
          type: string
          description: Identifier of the attribute type definition.
          format: uuid
        data:
          allOf:
            - $ref: '#/components/schemas/AttributeValueData'
          description: Value data associated with the attribute.
        issueId:
          type: string
          description: Identifier of the related issue.
          format: uuid
      additionalProperties: false
    IssueCommentCreate:
      required:
        - issueId
        - text
      type: object
      properties:
        issueId:
          type: string
          description: Identifier of the issue the comment belongs to.
          format: uuid
        text:
          maxLength: 1000
          minLength: 1
          type: string
          description: Text content of the comment.
      additionalProperties: false
    IssueCommentFind:
      required:
        - issueIds
        - projectId
      type: object
      properties:
        ids:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Filter by specific item identifiers.
          nullable: true
        addedBy:
          type: string
          description: Filter by creator identifier.
          format: uuid
          nullable: true
        modifiedBy:
          type: string
          description: Filter by last modifier identifier.
          format: uuid
          nullable: true
        addedFrom:
          type: string
          description: Filter by creation date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        addedTo:
          type: string
          description: Filter by creation date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedFrom:
          type: string
          description: Filter by modification date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedTo:
          type: string
          description: Filter by modification date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        projectId:
          type: string
          format: uuid
        issueIds:
          type: array
          items:
            type: string
            format: uuid
      additionalProperties: false
    IssueCommentListItem:
      required:
        - added
        - addedBy
        - id
        - issueId
        - modified
        - text
      type: object
      properties:
        id:
          type: string
          format: uuid
        text:
          minLength: 1
          type: string
        issueId:
          type: string
          format: uuid
        addedBy:
          type: string
          format: uuid
        added:
          type: string
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        modified:
          type: string
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
      additionalProperties: false
    IssueCountListItem:
      required:
        - count
        - itemId
      type: object
      properties:
        itemId:
          type: string
          description: Identifier of the item.
          format: uuid
        count:
          type: integer
          description: Total number of issues linked to the item.
          format: int32
      additionalProperties: false
    IssueCreate:
      required:
        - authorId
        - issueTypeId
        - name
        - projectId
        - responsible
        - status
      type: object
      properties:
        projectId:
          type: string
          description: Identifier of the project in which the issue is created.
          format: uuid
        authorId:
          type: string
          description: Identifier of the user on whose behalf the issue is created.
          format: uuid
        issueTypeId:
          type: string
          description: Identifier of the issue type.
          format: uuid
        name:
          maxLength: 255
          minLength: 1
          type: string
          description: Title or name of the issue.
        status:
          allOf:
            - $ref: '#/components/schemas/IssueStatus'
          description: Workflow status of the issue.
        responsible:
          allOf:
            - $ref: '#/components/schemas/Identity'
          description: Identity (User or Role) responsible for resolving the issue.
        observers:
          maxItems: 200
          minItems: 0
          type: array
          items:
            $ref: '#/components/schemas/Identity'
          description: Optional collection of identities observing the issue.
        itemVersionId:
          type: string
          description: Optional identifier of the specific file version to which the issue is attached.
          format: uuid
          nullable: true
        description:
          maxLength: 1000
          type: string
          description: Optional detailed description of the issue.
          nullable: true
        placement:
          maxLength: 1000
          type: string
          description: Optional textual description of the physical or logical placement of the issue.
          nullable: true
        markupData:
          maxLength: 50000
          type: string
          description: Optional serialized data representing graphical markups or annotations on a PDF page / document.
          nullable: true
        bimData:
          maxLength: 20000
          type: string
          description: Optional serialized Building Information Modeling (BIM) data associated with the issue.
          nullable: true
        eliminationDate:
          type: string
          description: Optional target date for eliminating or resolving the issue.
          format: date
          nullable: true
          example: '2026-10-23'
      additionalProperties: false
    IssueEventFind:
      required:
        - issueId
      type: object
      properties:
        ids:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Filter by specific item identifiers.
          nullable: true
        addedBy:
          type: string
          description: Filter by creator identifier.
          format: uuid
          nullable: true
        modifiedBy:
          type: string
          description: Filter by last modifier identifier.
          format: uuid
          nullable: true
        addedFrom:
          type: string
          description: Filter by creation date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        addedTo:
          type: string
          description: Filter by creation date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedFrom:
          type: string
          description: Filter by modification date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedTo:
          type: string
          description: Filter by modification date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        issueId:
          type: string
          format: uuid
      additionalProperties: false
    IssueEventListItem:
      required:
        - added
        - addedBy
        - id
        - issueId
        - type
      type: object
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/IssueEventType'
          description: Event type that determines which optional fields are populated.
        id:
          type: string
          description: Unique identifier of the event.
          format: uuid
        issueId:
          type: string
          description: Identifier of the issue to which the event belongs.
          format: uuid
        addedBy:
          type: string
          description: Identifier of the user who created the event.
          format: uuid
        added:
          type: string
          description: Timestamp when the event was created.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        itemId:
          type: string
          description: Linked item identifier (only for IssueEventType.Creating).
          format: uuid
          nullable: true
        virtualVersionNumber:
          type: integer
          description: "  Virtual version number of the linked item (only for IssueEventType.Creating).\n  \nVirtual version number increases only when a new, previously unseen \n`VersionId` is attached to the item.\n\nIf a version that already existed is re-attached, its virtual number remains unchanged, \nbut `ItemVersionNumber` is still incremented.\n"
          format: int32
          nullable: true
        previousStatus:
          allOf:
            - $ref: '#/components/schemas/IssueStatus'
          description: Previous status (only for IssueEventType.StatusChanging).
          nullable: true
        newStatus:
          allOf:
            - $ref: '#/components/schemas/IssueStatus'
          description: New status (only for IssueEventType.StatusChanging).
          nullable: true
        commentText:
          type: string
          description: Optional comment text attached to the status change (only for IssueEventType.StatusChanging).
          nullable: true
        oldResponsible:
          allOf:
            - $ref: '#/components/schemas/Identity'
          description: Previous responsible person or role (only for IssueEventType.ResponsibleChanging).
          nullable: true
        newResponsible:
          allOf:
            - $ref: '#/components/schemas/Identity'
          description: New responsible person or role (only for IssueEventType.ResponsibleChanging).
          nullable: true
        text:
          type: string
          description: "Comment text that was added or updated\n(only for IssueEventType.CommentAdding and IssueEventType.CommentUpdating)."
          nullable: true
        commentId:
          type: string
          description: "Identifier of the comment\n(only for IssueEventType.CommentAdding and IssueEventType.CommentUpdating)."
          format: uuid
          nullable: true
        attachmentId:
          type: string
          description: "Identifier of the attachment\n(only for IssueEventType.AttachmentAdding and IssueEventType.AttachmentDeleting)."
          format: uuid
          nullable: true
        previousDescription:
          type: string
          description: Previous description text (only for IssueEventType.DescriptionChanging).
          nullable: true
        newDescription:
          type: string
          description: New description text (only for IssueEventType.DescriptionChanging).
          nullable: true
        previousEliminationDate:
          type: string
          description: Previous elimination date (only for IssueEventType.EliminationDateChanging).
          format: date
          nullable: true
          example: '2026-10-23'
        newEliminationDate:
          type: string
          description: New elimination date (only for IssueEventType.EliminationDateChanging).
          format: date
          nullable: true
          example: '2026-10-23'
        previousItemId:
          type: string
          description: Previous linked item identifier (only for IssueEventType.ItemChanging).
          format: uuid
          nullable: true
        newItemId:
          type: string
          description: New linked item identifier (only for IssueEventType.ItemChanging).
          format: uuid
          nullable: true
        previousVirtualVersionNumber:
          type: integer
          description: "  Previous virtual version number of the linked item (only for IssueEventType.ItemChanging).\n  \nVirtual version number increases only when a new, previously unseen \n`VersionId` is attached to the item.\n\nIf a version that already existed is re-attached, its virtual number remains unchanged, \nbut `ItemVersionNumber` is still incremented.\n"
          format: int32
          nullable: true
        newVirtualVersionNumber:
          type: integer
          description: "  New virtual version number of the linked item (only for IssueEventType.ItemChanging).\n  \nVirtual version number increases only when a new, previously unseen \n`VersionId` is attached to the item.\n\nIf a version that already existed is re-attached, its virtual number remains unchanged, \nbut `ItemVersionNumber` is still incremented.\n"
          format: int32
          nullable: true
        previousName:
          type: string
          description: Previous name (only for IssueEventType.NameChanging).
          nullable: true
        newName:
          type: string
          description: New name (only for IssueEventType.NameChanging).
          nullable: true
        previousTypeId:
          type: string
          description: Previous issue type identifier (only for IssueEventType.TypeChanging).
          format: uuid
          nullable: true
        newTypeId:
          type: string
          description: New issue type identifier (only for IssueEventType.TypeChanging).
          format: uuid
          nullable: true
        viewedByResponsible:
          type: string
          description: Id of the first responsible who viewed the Issue (only for IssueEventType.ViewedByResponsible).
          format: uuid
          nullable: true
        attributeTypeId:
          type: string
          description: Attribute type id (only for IssueEventType.AttributeValueChanging).
          format: uuid
          nullable: true
        previousAttributeValue:
          allOf:
            - $ref: '#/components/schemas/AttributeValueBase'
          description: Previous attribute value (only for IssueEventType.AttributeValueChanging).
          nullable: true
        newAttributeValue:
          allOf:
            - $ref: '#/components/schemas/AttributeValueBase'
          description: New attribute value (only for IssueEventType.AttributeValueChanging).
          nullable: true
      additionalProperties: false
    IssueEventType:
      enum:
        - Creating
        - Deleting
        - StatusChanging
        - ResponsibleChanging
        - CommentUpdating
        - CommentAdding
        - EliminationDateChanging
        - NameChanging
        - DescriptionChanging
        - AttachmentAdding
        - AttachmentDeleting
        - TypeChanging
        - ItemChanging
        - ViewedByResponsible
        - AttributeValueChanging
      type: string
    IssueFind:
      required:
        - projectId
      type: object
      properties:
        ids:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Filter by specific item identifiers.
          nullable: true
        addedBy:
          type: string
          description: Filter by creator identifier.
          format: uuid
          nullable: true
        modifiedBy:
          type: string
          description: Filter by last modifier identifier.
          format: uuid
          nullable: true
        addedFrom:
          type: string
          description: Filter by creation date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        addedTo:
          type: string
          description: Filter by creation date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedFrom:
          type: string
          description: Filter by modification date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedTo:
          type: string
          description: Filter by modification date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        projectId:
          type: string
          description: Identifier of the project in which to search issues.
          format: uuid
        issueTypeId:
          type: string
          description: Filter by issue type identifier.
          format: uuid
          nullable: true
        responsibleIds:
          type: array
          items:
            type: string
            format: uuid
          description: Filter by identifiers of responsible users.
          nullable: true
        observerIds:
          type: array
          items:
            type: string
            format: uuid
          description: Filter by identifiers of observer users.
          nullable: true
        name:
          type: string
          description: Filter by issue name.
          nullable: true
        deleted:
          type: boolean
          description: Filter by deletion state.
          nullable: true
        includeMarkup:
          type: boolean
          description: Whether to include markup data in the result.
          nullable: true
        includeBimData:
          type: boolean
          description: Whether to include BIM data in the result.
          nullable: true
        statuses:
          type: array
          items:
            $ref: '#/components/schemas/IssueStatus'
          description: Filter by a set of issue statuses.
          nullable: true
        itemIds:
          type: array
          items:
            type: string
            format: uuid
          description: Filter by related item identifiers.
          nullable: true
        itemVersionIds:
          type: array
          items:
            type: string
            format: uuid
          description: Filter by related item version identifiers.
          nullable: true
        numbers:
          type: array
          items:
            type: integer
            format: int32
          description: Filter by issue numbers.
          nullable: true
        order:
          allOf:
            - $ref: '#/components/schemas/IssueFindOrder'
          description: Defines the field by which to order results.
        isOrderAsc:
          type: boolean
          description: 'Defines the sort direction (true = ascending, false = descending).'
        dueEliminationDate:
          type: string
          description: Filter by due elimination date.
          format: date
          nullable: true
          example: '2026-10-23'
        itemVirtualVersionNumber:
          type: integer
          description: "\nVirtual version number increases only when a new, previously unseen \n          `VersionId` is attached to the item.\n\n\nIf a version that already existed is re-attached, its virtual number remains unchanged, \n          but `ItemVersionNumber` is still incremented.\n"
          format: int32
          nullable: true
      additionalProperties: false
    IssueFindOrder:
      enum:
        - Number
        - EliminationDate
      type: string
    IssueItem:
      required:
        - deleted
        - folderId
        - itemId
        - itemName
      type: object
      properties:
        itemId:
          type: string
          description: Identifier of the item.
          format: uuid
        folderId:
          type: string
          description: Identifier of the folder containing the item.
          format: uuid
        itemName:
          minLength: 1
          type: string
          description: Human-readable name of the item.
        deleted:
          type: boolean
          description: Indicates whether the item is marked as deleted.
      additionalProperties: false
    IssueItemVersion:
      required:
        - versionId
        - versionNumber
        - virtualVersionNumber
      type: object
      properties:
        versionId:
          type: string
          description: Identifier of the specific item version.
          format: uuid
        versionNumber:
          type: integer
          description: Sequential number of the version.
          format: int32
        virtualVersionNumber:
          type: integer
          description: "\nVirtual version number increases only when a new, previously unseen \n          `VersionId` is attached to the item.\n\n\nIf a version that already existed is re-attached, its virtual number remains unchanged, \n          but `ItemVersionNumber` is still incremented.\n"
          format: int32
        topVirtualVersionNumber:
          type: integer
          description: "\nVirtual version number increases only when a new, previously unseen \n          `VersionId` is attached to the item.\n\n\nIf a version that already existed is re-attached, its virtual number remains unchanged, \n          but `ItemVersionNumber` is still incremented.\n"
          format: int32
          nullable: true
        topItemVersionId:
          type: string
          description: Identifier of the top (latest) version of the item.
          format: uuid
          nullable: true
      additionalProperties: false
    IssueListItem:
      required:
        - added
        - addedBy
        - bimData
        - deleted
        - description
        - eliminationDate
        - id
        - issueTypeId
        - item
        - markupData
        - modified
        - modifiedBy
        - name
        - number
        - observers
        - placement
        - projectId
        - responsible
        - status
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the entity.
          format: uuid
        modified:
          type: string
          description: Timestamp of the last modification.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedBy:
          type: string
          description: Identifier of the user who last modified the entity.
          format: uuid
        added:
          type: string
          description: Timestamp when the entity was created.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        addedBy:
          type: string
          description: Identifier of the user who created the entity.
          format: uuid
        number:
          type: integer
          description: Sequential number of the issue within the project.
          format: int32
        projectId:
          type: string
          description: Identifier of the project to which the issue belongs.
          format: uuid
        name:
          minLength: 1
          type: string
          description: Human-readable name (title) of the issue.
        issueTypeId:
          type: string
          description: Identifier of the issue type.
          format: uuid
        status:
          allOf:
            - $ref: '#/components/schemas/IssueStatus'
          description: Current status of the issue.
        description:
          minLength: 1
          type: string
          description: Detailed description of the issue.
        responsible:
          allOf:
            - $ref: '#/components/schemas/Identity'
          description: Person or role responsible for the issue.
        placement:
          minLength: 1
          type: string
          description: Location or placement information for the issue.
        observers:
          type: array
          items:
            $ref: '#/components/schemas/Identity'
          description: List of observers assigned to the issue.
        markupData:
          type: object
          anyOf:
            - type: object
          description: Raw JSON data representing markup associated with the issue.
          nullable: true
        bimData:
          type: object
          anyOf:
            - type: object
          description: Raw JSON data representing BIM information.
          nullable: true
        deleted:
          type: boolean
          description: 'Indicates whether the issue is marked as deleted (true = deleted, false = active).'
        eliminationDate:
          type: string
          description: 'Date by which the issue should be eliminated, if applicable.'
          format: date
          example: '2026-10-23'
        item:
          allOf:
            - $ref: '#/components/schemas/IssueItem'
          description: 'Related item information, if the issue is linked to an item.'
        itemVersion:
          allOf:
            - $ref: '#/components/schemas/IssueItemVersion'
          description: Specific version details of the related item.
          nullable: true
      additionalProperties: false
    IssueProjectSettings:
      required:
        - imageColorByIssueStatusIsEnabled
        - projectId
      type: object
      properties:
        projectId:
          type: string
          format: uuid
        imageColorByIssueStatusIsEnabled:
          type: boolean
      additionalProperties: false
    IssueRequiredFields:
      required:
        - descriptionRequired
        - eliminationDateRequired
        - issueStatusesCommentRequired
        - markupRequired
        - notificationRequired
      type: object
      properties:
        descriptionRequired:
          type: boolean
          description: Indicates whether the issue description is mandatory.
        eliminationDateRequired:
          type: boolean
          description: Indicates whether the elimination date is mandatory.
        issueStatusesCommentRequired:
          type: array
          items:
            $ref: '#/components/schemas/IssueStatusCommentRequired'
          description: List of statuses for which a comment is mandatory.
          nullable: true
        markupRequired:
          type: boolean
          description: Indicates whether markup data is mandatory.
        notificationRequired:
          type: boolean
          description: Indicates whether notification is mandatory.
      additionalProperties: false
    IssueStatus:
      enum:
        - Draft
        - Open
        - InProgress
        - Closed
        - Void
        - Rejected
        - InReview
        - NotAccepted
      type: string
    IssueStatusCommentRequired:
      required:
        - required
        - status
      type: object
      properties:
        status:
          allOf:
            - $ref: '#/components/schemas/IssueStatus'
          description: The issue status for which the rule applies.
        required:
          type: boolean
          description: 'Indicates whether a comment is mandatory for this status (true = required, false = optional).'
      additionalProperties: false
    IssueTypeFind:
      required:
        - projectId
      type: object
      properties:
        projectId:
          type: string
          description: Identifier of the project in which to search issue types.
          format: uuid
        name:
          type: string
          description: Filter by name of the issue type.
          nullable: true
        deleted:
          type: boolean
          description: 'Filter by deletion state (true = deleted, false = active).'
          nullable: true
        ids:
          type: array
          items:
            type: string
            format: uuid
          description: Filter by specific issue type identifiers.
          nullable: true
        addedBy:
          type: string
          description: Filter by identifier of the user who added the issue type.
          format: uuid
          nullable: true
        modifiedBy:
          type: string
          description: Filter by identifier of the user who last modified the issue type.
          format: uuid
          nullable: true
        addedFrom:
          type: string
          description: Filter by creation date range (from).
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        addedTo:
          type: string
          description: Filter by creation date range (to).
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedFrom:
          type: string
          description: Filter by modification date range (from).
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedTo:
          type: string
          description: Filter by modification date range (to).
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
      additionalProperties: false
    IssueTypeListItem:
      required:
        - added
        - addedBy
        - defaultEliminationDaysPeriod
        - defaultResponsible
        - deleted
        - id
        - modified
        - modifiedBy
        - name
        - requiredFields
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the issue type.
          format: uuid
        modified:
          type: string
          description: Timestamp when the issue type was last modified.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedBy:
          type: string
          description: Identifier of the user who last modified the issue type.
          format: uuid
        added:
          type: string
          description: Timestamp when the issue type was created.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        addedBy:
          type: string
          description: Identifier of the user who created the issue type.
          format: uuid
        name:
          minLength: 1
          type: string
          description: Human-readable name of the issue type.
        requiredFields:
          allOf:
            - $ref: '#/components/schemas/IssueRequiredFields'
          description: Required fields configuration for issues of this type.
        defaultResponsible:
          allOf:
            - $ref: '#/components/schemas/Identity'
          description: 'Default responsible person or role, if defined.'
          nullable: true
        defaultEliminationDaysPeriod:
          type: integer
          description: 'Default elimination period (in days), if defined.'
          format: int32
          nullable: true
        deleted:
          type: boolean
          description: 'Indicates whether the issue type is marked as deleted (true = deleted, false = active).'
      additionalProperties: false
    IssueUpdate:
      required:
        - id
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the issue to be updated.
          format: uuid
        issueTypeId:
          type: string
          description: Optional identifier of the new issue type.
          format: uuid
          nullable: true
        name:
          maxLength: 255
          type: string
          description: Optional new name or title of the issue.
          nullable: true
        status:
          allOf:
            - $ref: '#/components/schemas/IssueStatus'
          description: Optional new workflow status of the issue.
          nullable: true
        comment:
          maxLength: 1000
          type: string
          description: Optional new comment for the issue.
          nullable: true
        description:
          maxLength: 1000
          type: string
          description: Optional new detailed description of the issue.
          nullable: true
        responsible:
          allOf:
            - $ref: '#/components/schemas/Identity'
          description: Optional new user or role assigned as responsible for resolving the issue.
          nullable: true
        deleted:
          type: boolean
          description: Optional flag to mark the issue as deleted (true) or restored (false).
          nullable: true
        placement:
          maxLength: 1000
          type: string
          description: Optional textual description of the physical or logical placement of the issue.
          nullable: true
        markupData:
          maxLength: 50000
          type: string
          description: Optional serialized data representing graphical markups or annotations on a document/drawing.
          nullable: true
        bimData:
          maxLength: 20000
          type: string
          description: Optional serialized Building Information Modeling (BIM) data associated with the issue.
          nullable: true
        observers:
          type: array
          items:
            $ref: '#/components/schemas/Identity'
          description: Optional updated collection of identities observing the issue.
          nullable: true
        eliminationDate:
          allOf:
            - $ref: '#/components/schemas/LocalDateNullableValueDto'
          description: "Optional target date for eliminating or resolving the issue.\nWrapped in a ValueDto to allow explicitly setting the date to null."
          nullable: true
      additionalProperties: false
    ItemAttachVersion:
      required:
        - itemId
        - versionId
      type: object
      properties:
        itemId:
          type: string
          description: Unique identifier of the item to which the version will be attached.
          format: uuid
        versionId:
          type: string
          description: Unique identifier of the version to attach to the item.
          format: uuid
      additionalProperties: false
    ItemAttributeValueFind:
      required:
        - itemIds
        - projectId
      type: object
      properties:
        ids:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Filter by specific item identifiers.
          nullable: true
        addedBy:
          type: string
          description: Filter by creator identifier.
          format: uuid
          nullable: true
        modifiedBy:
          type: string
          description: Filter by last modifier identifier.
          format: uuid
          nullable: true
        addedFrom:
          type: string
          description: Filter by creation date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        addedTo:
          type: string
          description: Filter by creation date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedFrom:
          type: string
          description: Filter by modification date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedTo:
          type: string
          description: Filter by modification date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        projectId:
          type: string
          description: Identifier of the project in which to search attributes.
          format: uuid
        deleted:
          type: boolean
          description: 'Filter by deletion state (true = deleted, false = active).'
          nullable: true
        attributeTypeIds:
          type: array
          items:
            type: string
            format: uuid
          description: Filter by specific attribute type identifiers.
          nullable: true
        itemIds:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: "Identifiers of items for which attributes are requested\nwith a minimum of 1 and a maximum of 200 items."
      additionalProperties: false
    ItemAttributeValueListItem:
      required:
        - attributeId
        - attributeTypeId
        - data
        - itemId
      type: object
      properties:
        attributeId:
          type: string
          description: Unique identifier of the attribute instance.
          format: uuid
        attributeTypeId:
          type: string
          description: Identifier of the attribute type definition.
          format: uuid
        data:
          allOf:
            - $ref: '#/components/schemas/AttributeValueData'
          description: Value data associated with the attribute.
        itemId:
          type: string
          description: Identifier of the related item.
          format: uuid
      additionalProperties: false
    ItemDownloadTicket:
      required:
        - signedUrl
        - ttlSec
      type: object
      properties:
        signedUrl:
          minLength: 1
          type: string
        ttlSec:
          type: integer
          format: int32
      additionalProperties: false
    ItemMove:
      required:
        - id
        - newFolderId
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the item to move.
          format: uuid
        newFolderId:
          type: string
          description: Unique identifier of the destination folder.
          format: uuid
        newName:
          maxLength: 255
          type: string
          description: New name for the item in the destination folder.
          nullable: true
        namingPatternId:
          type: string
          description: Identifier of the naming pattern to apply.
          format: uuid
          nullable: true
      additionalProperties: false
    ItemSearch:
      required:
        - folderId
      type: object
      properties:
        ids:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Filter by specific item identifiers.
          nullable: true
        addedBy:
          type: string
          description: Filter by creator identifier.
          format: uuid
          nullable: true
        modifiedBy:
          type: string
          description: Filter by last modifier identifier.
          format: uuid
          nullable: true
        addedFrom:
          type: string
          description: Filter by creation date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        addedTo:
          type: string
          description: Filter by creation date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedFrom:
          type: string
          description: Filter by modification date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedTo:
          type: string
          description: Filter by modification date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        folderId:
          type: string
          description: Identifier for search within the folder and its subfolders.
          format: uuid
        name:
          type: string
          description: Filter by item name.
          nullable: true
        suffixes:
          type: array
          items:
            type: string
          description: 'Filter by file suffixes (e.g., extensions).'
          nullable: true
      additionalProperties: false
    ItemType:
      enum:
        - File
        - Link
        - FileGroup
        - Xml
      type: string
    ItemUpdate:
      required:
        - id
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the item to update.
          format: uuid
        name:
          maxLength: 255
          type: string
          description: New name for the item.
          nullable: true
        link:
          maxLength: 500
          type: string
          description: New link for the link item.
          nullable: true
      additionalProperties: false
    ItemVersion:
      required:
        - id
        - itemId
        - versionId
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for this specific item version record.
          format: uuid
        itemId:
          type: string
          description: Identifier of the logical project document.
          format: uuid
        versionId:
          type: string
          description: Identifier of the physical object version stored in S3.
          format: uuid
      additionalProperties: false
    ItemVersionUpdate:
      required:
        - id
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the item version to be updated.
          format: uuid
        comment:
          maxLength: 255
          type: string
          description: New comment.
          nullable: true
      additionalProperties: false
    ItemVersionsFindOrder:
      enum:
        - ItemName
      type: string
    ItemsIssuesCountGet:
      required:
        - itemIds
        - projectId
      type: object
      properties:
        projectId:
          type: string
          description: Identifier of the project in which the items belong.
          format: uuid
        itemIds:
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers of the items for which the issue counts should be calculated.
        includedStatuses:
          type: array
          items:
            $ref: '#/components/schemas/IssueStatus'
          description: Optional set of issue statuses to include in the count.
          nullable: true
        excludedStatuses:
          type: array
          items:
            $ref: '#/components/schemas/IssueStatus'
          description: Optional set of issue statuses to exclude from the count.
          nullable: true
      additionalProperties: false
    ItemsListItem:
      required:
        - added
        - addedBy
        - deleted
        - folderId
        - id
        - modified
        - modifiedBy
        - name
        - type
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the entity.
          format: uuid
        modified:
          type: string
          description: Timestamp of the last modification.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedBy:
          type: string
          description: Identifier of the user who last modified the entity.
          format: uuid
        added:
          type: string
          description: Timestamp when the entity was created.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        addedBy:
          type: string
          description: Identifier of the user who created the entity.
          format: uuid
        folderId:
          type: string
          description: Identifier of the folder containing the item.
          format: uuid
        name:
          minLength: 1
          type: string
          description: Name of the item.
        topItemVersionId:
          type: string
          description: "  Identifier of the top (latest) document version (ItemVersion).\n  Has value when item type is Versional.\n  \nUnique identifier of the document version (ItemVersion) that links the item to this specific revision.\n\nUsed to precisely identify the document revision in the version history.\n"
          format: uuid
          nullable: true
        topVersionId:
          type: string
          description: Has value when item type is Versional.
          format: uuid
          nullable: true
        topVersionNumber:
          type: integer
          description: Has value when item type is Versional.
          format: int32
          nullable: true
        type:
          allOf:
            - $ref: '#/components/schemas/ItemType'
        link:
          type: string
          description: Has value when item type is Link.
          nullable: true
        deleted:
          type: boolean
          description: Indicates whether the item is marked as soft-deleted.
      additionalProperties: false
    LinkItemCreate:
      required:
        - folderId
        - link
        - name
      type: object
      properties:
        name:
          maxLength: 255
          minLength: 1
          type: string
          description: Name of the new link item.
        folderId:
          type: string
          description: Unique identifier of the folder where the link item will be created.
          format: uuid
        link:
          maxLength: 500
          minLength: 1
          type: string
          description: Target URL for the link item.
      additionalProperties: false
    LocalDateNullableValueDto:
      type: object
      properties:
        value:
          type: string
          format: date
          nullable: true
          example: '2026-10-23'
      additionalProperties: false
    MchdObjectDownloadTicket:
      required:
        - signedUrl
        - ttlSec
      type: object
      properties:
        signedUrl:
          minLength: 1
          type: string
        ttlSec:
          type: integer
          format: int32
      additionalProperties: false
    ModuleType:
      enum:
        - Docs
        - Forms
        - Dashboard
      type: string
    NamingPatternSection:
      required:
        - order
      type: object
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/NamingPatternSectionType'
          readOnly: true
        order:
          type: integer
          description: Order number of the section. Starts with 1.
          format: int32
      additionalProperties: false
    NamingPatternSectionType:
      enum:
        - Regex
        - Text
      type: string
    ObjectCreate:
      required:
        - mimeType
        - projectId
        - size
      type: object
      properties:
        projectId:
          type: string
          description: Project UUID
          format: uuid
        mimeType:
          maxLength: 100
          minLength: 1
          type: string
          description: Data mimeType
        size:
          maximum: 5368709120
          minimum: 10
          type: integer
          description: Data size in bytes
          format: int64
      additionalProperties: false
    ObjectUploadTicket:
      required:
        - objectId
        - signedUrl
        - ttlSec
      type: object
      properties:
        objectId:
          type: string
          format: uuid
        signedUrl:
          minLength: 1
          type: string
        ttlSec:
          type: integer
          description: Upload ticket ttl in seconds
          format: int32
      additionalProperties: false
    PermissionListItem:
      required:
        - create
        - delete
        - download
        - id
        - read
        - sourceId
        - sourceType
        - update
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the permission record.
          format: uuid
        sourceId:
          type: string
          description: Identifier of the source to which the permission applies.
          format: uuid
        sourceType:
          allOf:
            - $ref: '#/components/schemas/PermissionSourceType'
          description: Type of the source.
        read:
          type: boolean
          description: Indicates if read permission is granted.
        download:
          type: boolean
          description: Indicates if download permission is granted.
        create:
          type: boolean
          description: Indicates if create permission is granted.
        update:
          type: boolean
          description: Indicates if update permission is granted.
        delete:
          type: boolean
          description: Indicates if delete permission is granted.
      additionalProperties: false
    PermissionSet:
      enum:
        - None
        - Create
        - Read
        - Update
        - Delete
        - Download
      type: string
    PermissionSourceType:
      enum:
        - User
        - Role
      type: string
    PermissionUpsertBatch:
      required:
        - folderId
        - items
      type: object
      properties:
        folderId:
          type: string
          description: Identifier of the folder for which permissions are set.
          format: uuid
        items:
          type: array
          items:
            $ref: '#/components/schemas/PermissionUpsertBatchItem'
          description: Collection of permission definitions to upsert.
      additionalProperties: false
    PermissionUpsertBatchItem:
      required:
        - sourceId
        - sourceType
      type: object
      properties:
        sourceId:
          type: string
          description: Identifier of the source (user or role).
          format: uuid
        sourceType:
          allOf:
            - $ref: '#/components/schemas/PermissionSourceType'
          description: Type of the source (user or role).
        read:
          type: boolean
          description: Grants or revokes read permission.
          nullable: true
        download:
          type: boolean
          description: Grants or revokes download permission.
          nullable: true
        create:
          type: boolean
          description: Grants or revokes create permission.
          nullable: true
        update:
          type: boolean
          description: Grants or revokes update permission.
          nullable: true
        delete:
          type: boolean
          description: Grants or revokes delete permission.
          nullable: true
      additionalProperties: false
    ProjectForm:
      required:
        - added
        - addedBy
        - externalSources
        - formSourceProjectFormGroups
        - id
        - modified
        - modifiedBy
        - number
        - prefix
        - projectFormFields
        - projectFormTypeId
        - status
        - suffix
        - usedAsSourceProjectFormGroups
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the entity.
          format: uuid
        modified:
          type: string
          description: Timestamp of the last modification.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedBy:
          type: string
          description: Identifier of the user who last modified the entity.
          format: uuid
        added:
          type: string
          description: Timestamp when the entity was created.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        addedBy:
          type: string
          description: Identifier of the user who created the entity.
          format: uuid
        number:
          type: integer
          description: Sequential number of the form.
          format: int32
        prefix:
          minLength: 1
          type: string
          description: Form prefix.
        suffix:
          minLength: 1
          type: string
          description: Form suffix.
        status:
          allOf:
            - $ref: '#/components/schemas/ProjectFormStatus'
          description: Status of the form.
        projectFormTypeId:
          type: string
          description: Identifier of the project form type.
          format: uuid
        projectFormFields:
          type: array
          items:
            $ref: '#/components/schemas/ProjectFormField'
          description: Fields belonging to the project form.
        externalSources:
          allOf:
            - $ref: '#/components/schemas/ProjectFormExternalSources'
          description: External sources referenced by the project form.
        formSourceProjectFormGroups:
          type: array
          items:
            $ref: '#/components/schemas/DisplayProjectFormGroup'
          description: Form source project form groups for display.
        usedAsSourceProjectFormGroups:
          type: array
          items:
            $ref: '#/components/schemas/DisplayProjectFormGroup'
          description: Project form groups where this form is used as a source.
        deletedAt:
          type: string
          description: 'Timestamp when the form was deleted, if applicable.'
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        docxTemplateItem:
          allOf:
            - $ref: '#/components/schemas/ProjectFormTemplateItem'
          description: DOCX template item associated with the project form.
          nullable: true
        pdfTemplateItem:
          allOf:
            - $ref: '#/components/schemas/ProjectFormTemplateItem'
          description: PDF template item associated with the project form.
          nullable: true
        review:
          allOf:
            - $ref: '#/components/schemas/ProjectFormReview'
          description: 'Review details for the form, if review is configured.'
          nullable: true
      additionalProperties: false
    ProjectFormBatchCreate:
      required:
        - forms
        - projectFormTypeId
      type: object
      properties:
        projectFormTypeId:
          type: string
          description: Identifier of the project form type.
          format: uuid
        forms:
          maxItems: 200
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/ProjectFormCreate'
          description: Collection of project forms to create.
        completeFormsIfPossible:
          type: boolean
          description: Flag indicating whether forms should be completed automatically if possible.
        ensureFormsAreNotDuplicated:
          type: boolean
          description: Flag indicating whether duplicate forms should be prevented.
      additionalProperties: false
    ProjectFormComplete:
      required:
        - projectFormId
      type: object
      properties:
        projectFormId:
          type: string
          description: Identifier of the project form to complete.
          format: uuid
      additionalProperties: false
    ProjectFormCreate:
      required:
        - fields
      type: object
      properties:
        fields:
          type: array
          items:
            $ref: '#/components/schemas/ProjectFormFieldShort'
          description: Collection of project form fields to create.
      additionalProperties: false
    ProjectFormDocsReviewSource:
      required:
        - cipher
        - id
        - name
        - number
        - status
      type: object
      properties:
        id:
          type: string
          description: Identifier of the docs review.
          format: uuid
        number:
          type: integer
          description: Review number.
          format: int32
        cipher:
          minLength: 1
          type: string
          description: Review cipher.
        name:
          minLength: 1
          type: string
          description: Review name.
        status:
          allOf:
            - $ref: '#/components/schemas/ReviewStatus'
          description: Review status.
      additionalProperties: false
    ProjectFormExternalSources:
      required:
        - docsReviews
        - files
      type: object
      properties:
        files:
          type: array
          items:
            $ref: '#/components/schemas/ProjectFormFileSource'
          description: External file sources referenced by forms.
        docsReviews:
          type: array
          items:
            $ref: '#/components/schemas/ProjectFormDocsReviewSource'
          description: External docs review sources referenced by forms.
      additionalProperties: false
    ProjectFormField:
      required:
        - fieldType
        - isValueProvided
      type: object
      properties:
        isValueProvided:
          type: boolean
          description: Indicates whether the field value was provided.
        fieldType:
          allOf:
            - $ref: '#/components/schemas/ProjectFormFieldType'
          description: Configuration of the project form field type.
        fieldValue:
          allOf:
            - $ref: '#/components/schemas/ProjectFormFieldValue'
          description: Value of the project form field.
          nullable: true
      additionalProperties: false
    ProjectFormFieldShort:
      required:
        - formFieldTypeId
      type: object
      properties:
        formFieldTypeId:
          type: string
          description: Identifier of the form field type.
          format: uuid
        projectFormFieldValue:
          allOf:
            - $ref: '#/components/schemas/ProjectFormFieldValue'
          description: Field value.
          nullable: true
      additionalProperties: false
    ProjectFormFieldType:
      required:
        - formFieldType
      type: object
      properties:
        formFieldType:
          allOf:
            - $ref: '#/components/schemas/FormFieldType'
          description: Form field type details.
        override:
          allOf:
            - $ref: '#/components/schemas/ProjectFormFieldTypeOverride'
          description: Project-specific override for the form field type.
          nullable: true
      additionalProperties: false
    ProjectFormFieldTypeFind:
      required:
        - projectFormTypeId
      type: object
      properties:
        projectFormTypeId:
          type: string
          description: Identifier of the project form type.
          format: uuid
        formFieldTypeIds:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers of the form field types to filter by.
          nullable: true
      additionalProperties: false
    ProjectFormFieldTypeFindResult:
      required:
        - externalSources
        - formSourceProjectFormGroups
        - projectFormFieldTypes
      type: object
      properties:
        projectFormFieldTypes:
          type: array
          items:
            $ref: '#/components/schemas/ProjectFormFieldType'
          description: Project form field types configuration and overrides.
        formSourceProjectFormGroups:
          type: array
          items:
            $ref: '#/components/schemas/DisplayProjectFormGroup'
          description: Form source project form groups for display.
        externalSources:
          allOf:
            - $ref: '#/components/schemas/ProjectFormExternalSources'
          description: External sources referenced by the project form fields.
      additionalProperties: false
    ProjectFormFieldTypeOverride:
      required:
        - hidden
      type: object
      properties:
        hidden:
          type: boolean
          description: Indicates whether the field is hidden in this project.
        fieldValue:
          allOf:
            - $ref: '#/components/schemas/ProjectFormFieldValue'
          description: Overridden default field value in this project.
          nullable: true
      additionalProperties: false
    ProjectFormFieldUpdate:
      required:
        - formFieldTypeId
      type: object
      properties:
        formFieldTypeId:
          type: string
          description: Identifier of the form field type.
          format: uuid
        projectFormFieldValue:
          allOf:
            - $ref: '#/components/schemas/ProjectFormFieldValue'
          description: Value of the project form field.
          nullable: true
      additionalProperties: false
    ProjectFormFieldValue:
      required:
        - kind
      type: object
      properties:
        kind:
          allOf:
            - $ref: '#/components/schemas/FormFieldValueTypeKind'
          description: Kind of the project form field value.
        booleanValue:
          type: boolean
          description: Boolean value (only for FormFieldValueTypeKind.Boolean).
          nullable: true
        numericValue:
          type: string
          description: Numeric value (only for FormFieldValueTypeKind.Numeric).
          nullable: true
        stringValue:
          maxLength: 10000
          type: string
          description: String value (only for FormFieldValueTypeKind.String).
          nullable: true
        dateTimeValue:
          type: string
          description: Date/time value (only for FormFieldValueTypeKind.DateTime).
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        dateRangeStart:
          type: string
          description: Start date of date range (only for FormFieldValueTypeKind.DateRange).
          format: date
          nullable: true
          example: '2026-10-23'
        dateRangeEnd:
          type: string
          description: End date of date range (only for FormFieldValueTypeKind.DateRange).
          format: date
          nullable: true
          example: '2026-10-23'
        selectedOptionIds:
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers of selected options (only for FormFieldValueTypeKind.Selection).
          nullable: true
        projectFormIds:
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers of linked project forms (only for FormFieldValueTypeKind.FormSource).
          nullable: true
        itemIds:
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers of linked items (only for FormFieldValueTypeKind.File).
          nullable: true
        userIds:
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers of linked users (only for FormFieldValueTypeKind.User).
          nullable: true
        reviewIds:
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers of linked docs reviews (only for FormFieldValueTypeKind.DocsReview).
          nullable: true
        ntdIds:
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers of linked NTDs (only for FormFieldValueTypeKind.Ntd).
          nullable: true
        materialIds:
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers of linked materials (only for FormFieldValueTypeKind.Material).
          nullable: true
        workTypeIds:
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers of linked work types (only for FormFieldValueTypeKind.WorkType).
          nullable: true
        counterpartyIds:
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers of linked counterparties (only for FormFieldValueTypeKind.Counterparty).
          nullable: true
        issueIds:
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers of linked issues (only for FormFieldValueTypeKind.Issue).
          nullable: true
        documentsTransferIds:
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers of linked documents transfers (only for FormFieldValueTypeKind.DocumentsTransfer).
          nullable: true
      additionalProperties: false
    ProjectFormFileSource:
      required:
        - deleted
        - folderId
        - id
        - name
      type: object
      properties:
        id:
          type: string
          description: Identifier of the file item.
          format: uuid
        folderId:
          type: string
          description: Identifier of the folder containing the file.
          format: uuid
        name:
          minLength: 1
          type: string
          description: Name of the file.
        deleted:
          type: boolean
          description: Indicates whether the file is deleted.
      additionalProperties: false
    ProjectFormFind:
      required:
        - formTypeId
        - projectId
      type: object
      properties:
        ids:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Filter by specific item identifiers.
          nullable: true
        addedBy:
          type: string
          description: Filter by creator identifier.
          format: uuid
          nullable: true
        modifiedBy:
          type: string
          description: Filter by last modifier identifier.
          format: uuid
          nullable: true
        addedFrom:
          type: string
          description: Filter by creation date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        addedTo:
          type: string
          description: Filter by creation date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedFrom:
          type: string
          description: Filter by modification date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedTo:
          type: string
          description: Filter by modification date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        projectId:
          type: string
          description: Identifier of the project.
          format: uuid
        formTypeId:
          type: string
          description: Identifier of the form type.
          format: uuid
        includeAllAvailableFields:
          type: boolean
          description: Indicates whether to include all available fields.
        projectFormTypeIds:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers of the project form types.
          nullable: true
        searchText:
          type: string
          description: Search text filter.
          nullable: true
        statuses:
          maxItems: 200
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/ProjectFormStatus'
          description: Form statuses filter.
          nullable: true
        deleted:
          type: boolean
          description: Indicates whether to filter by deleted forms.
          nullable: true
        numbers:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: integer
            format: int32
          description: Numbers of the project forms.
          nullable: true
        stageTypeIds:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers of review stage types.
          nullable: true
        responsibles:
          maxItems: 200
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/Identity'
          description: Responsibles filter.
          nullable: true
      additionalProperties: false
    ProjectFormFindOrdered:
      required:
        - find
      type: object
      properties:
        find:
          allOf:
            - $ref: '#/components/schemas/ProjectFormFind'
          description: Search and filter parameters.
        order:
          allOf:
            - $ref: '#/components/schemas/ProjectFormOrder'
          description: Order field for sorting project forms. Default is Number.
        isOrderAsc:
          type: boolean
          description: Indicates whether sorting is in ascending order. Default is true.
      additionalProperties: false
    ProjectFormGet:
      required:
        - projectFormId
      type: object
      properties:
        projectFormId:
          type: string
          description: Identifier of the project form.
          format: uuid
      additionalProperties: false
    ProjectFormItemDownloadTicket:
      required:
        - signedUrl
        - ttlSec
      type: object
      properties:
        ttlSec:
          type: integer
          description: Time-to-live of the download URL in seconds.
          format: int32
        signedUrl:
          minLength: 1
          type: string
          description: Pre-signed URL for downloading the template item.
      additionalProperties: false
      description: Download ticket for a project form template item.
    ProjectFormOrder:
      enum:
        - Number
        - Type
        - Added
        - Modified
      type: string
    ProjectFormRegistryEntry:
      required:
        - added
        - addedBy
        - id
        - modified
        - modifiedBy
        - number
        - prefix
        - projectFormFields
        - projectFormTypeId
        - status
        - suffix
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the entity.
          format: uuid
        modified:
          type: string
          description: Timestamp of the last modification.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedBy:
          type: string
          description: Identifier of the user who last modified the entity.
          format: uuid
        added:
          type: string
          description: Timestamp when the entity was created.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        addedBy:
          type: string
          description: Identifier of the user who created the entity.
          format: uuid
        number:
          type: integer
          description: Form number.
          format: int32
        prefix:
          minLength: 1
          type: string
          description: Form prefix.
        suffix:
          minLength: 1
          type: string
          description: Form suffix.
        status:
          allOf:
            - $ref: '#/components/schemas/ProjectFormStatus'
          description: Status of the project form.
        projectFormTypeId:
          type: string
          description: Identifier of the project form type.
          format: uuid
        projectFormFields:
          type: array
          items:
            $ref: '#/components/schemas/ProjectFormFieldShort'
          description: Form fields short representation.
        deletedAt:
          type: string
          description: Date and time when the form was deleted.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        docxTemplateItem:
          allOf:
            - $ref: '#/components/schemas/ProjectFormTemplateItem'
          description: DOCX template item associated with the project form.
          nullable: true
        review:
          allOf:
            - $ref: '#/components/schemas/ProjectFormReviewRegistry'
          description: Form review information if applicable.
          nullable: true
      additionalProperties: false
    ProjectFormRegistryResult:
      required:
        - externalSources
        - formSourceProjectFormGroups
        - hasReviewStages
        - projectFormEntries
        - usedFormFieldTypes
      type: object
      properties:
        hasReviewStages:
          type: boolean
          description: Indicates whether the form has review stages configured.
        usedFormFieldTypes:
          type: array
          items:
            $ref: '#/components/schemas/FormFieldType'
          description: Form field types used in the project forms.
        projectFormEntries:
          type: array
          items:
            $ref: '#/components/schemas/ProjectFormRegistryEntry'
          description: Project form entries in the registry.
        externalSources:
          allOf:
            - $ref: '#/components/schemas/ProjectFormExternalSources'
          description: External sources referenced by the project forms.
        formSourceProjectFormGroups:
          type: array
          items:
            $ref: '#/components/schemas/DisplayProjectFormGroup'
          description: Form source project form groups for display.
      additionalProperties: false
    ProjectFormReview:
      required:
        - fieldAssociations
        - stages
        - started
        - startedBy
      type: object
      properties:
        startedBy:
          type: string
          description: Identifier of the user who started the review process.
          format: uuid
        started:
          type: string
          description: Timestamp when the review process was started.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        stages:
          type: array
          items:
            $ref: '#/components/schemas/ProjectFormReviewStage'
          description: Review stages.
        fieldAssociations:
          type: array
          items:
            $ref: '#/components/schemas/FormReviewStageFieldAssociation'
          description: Form field associations with review stages.
        canceled:
          type: string
          description: 'Timestamp when the review was canceled, if applicable.'
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        completed:
          type: string
          description: 'Timestamp when the review was completed, if applicable.'
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        comment:
          type: string
          description: Review comment.
          nullable: true
        cancelComment:
          type: string
          description: Cancellation comment.
          nullable: true
      additionalProperties: false
    ProjectFormReviewRegistry:
      required:
        - activeStages
        - started
        - startedBy
      type: object
      properties:
        startedBy:
          type: string
          description: Identifier of the user who started the review.
          format: uuid
        started:
          type: string
          description: Start date/time of the review.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        activeStages:
          type: array
          items:
            $ref: '#/components/schemas/ProjectFormReviewStageRegistry'
          description: Active stages in the review.
        canceled:
          type: string
          description: Cancellation timestamp if the review was canceled.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        completed:
          type: string
          description: Completion timestamp if the review was completed.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
      additionalProperties: false
    ProjectFormReviewStage:
      required:
        - id
        - stageType
        - status
      type: object
      properties:
        id:
          type: string
          description: Identifier of the project form review stage.
          format: uuid
        stageType:
          allOf:
            - $ref: '#/components/schemas/FormReviewStageTypeShort'
          description: Short information about the review stage type.
        status:
          allOf:
            - $ref: '#/components/schemas/ProjectFormReviewStageStatus'
          description: Status of the review stage.
        stageDaysPeriod:
          type: integer
          description: Duration of the stage in days.
          format: int32
          nullable: true
        responsible:
          allOf:
            - $ref: '#/components/schemas/Identity'
          description: Responsible user or role.
          nullable: true
        comment:
          type: string
          description: Stage comment.
          nullable: true
        started:
          type: string
          description: Timestamp when the stage was started.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        completed:
          type: string
          description: Timestamp when the stage was completed.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        completedPlanDate:
          type: string
          description: Planned completion date for the stage.
          format: date
          nullable: true
          example: '2026-10-23'
        completedBy:
          type: string
          description: Identifier of the user who completed the stage.
          format: uuid
          nullable: true
        returnedBy:
          type: string
          description: Identifier of the user who returned the stage.
          format: uuid
          nullable: true
        returned:
          type: string
          description: Timestamp when the stage was returned.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        returnComment:
          type: string
          description: Comment explaining why the stage was returned.
          nullable: true
      additionalProperties: false
    ProjectFormReviewStageRegistry:
      required:
        - id
        - responsible
        - stageDaysPeriod
        - stageType
        - started
      type: object
      properties:
        id:
          type: string
          description: Identifier of the review stage.
          format: uuid
        started:
          type: string
          description: Start date/time of the review stage.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        stageDaysPeriod:
          type: integer
          description: Stage duration in days.
          format: int32
        responsible:
          allOf:
            - $ref: '#/components/schemas/Identity'
          description: Responsible person for the stage.
        stageType:
          allOf:
            - $ref: '#/components/schemas/FormReviewStageTypeShort'
          description: Review stage type details.
        completedPlanDate:
          type: string
          description: Planned completion date.
          format: date
          nullable: true
          example: '2026-10-23'
      additionalProperties: false
    ProjectFormReviewStageStatus:
      enum:
        - Waiting
        - Active
        - Skipped
        - Canceled
        - Completed
        - Returned
      type: string
    ProjectFormStatus:
      enum:
        - Draft
        - Completed
        - InReview
      type: string
    ProjectFormSummary:
      required:
        - added
        - deleted
        - id
        - modified
        - number
        - prefix
        - suffix
      type: object
      properties:
        id:
          type: string
          description: Form identifier.
          format: uuid
        number:
          type: integer
          description: Sequential number of the form.
          format: int32
        prefix:
          minLength: 1
          type: string
          description: Form prefix.
        suffix:
          minLength: 1
          type: string
          description: Form suffix.
        added:
          type: string
          description: Creation timestamp.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        modified:
          type: string
          description: Modified timestamp.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        deleted:
          type: boolean
          description: Whether the form is deleted.
      additionalProperties: false
    ProjectFormTemplateItem:
      required:
        - deleted
        - folderId
        - itemId
        - itemName
      type: object
      properties:
        itemId:
          type: string
          description: Identifier of the template item.
          format: uuid
        folderId:
          type: string
          description: Identifier of the folder containing the template item.
          format: uuid
        itemName:
          minLength: 1
          type: string
          description: Name of the template item.
        deleted:
          type: boolean
          description: Indicates whether the template item is deleted.
      additionalProperties: false
    ProjectFormTemplateItemDownloadUrlGet:
      required:
        - projectFormId
        - templateItemId
      type: object
      properties:
        projectFormId:
          type: string
          description: Identifier of the project form containing the template item.
          format: uuid
        templateItemId:
          type: string
          description: Identifier of the template item to download.
          format: uuid
      additionalProperties: false
      description: Parameters for retrieving a project form template item download URL.
    ProjectFormTemplateItemValues:
      required:
        - added
        - addedBy
        - fields
        - formSourceProjectForms
        - id
        - modified
        - modifiedBy
        - number
        - prefix
        - status
        - suffix
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the entity.
          format: uuid
        modified:
          type: string
          description: Timestamp of the last modification.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedBy:
          type: string
          description: Identifier of the user who last modified the entity.
          format: uuid
        added:
          type: string
          description: Timestamp when the entity was created.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        addedBy:
          type: string
          description: Identifier of the user who created the entity.
          format: uuid
        number:
          type: integer
          description: Sequential number of the project form.
          format: int32
        prefix:
          minLength: 1
          type: string
          description: Prefix of the project form number.
        suffix:
          minLength: 1
          type: string
          description: Suffix of the project form number.
        status:
          allOf:
            - $ref: '#/components/schemas/ProjectFormStatus'
          description: Status of the project form.
        fields:
          type: array
          items:
            $ref: '#/components/schemas/ProjectFormField'
          description: Fields of the project form.
        formSourceProjectForms:
          type: array
          items:
            $ref: '#/components/schemas/ProjectFormTemplateItemValues'
          description: Form source project forms.
      additionalProperties: false
    ProjectFormType:
      required:
        - allowFieldUpdatesWhenCompleted
        - deleted
        - formTypeId
        - id
        - observers
        - suffix
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the project form type.
          format: uuid
        formTypeId:
          type: string
          description: Identifier of the form type.
          format: uuid
        suffix:
          minLength: 1
          type: string
          description: Suffix used for numbering forms of this type.
        deleted:
          type: boolean
          description: Indicates whether the project form type is marked as deleted.
        allowFieldUpdatesWhenCompleted:
          type: boolean
          description: Indicates whether field updates are allowed when form is completed.
        observers:
          type: array
          items:
            $ref: '#/components/schemas/Identity'
          description: Observers assigned to the project form type.
        systemFolder:
          allOf:
            - $ref: '#/components/schemas/ProjectFormTypeSystemFolder'
          description: System folder associated with the project form type.
          nullable: true
        templateId:
          type: string
          description: Identifier of the print template.
          format: uuid
          nullable: true
      additionalProperties: false
    ProjectFormTypeFind:
      required:
        - projectId
      type: object
      properties:
        projectId:
          type: string
          description: Identifier of the project.
          format: uuid
        deleted:
          type: boolean
          description: Indicates whether to include deleted project form types.
          nullable: true
        ids:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers of the project form types to filter by.
          nullable: true
      additionalProperties: false
    ProjectFormTypeSystemFolder:
      required:
        - deleted
        - id
      type: object
      properties:
        id:
          type: string
          description: Identifier of the system folder.
          format: uuid
        deleted:
          type: boolean
          description: Indicates whether the system folder is deleted.
      additionalProperties: false
    ProjectFormUpdate:
      required:
        - projectFormFields
        - projectFormId
      type: object
      properties:
        projectFormId:
          type: string
          description: Identifier of the project form to update.
          format: uuid
        projectFormFields:
          type: array
          items:
            $ref: '#/components/schemas/ProjectFormFieldUpdate'
          description: Collection of project form fields to update.
      additionalProperties: false
    ProjectFormValuesForTemplateItem:
      required:
        - externalSources
        - form
      type: object
      properties:
        form:
          allOf:
            - $ref: '#/components/schemas/ProjectFormTemplateItemValues'
          description: Form with template values.
        externalSources:
          allOf:
            - $ref: '#/components/schemas/ProjectFormExternalSources'
          description: External sources referenced by the form.
      additionalProperties: false
    ProjectFormValuesForTemplateItemGet:
      required:
        - projectFormId
      type: object
      properties:
        projectFormId:
          type: string
          description: Identifier of the project form.
          format: uuid
      additionalProperties: false
    ProjectFormsSummaryGet:
      required:
        - projectFormIds
        - projectIds
      type: object
      properties:
        projectIds:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers of the projects to retrieve forms from.
        projectFormIds:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers of the project forms to retrieve.
      additionalProperties: false
    ProjectListItem:
      required:
        - code
        - id
        - name
      type: object
      properties:
        id:
          type: string
          description: Project UUID.
          format: uuid
        name:
          minLength: 1
          type: string
          description: Project name.
        code:
          minLength: 1
          type: string
          description: Project code.
      additionalProperties: false
    ProjectUpdate:
      required:
        - id
        - name
        - timeZoneOffset
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the project to update.
          format: uuid
        name:
          maxLength: 255
          minLength: 1
          type: string
          description: Display name of the project.
        code:
          maxLength: 255
          type: string
          description: Short code or cipher associated with the project.
          nullable: true
        address:
          maxLength: 350
          type: string
          description: Physical address of the project location.
          nullable: true
        lat:
          type: number
          description: Latitude coordinate of the project location.
          format: double
          nullable: true
        lng:
          type: number
          description: Longitude coordinate of the project location.
          format: double
          nullable: true
        timeZoneOffset:
          allOf:
            - $ref: '#/components/schemas/TimeZoneOffset'
          description: Time zone offset applied to the project.
        isDefaultForNewUsers:
          type: boolean
          description: Indicates whether this project is assigned by default to newly created users.
      additionalProperties: false
    ProjectUserCustomRolesSet:
      required:
        - customRoleIds
        - projectId
        - userId
      type: object
      properties:
        projectId:
          type: string
          description: Identifier of the project where the roles will be applied.
          format: uuid
        userId:
          type: string
          description: Identifier of the user receiving the custom roles.
          format: uuid
        customRoleIds:
          maxItems: 25
          type: array
          items:
            type: string
            format: uuid
          description: 'Collection of custom role identifiers to assign to the user (max: 25 roles).'
      additionalProperties: false
    ProjectUserInfo:
      required:
        - customRoleIds
        - email
        - firstName
        - id
        - lastName
        - middleName
      type: object
      properties:
        id:
          type: string
          description: User UUID.
          format: uuid
        email:
          minLength: 1
          type: string
          description: User email.
        lastName:
          minLength: 1
          type: string
          description: User last name.
        firstName:
          minLength: 1
          type: string
          description: User first name.
        middleName:
          minLength: 1
          type: string
          description: User middle name.
        customRoleIds:
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers of custom roles assigned to the user within the project.
      additionalProperties: false
    ProjectUserPermissions:
      required:
        - roles
      type: object
      properties:
        roles:
          type: array
          items:
            type: string
            format: uuid
          description: List of user roles.
      additionalProperties: false
    ProjectsUsersAdd:
      required:
        - projectIds
        - userIds
      type: object
      properties:
        userIds:
          maxItems: 25
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: 'Collection of user identifiers to add (min: 1, max: 25).'
        projectIds:
          maxItems: 25
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: 'Collection of project identifiers to assign the users to (min: 1, max: 25).'
      additionalProperties: false
    ProjectsUsersDelete:
      required:
        - projectIds
        - userIds
      type: object
      properties:
        userIds:
          maxItems: 25
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: 'Collection of user identifiers to remove (min: 1, max: 25).'
        projectIds:
          maxItems: 25
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: 'Collection of project identifiers to remove the users from (min: 1, max: 25).'
      additionalProperties: false
    QrCode:
      required:
        - marginBottom
        - marginRight
        - pagesExpression
        - scale
        - size
      type: object
      properties:
        scale:
          type: integer
          description: Scaling factor for the QR code image.
          format: int32
        size:
          type: integer
          description: Size of the QR code in pixels.
          format: int32
        marginRight:
          type: integer
          description: Right margin offset (in pixels) for placement.
          format: int32
        marginBottom:
          type: integer
          description: Bottom margin offset (in pixels) for placement.
          format: int32
        pagesExpression:
          minLength: 1
          type: string
          description: Expression defining which pages should display the QR code.
      additionalProperties: false
    RangeBoundaryType:
      enum:
        - Closed
        - Open
        - OpenClosed
        - ClosedOpen
      type: string
    RangeNumericValidationRule:
      type: object
      properties:
        min:
          type: string
          description: Minimum allowed value.
          nullable: true
        max:
          type: string
          description: Maximum allowed value.
          nullable: true
        step:
          type: string
          description: Allowed step for value change.
          nullable: true
        boundaryType:
          allOf:
            - $ref: '#/components/schemas/RangeBoundaryType'
          description: Boundary interval type.
      additionalProperties: false
    RegexValidationRule:
      required:
        - pattern
      type: object
      properties:
        pattern:
          maxLength: 10000
          minLength: 1
          type: string
          description: Regular expression pattern.
        errorMessage:
          maxLength: 1000
          type: string
          description: Custom error message to display when validation fails.
          nullable: true
      additionalProperties: false
    ReviewCopying:
      required:
        - type
      type: object
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/ReviewCopyingType'
          description: Type of copying behavior.
        folderId:
          type: string
          description: Target folder identifier (used only for ReviewCopyingType.Folder).
          format: uuid
          nullable: true
        originFolderId:
          type: string
          description: Source folder identifier (used only for ReviewCopyingType.FolderStructure).
          format: uuid
          nullable: true
        destinationFolderId:
          type: string
          description: Destination folder identifier (used only for ReviewCopyingType.FolderStructure).
          format: uuid
          nullable: true
      additionalProperties: false
    ReviewCopyingError:
      enum:
        - DestinationFolderDeleted
        - OriginFolderDeleted
        - QuotaLimitExceeded
        - Unknown
      type: string
    ReviewCopyingStage:
      required:
        - copying
        - id
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the copying stage.
          format: uuid
        started:
          type: string
          description: Timestamp when copying started.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        completed:
          type: string
          description: Timestamp when copying was completed.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        error:
          allOf:
            - $ref: '#/components/schemas/ReviewCopyingError'
          description: Error that occurred during copying.
          nullable: true
        copying:
          allOf:
            - $ref: '#/components/schemas/ReviewCopying'
          description: Copying configuration used in this stage.
      additionalProperties: false
    ReviewCopyingType:
      enum:
        - Ask
        - Folder
        - FolderStructure
      type: string
    ReviewCreate:
      required:
        - behalfUserId
        - cipher
        - name
        - projectId
        - reviewTypeId
      type: object
      properties:
        projectId:
          type: string
          description: Unique identifier of the project where the review will be created.
          format: uuid
        reviewTypeId:
          type: string
          description: Unique identifier of the review type.
          format: uuid
        name:
          maxLength: 255
          minLength: 1
          type: string
          description: Display name of the new review.
        cipher:
          maxLength: 255
          minLength: 1
          type: string
          description: Cipher or code associated with the review.
        planDate:
          type: string
          description: Planned execution date for the review.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        contractDate:
          type: string
          description: Contract date associated with the review.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        behalfUserId:
          type: string
          description: Unique identifier of the user on whose behalf the review is created.
          format: uuid
        comment:
          maxLength: 1000
          type: string
          description: Comment of the first review version.
          nullable: true
      additionalProperties: false
    ReviewFind:
      required:
        - projectId
      type: object
      properties:
        addedBy:
          type: string
          description: Filter by creator identifier.
          format: uuid
          nullable: true
        modifiedBy:
          type: string
          description: Filter by last modifier identifier.
          format: uuid
          nullable: true
        addedFrom:
          type: string
          description: Filter by creation date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        addedTo:
          type: string
          description: Filter by creation date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedFrom:
          type: string
          description: Filter by modification date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedTo:
          type: string
          description: Filter by modification date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        ids:
          maxItems: 50
          type: array
          items:
            type: string
            format: uuid
          description: Filter by specific item identifiers (maximum 50 ids).
          nullable: true
        projectId:
          type: string
          description: Unique identifier of the project in which to search reviews.
          format: uuid
      additionalProperties: false
    ReviewFindOrder:
      enum:
        - Number
        - Cipher
        - Name
        - PlanStartDate
        - PlanDate
        - PlanDaysDiff
        - FirstVersionStarted
        - TopVersionStarted
      type: string
    ReviewFindOrdered:
      required:
        - find
      type: object
      properties:
        find:
          allOf:
            - $ref: '#/components/schemas/ReviewFind'
          description: Filtering criteria for finding reviews.
        order:
          allOf:
            - $ref: '#/components/schemas/ReviewFindOrder'
          description: Field by which the result should be ordered.
        isOrderAsc:
          type: boolean
          description: Indicates whether the sorting is ascending (true) or descending (false).
      additionalProperties: false
    ReviewGroupFind:
      required:
        - projectId
      type: object
      properties:
        ids:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Filter by specific item identifiers.
          nullable: true
        addedBy:
          type: string
          description: Filter by creator identifier.
          format: uuid
          nullable: true
        modifiedBy:
          type: string
          description: Filter by last modifier identifier.
          format: uuid
          nullable: true
        addedFrom:
          type: string
          description: Filter by creation date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        addedTo:
          type: string
          description: Filter by creation date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedFrom:
          type: string
          description: Filter by modification date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedTo:
          type: string
          description: Filter by modification date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        projectId:
          type: string
          description: Identifier of the project to which the review groups belong.
          format: uuid
        name:
          type: string
          description: Optional name filter for review groups.
          nullable: true
        deleted:
          type: boolean
          description: Indicates whether to include deleted review groups.
          nullable: true
      additionalProperties: false
    ReviewGroupListItem:
      required:
        - added
        - addedBy
        - deleted
        - id
        - modified
        - modifiedBy
        - name
        - projectId
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the entity.
          format: uuid
        modified:
          type: string
          description: Timestamp of the last modification.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedBy:
          type: string
          description: Identifier of the user who last modified the entity.
          format: uuid
        added:
          type: string
          description: Timestamp when the entity was created.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        addedBy:
          type: string
          description: Identifier of the user who created the entity.
          format: uuid
        projectId:
          type: string
          description: Identifier of the project this review group belongs to.
          format: uuid
        name:
          minLength: 1
          type: string
          description: Display name of the review group.
        deleted:
          type: boolean
          description: Indicates whether the review group is deleted.
      additionalProperties: false
    ReviewItemAdd:
      required:
        - itemVersionId
        - reviewId
      type: object
      properties:
        reviewId:
          type: string
          description: Unique identifier of the review.
          format: uuid
        itemVersionId:
          type: string
          description: Unique identifier of the item version id.
          format: uuid
      additionalProperties: false
    ReviewItemRemove:
      required:
        - itemVersionId
        - reviewId
      type: object
      properties:
        reviewId:
          type: string
          description: Unique identifier of the review.
          format: uuid
        itemVersionId:
          type: string
          description: Unique identifier of the item version id.
          format: uuid
      additionalProperties: false
    ReviewItemStatus:
      enum:
        - InReview
        - Rejected
        - CompletedWithIssues
        - CompletedSuccessfully
        - Nullified
      type: string
    ReviewItemStatusListItem:
      required:
        - completedAt
        - itemVersionId
        - originalItemVersionId
        - rejectedAt
        - reviewCipher
        - reviewId
        - reviewNumber
        - reviewVersionId
        - startedAt
        - status
      type: object
      properties:
        itemVersionId:
          type: string
          description: Identifier of the specific item version.
          format: uuid
        status:
          allOf:
            - $ref: '#/components/schemas/ReviewItemStatus'
          description: Current workflow status of the item within the review.
        reviewId:
          type: string
          description: Identifier of the review associated with this status.
          format: uuid
        reviewNumber:
          type: integer
          description: Sequential number assigned to the review.
          format: int32
        reviewCipher:
          minLength: 1
          type: string
          description: Reference cipher or code for the review.
        reviewVersionId:
          type: string
          description: Identifier of the specific version/iteration of the review process.
          format: uuid
        startedAt:
          type: string
          description: Timestamp when the item review process started.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        completedAt:
          type: string
          description: Timestamp when the item review process was successfully completed.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        rejectedAt:
          type: string
          description: Timestamp when the item was rejected during the review process.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        originalItemVersionId:
          type: string
          description: Identifier of the source item version from which this version was copied.
          format: uuid
      additionalProperties: false
    ReviewItemsStatusesGet:
      required:
        - itemVersionIds
        - projectId
      type: object
      properties:
        projectId:
          type: string
          description: Identifier of the project where the reviews are located.
          format: uuid
        itemVersionIds:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: 'List of item version identifiers to check (min: 1, max: 200).'
        reviewId:
          type: string
          description: Optional identifier to filter statuses by a specific review.
          format: uuid
          nullable: true
      additionalProperties: false
    ReviewListItem:
      required:
        - added
        - addedBy
        - cipher
        - id
        - modified
        - modifiedBy
        - name
        - number
        - status
        - topVersion
      type: object
      properties:
        number:
          type: integer
          description: Sequential number of the review within the project.
          format: int32
        cipher:
          minLength: 1
          type: string
          description: Cipher or code identifying the review.
        name:
          minLength: 1
          type: string
          description: Name of the review.
        planDate:
          type: string
          description: Planned date for the review.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        contractDate:
          type: string
          description: Contract date for the review.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        planDaysDiff:
          type: integer
          description: Difference between planned and actual review duration (in days).
          format: int32
          nullable: true
        contractDaysDiff:
          type: integer
          description: Difference between contract and actual review duration (in days).
          format: int32
          nullable: true
        firstVersionStarted:
          type: string
          description: Date when the first review version started.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        topVersionStarted:
          type: string
          description: Date when the latest review version started.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        topVersionCompleted:
          type: string
          description: Date when the latest review version completed.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        status:
          allOf:
            - $ref: '#/components/schemas/ReviewStatus'
          description: Current status of the review.
        topVersion:
          allOf:
            - $ref: '#/components/schemas/ReviewVersion'
          description: The latest version of the review.
        id:
          type: string
          description: Unique identifier of the review.
          format: uuid
        modified:
          type: string
          description: Timestamp of the last modification.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedBy:
          type: string
          description: Identifier of the user who last modified the review.
          format: uuid
        added:
          type: string
          description: Timestamp when the review was created.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        addedBy:
          type: string
          description: Identifier of the user who created the review.
          format: uuid
      additionalProperties: false
    ReviewNotification:
      required:
        - order
        - type
      type: object
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/ReviewNotificationType'
          description: Type of notification.
        order:
          type: integer
          description: Order number for notification sending sequence.
          format: int32
        email:
          type: string
          description: Email address for ReviewNotificationType.Email.
          format: email
          nullable: true
        roleId:
          type: string
          description: Role identifier for ReviewNotificationType.Role.
          format: uuid
          nullable: true
        userId:
          type: string
          description: User identifier for ReviewNotificationType.User.
          format: uuid
          nullable: true
      additionalProperties: false
    ReviewNotificationType:
      enum:
        - Email
        - Role
        - User
      type: string
    ReviewOrderType:
      enum:
        - Sequential
        - Parallel
      type: string
    ReviewSetComment:
      required:
        - authorId
        - comment
        - id
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the review whose latest version comment is set.
          format: uuid
        comment:
          maxLength: 1000
          type: string
          description: "New comment of the latest review version. Replaces the saved comment as a whole;\nan empty string clears it."
        authorId:
          type: string
          description: "Unique identifier of the user on whose behalf the comment is set.\nThe user must be allowed to update the review."
          format: uuid
      additionalProperties: false
    ReviewSetType:
      required:
        - id
        - reviewTypeId
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the review to update.
          format: uuid
        reviewTypeId:
          type: string
          description: Unique identifier of the new review type to apply.
          format: uuid
      additionalProperties: false
    ReviewSigning:
      required:
        - id
        - signingTypeId
        - started
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the signing step.
          format: uuid
        started:
          type: string
          description: Timestamp when signing started.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        completed:
          type: string
          description: Timestamp when signing was completed.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        completedBy:
          type: string
          description: Identifier of the user who completed the signing step.
          format: uuid
          nullable: true
        responsible:
          allOf:
            - $ref: '#/components/schemas/Identity'
          description: Identity of the responsible user for signing.
          nullable: true
        signingTypeId:
          type: string
          description: Identifier of the signing type definition.
          format: uuid
      additionalProperties: false
    ReviewSigningType:
      required:
        - id
        - order
        - responsible
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the signing type.
          format: uuid
        order:
          type: integer
          description: Order number of the signing step.
          format: int32
        responsible:
          allOf:
            - $ref: '#/components/schemas/Identity'
          description: Identity of the person responsible for signing.
        signingDaysPeriod:
          type: integer
          description: Allowed duration (in days) for signing.
          format: int32
          nullable: true
        orderType:
          allOf:
            - $ref: '#/components/schemas/ReviewOrderType'
          description: Defines whether the signing is sequential or parallel.
          nullable: true
      additionalProperties: false
    ReviewStage:
      required:
        - comment
        - completed
        - completedBy
        - id
        - itemsCount
        - rejectedItemsCount
        - stageTypeId
        - started
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the review stage.
          format: uuid
        started:
          type: string
          description: Timestamp when the stage was started.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        completed:
          type: string
          description: Timestamp when the stage was completed.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        completedPlanDate:
          type: string
          description: Planned date for the stage to be completed.
          format: date
          nullable: true
          example: '2026-10-23'
        completedBy:
          type: string
          description: Identifier of the user who completed the stage.
          format: uuid
          nullable: true
        comment:
          minLength: 1
          type: string
          description: Comment or description related to this stage.
        responsible:
          allOf:
            - $ref: '#/components/schemas/Identity'
          description: Identity of the user responsible for the stage.
          nullable: true
        itemsCount:
          type: integer
          description: Total number of items included in the stage.
          format: int32
        rejectedItemsCount:
          type: integer
          description: Number of rejected items during this stage.
          format: int32
        stageTypeId:
          type: string
          description: Identifier of the corresponding stage type.
          format: uuid
      additionalProperties: false
    ReviewStageType:
      required:
        - id
        - isBlocking
        - order
        - stageDaysPeriod
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the stage type.
          format: uuid
        order:
          type: integer
          description: Stage order number within the review process.
          format: int32
        responsible:
          allOf:
            - $ref: '#/components/schemas/Identity'
          description: Identity of the person responsible for this stage.
          nullable: true
        isBlocking:
          type: boolean
          description: Indicates whether this stage blocks subsequent ones until completion.
        stageDaysPeriod:
          type: integer
          description: Allowed duration (in days) for this stage.
          format: int32
        orderType:
          allOf:
            - $ref: '#/components/schemas/ReviewOrderType'
          description: Defines whether the stage is performed sequentially or in parallel.
          nullable: true
      additionalProperties: false
    ReviewStagesStatus:
      enum:
        - CompletedSuccessfully
        - CompletedWithIssues
      type: string
    ReviewStamping:
      required:
        - id
        - started
        - status
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the stamping operation.
          format: uuid
        started:
          type: string
          description: Timestamp when the stamping process started.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        completed:
          type: string
          description: Timestamp when the stamping process was completed.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        status:
          allOf:
            - $ref: '#/components/schemas/ReviewStampingStatus'
          description: Status of the stamping process.
        qrCode:
          allOf:
            - $ref: '#/components/schemas/QrCode'
          description: QR code configuration used during stamping.
          nullable: true
        stamp:
          allOf:
            - $ref: '#/components/schemas/Stamp'
          description: Stamp configuration used during stamping.
          nullable: true
      additionalProperties: false
    ReviewStampingStage:
      required:
        - id
        - stampings
        - started
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the stamping stage.
          format: uuid
        started:
          type: string
          description: Timestamp when the stamping stage was started.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        completed:
          type: string
          description: Timestamp when the stamping stage was completed.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        responsible:
          allOf:
            - $ref: '#/components/schemas/Identity'
          description: Identity of the user responsible for stamping.
          nullable: true
        stampings:
          type: array
          items:
            $ref: '#/components/schemas/ReviewStamping'
          description: Collection of individual stampings performed during this stage.
      additionalProperties: false
    ReviewStampingStatus:
      enum:
        - Queued
        - InProgress
        - NoStampingRequired
        - CompletedSuccessfully
        - CompletedWithErrors
        - Cancelled
        - QuotaLimitExceeded
      type: string
    ReviewStampingType:
      enum:
        - AutomaticContinueOnSuccess
        - ManualConfirmation
      type: string
    ReviewStart:
      required:
        - behalfUserId
        - reviewId
      type: object
      properties:
        reviewId:
          type: string
          description: Unique identifier of the review to start.
          format: uuid
        comment:
          maxLength: 1000
          type: string
          description: "Comment of the review version being started. When omitted or null, the saved comment\nis kept; any other value, including an empty string, replaces it."
          nullable: true
        responsiblesByStageTypeIds:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/Identity'
          description: Dictionary mapping review stage type identifiers to their assigned responsible identities.
          nullable: true
        behalfUserId:
          type: string
          description: Unique identifier of the user on whose behalf the review process is started.
          format: uuid
      additionalProperties: false
    ReviewStatus:
      enum:
        - Draft
        - InProgress
        - Completed
        - Deleted
        - Cancelled
      type: string
    ReviewStatusIconType:
      enum:
        - CheckMark
        - Cross
        - ExclamationMark
        - Comment
        - CheckMarkBlue
        - CheckMarkYellow
        - CheckMarkPurple
        - CrossBlue
        - CrossYellow
        - CrossPurple
        - ExclamationMarkBlue
        - ExclamationMarkRed
        - ExclamationMarkPurple
        - CommentBlue
        - CommentYellow
        - CommentPurple
      type: string
    ReviewStatusType:
      required:
        - iconType
        - id
        - name
        - order
        - typeInfo
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the status type.
          format: uuid
        order:
          type: integer
          description: Order number of the status in the review process.
          format: int32
        name:
          minLength: 1
          type: string
          description: Display name of the status.
        typeInfo:
          allOf:
            - $ref: '#/components/schemas/ReviewStatusTypeInfo'
          description: Logical meaning of the status (approved/rejected).
        iconType:
          allOf:
            - $ref: '#/components/schemas/ReviewStatusIconType'
          description: Icon representing the status visually.
      additionalProperties: false
    ReviewStatusTypeInfo:
      enum:
        - Approved
        - Rejected
      type: string
    ReviewType:
      required:
        - added
        - addedBy
        - deleted
        - description
        - id
        - modified
        - modifiedBy
        - name
        - notifications
        - signingTypes
        - stageTypes
        - statusTypes
        - versionId
        - versionNumber
      type: object
      properties:
        deleted:
          type: boolean
          description: Indicates whether the review type has been deleted.
        name:
          minLength: 1
          type: string
          description: Display name of the review type.
        description:
          minLength: 1
          type: string
          description: Description of the review type.
        versionId:
          type: string
          description: Identifier of the version this review type belongs to.
          format: uuid
        versionNumber:
          type: integer
          description: Sequential number of the version.
          format: int32
        stampingResponsible:
          allOf:
            - $ref: '#/components/schemas/Identity'
          description: User responsible for document stamping.
          nullable: true
        stampingType:
          allOf:
            - $ref: '#/components/schemas/ReviewStampingType'
          description: Defines how stamping should be performed.
          nullable: true
        reviewGroupId:
          type: string
          description: Identifier of the review group this review type belongs to.
          format: uuid
          nullable: true
        qrCode:
          allOf:
            - $ref: '#/components/schemas/QrCode'
          description: Configuration of the QR code placed on documents.
          nullable: true
        stamp:
          allOf:
            - $ref: '#/components/schemas/Stamp'
          description: Configuration of the review stamp.
          nullable: true
        copying:
          allOf:
            - $ref: '#/components/schemas/ReviewCopying'
          description: Configuration for automatic or manual copying after review completion.
          nullable: true
        stageTypes:
          type: array
          items:
            $ref: '#/components/schemas/ReviewStageType'
          description: List of stage types defined for this review.
        statusTypes:
          type: array
          items:
            $ref: '#/components/schemas/ReviewStatusType'
          description: List of possible statuses for this review type.
        signingTypes:
          type: array
          items:
            $ref: '#/components/schemas/ReviewSigningType'
          description: List of signing types applicable to this review.
        notifications:
          type: array
          items:
            $ref: '#/components/schemas/ReviewNotification'
          description: List of notifications associated with this review type.
        id:
          type: string
          description: Unique identifier of the review type.
          format: uuid
        modified:
          type: string
          description: Timestamp of the last modification.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedBy:
          type: string
          description: Identifier of the user who modified the review type last.
          format: uuid
        added:
          type: string
          description: Timestamp when the review type was created.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        addedBy:
          type: string
          description: Identifier of the user who created the review type.
          format: uuid
      additionalProperties: false
    ReviewTypeName:
      required:
        - id
        - name
        - topVersionId
        - topVersionNumber
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the review type.
          format: uuid
        name:
          minLength: 1
          type: string
          description: Display name of the review type.
        topVersionId:
          type: string
          description: Identifier of the top version of the review type.
          format: uuid
        topVersionNumber:
          type: integer
          description: Number of the top version of the review type.
          format: int32
      additionalProperties: false
    ReviewUpdate:
      required:
        - id
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the review to update.
          format: uuid
        name:
          maxLength: 255
          type: string
          description: Name of the review.
          nullable: true
        cipher:
          maxLength: 255
          type: string
          description: Cipher of the review.
          nullable: true
        planDate:
          allOf:
            - $ref: '#/components/schemas/InstantNullableValueDto'
          description: "  Planned date of the review.\n  \nWrapper used to distinguish between an omitted value and an explicit assignment.\n\nIf the property is not provided (null), the corresponding value is not changed.\n\nIf the wrapper is provided with a null value, the corresponding value is explicitly set to null.\n\nIf the wrapper is provided with a non-null value, the corresponding value is updated accordingly.\n"
          nullable: true
        contractDate:
          allOf:
            - $ref: '#/components/schemas/InstantNullableValueDto'
          description: "  Contract date of the review.\n  \nWrapper used to distinguish between an omitted value and an explicit assignment.\n\nIf the property is not provided (null), the corresponding value is not changed.\n\nIf the wrapper is provided with a null value, the corresponding value is explicitly set to null.\n\nIf the wrapper is provided with a non-null value, the corresponding value is updated accordingly.\n"
          nullable: true
      additionalProperties: false
    ReviewVersion:
      required:
        - id
        - itemsCount
        - number
        - rejectedItemsCount
        - reviewId
        - scenario
        - signings
        - stages
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the review version.
          format: uuid
        number:
          type: integer
          description: Sequential number of the review version.
          format: int32
        reviewId:
          type: string
          description: Identifier of the associated review.
          format: uuid
        stagesStatus:
          allOf:
            - $ref: '#/components/schemas/ReviewStagesStatus'
          description: Aggregated status of the review stages.
          nullable: true
        previousVersionId:
          type: string
          description: Identifier of the previous version.
          format: uuid
          nullable: true
        startedAt:
          type: string
          description: Timestamp when the review version was started.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        startedBy:
          type: string
          description: Identifier of the user who started this version.
          format: uuid
          nullable: true
        completedAt:
          type: string
          description: Timestamp when the review version was completed.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        canceledAt:
          type: string
          description: Timestamp when the review version was canceled.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        canceledBy:
          type: string
          description: Identifier of the user who canceled the review version.
          format: uuid
          nullable: true
        cancelComment:
          type: string
          description: Comment provided when canceling the review version.
          nullable: true
        comment:
          type: string
          description: "Comment of the review version. Set on review creation or on start, editable for the\nlatest version of a review in any status except deleted through\n`PATCH public/v1/reviews/comment`, and carried over to the next version on restart or\ncancellation."
          nullable: true
        scenario:
          allOf:
            - $ref: '#/components/schemas/ReviewVersionScenario'
          description: 'Defines the workflow scenario applied to this review version, determining how it interacts with previous versions and their items.'
        itemsCount:
          type: integer
          description: Total number of items included in this review version.
          format: int32
        rejectedItemsCount:
          type: integer
          description: Number of items rejected during the review.
          format: int32
        reviewType:
          allOf:
            - $ref: '#/components/schemas/ReviewType'
          description: Type of the review.
          nullable: true
        stages:
          type: array
          items:
            $ref: '#/components/schemas/ReviewStage'
          description: Collection of review stages associated with this version.
        stampingStage:
          allOf:
            - $ref: '#/components/schemas/ReviewStampingStage'
          description: Information about the stamping stage.
          nullable: true
        signings:
          type: array
          items:
            $ref: '#/components/schemas/ReviewSigning'
          description: Collection of signings related to this review version.
        copyingStage:
          allOf:
            - $ref: '#/components/schemas/ReviewCopyingStage'
          description: Information about the copying stage.
          nullable: true
      additionalProperties: false
    ReviewVersionItemVersionIdsFind:
      required:
        - reviewVersionIds
      type: object
      properties:
        reviewVersionIds:
          maxItems: 500
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
      additionalProperties: false
    ReviewVersionScenario:
      enum:
        - None
        - Cancelling
        - CancellingSupersededItems
        - Additional
      type: string
    ReviewVersionsGet:
      required:
        - reviewVersionIds
      type: object
      properties:
        reviewVersionIds:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers of review versions.
      additionalProperties: false
    RoleInfo:
      required:
        - id
        - name
      type: object
      properties:
        id:
          type: string
          description: Role UUID.
          format: uuid
        name:
          minLength: 1
          type: string
          description: User email.
      additionalProperties: false
    SelectionOption:
      required:
        - id
        - name
        - order
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the option.
          format: uuid
        name:
          maxLength: 1000
          minLength: 1
          type: string
          description: Name / label of the option.
        order:
          type: integer
          description: Order index of the option.
          format: int32
        description:
          maxLength: 1000
          type: string
          description: Description of the option.
          nullable: true
      additionalProperties: false
    ShareAccessType:
      enum:
        - ViewAndDownload
        - ViewOnly
        - SimpleView
      type: string
    ShareCreate:
      required:
        - sharedItemId
        - sharedItemType
        - shareType
      type: object
      properties:
        sharedItemId:
          type: string
          description: Identifier of the shared folder or item.
          format: uuid
        sharedItemType:
          allOf:
            - $ref: '#/components/schemas/ShareDataType'
          description: Type of the shared folder or item.
        shareType:
          allOf:
            - $ref: '#/components/schemas/ShareAccessType'
          description: Access type for the created share.
        expiryDate:
          type: string
          description: Date when the share expires.
          format: date
          nullable: true
          example: '2026-10-23'
        isSnapshot:
          type: boolean
          description: Share only the current version of item(s).
      additionalProperties: false
    ShareDataType:
      enum:
        - Item
        - Folder
      type: string
    ShareDelete:
      required:
        - deleted
        - id
      type: object
      properties:
        id:
          type: string
          description: Identifier of the share to update deletion state for.
          format: uuid
        deleted:
          type: boolean
          description: Deletion state to set.
      additionalProperties: false
    ShareFind:
      required:
        - projectId
      type: object
      properties:
        ids:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Filter by specific item identifiers.
          nullable: true
        addedBy:
          type: string
          description: Filter by creator identifier.
          format: uuid
          nullable: true
        modifiedBy:
          type: string
          description: Filter by last modifier identifier.
          format: uuid
          nullable: true
        addedFrom:
          type: string
          description: Filter by creation date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        addedTo:
          type: string
          description: Filter by creation date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedFrom:
          type: string
          description: Filter by modification date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedTo:
          type: string
          description: Filter by modification date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        projectId:
          type: string
          description: Identifier of the project in which to search shares.
          format: uuid
        sharedItemType:
          allOf:
            - $ref: '#/components/schemas/ShareDataType'
          description: Filter by shared folder or item.
          nullable: true
        deleted:
          type: boolean
          description: Filter by deletion state.
          nullable: true
      additionalProperties: false
    ShareListItem:
      required:
        - added
        - addedBy
        - deleted
        - id
        - modified
        - modifiedBy
        - sharedItemId
        - sharedItemName
        - sharedItemType
        - type
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the entity.
          format: uuid
        modified:
          type: string
          description: Timestamp of the last modification.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedBy:
          type: string
          description: Identifier of the user who last modified the entity.
          format: uuid
        added:
          type: string
          description: Timestamp when the entity was created.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        addedBy:
          type: string
          description: Identifier of the user who created the entity.
          format: uuid
        sharedItemId:
          type: string
          description: Identifier of the shared folder or item.
          format: uuid
        sharedItemType:
          allOf:
            - $ref: '#/components/schemas/ShareDataType'
          description: Type of the shared folder or item.
        sharedItemName:
          minLength: 1
          type: string
          description: Name of the shared folder or item.
        type:
          allOf:
            - $ref: '#/components/schemas/ShareAccessType'
          description: Access type of the share.
        deleted:
          type: boolean
          description: Deletion state of the share.
        expiryDate:
          type: string
          description: Date when the share expires.
          format: date
          nullable: true
          example: '2026-10-23'
      additionalProperties: false
    ShareUpdate:
      required:
        - id
      type: object
      properties:
        id:
          type: string
          description: Identifier of the share to update.
          format: uuid
        type:
          allOf:
            - $ref: '#/components/schemas/ShareAccessType'
          description: New access type.
          nullable: true
        expiryDate:
          allOf:
            - $ref: '#/components/schemas/LocalDateNullableValueDto'
          description: New expiry date value.
          nullable: true
        isSnapshot:
          type: boolean
          description: Whether the share is a snapshot.
          nullable: true
      additionalProperties: false
    Slot:
      required:
        - added
        - booked
        - deleted
        - end
        - id
        - modified
        - projectIds
        - start
        - userId
      type: object
      properties:
        id:
          type: string
          description: Id of the record.
          format: uuid
        userId:
          type: string
          description: UserId of the record.
          format: uuid
        start:
          type: string
          description: Inclusive slot start time.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        end:
          type: string
          description: Exclusive slot end time.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        booked:
          type: boolean
          description: Whether the slot has an active booking.
        deleted:
          type: boolean
          description: Whether the record is deleted.
        projectIds:
          type: array
          items:
            type: string
            format: uuid
          description: Allowed projects; empty means all projects in the company.
        added:
          type: string
          description: Creation timestamp.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        modified:
          type: string
          description: Last modification timestamp.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
      additionalProperties: false
    SlotBatchCreate:
      required:
        - slots
      type: object
      properties:
        slots:
          maxItems: 200
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/SlotCreate'
          description: Slots to create. Results correspond to the slots in the same order.
      additionalProperties: false
    SlotBatchDelete:
      required:
        - slotIds
      type: object
      properties:
        slotIds:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Identifiers to delete. Deleting a slot also cancels its active bookings.
      additionalProperties: false
    SlotCreate:
      required:
        - end
        - projectIds
        - start
        - userId
      type: object
      properties:
        userId:
          type: string
          description: Slot owner identifier.
          format: uuid
        start:
          type: string
          description: Inclusive start time. The UTC date must be today or within the next 62 days.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        end:
          type: string
          description: 'Exclusive end time, at least five minutes after Start.'
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        projectIds:
          maxItems: 200
          minItems: 0
          type: array
          items:
            type: string
            format: uuid
          description: Allowed projects; an empty collection allows all company projects and requires the integration to have unrestricted project access.
      additionalProperties: false
    SlotCreateErrorType:
      enum:
        - TimeConflict
        - DurationTooShort
        - StartDateInPast
        - StartDateTooFarAhead
      type: string
    SlotCreateResult:
      required:
        - index
        - type
      type: object
      properties:
        index:
          type: integer
          description: Zero-based index in the request.
          format: int32
        type:
          allOf:
            - $ref: '#/components/schemas/SlotCreateResultType'
          description: Result discriminator.
        slotId:
          type: string
          description: Created slot identifier; present for Success.
          format: uuid
          nullable: true
        errorType:
          allOf:
            - $ref: '#/components/schemas/SlotCreateErrorType'
          description: Failure reason; present for Error.
          nullable: true
      additionalProperties: false
    SlotCreateResultType:
      enum:
        - Success
        - Error
      type: string
    SlotFind:
      required:
        - paging
      type: object
      properties:
        ids:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Filter by specific item identifiers.
          nullable: true
        addedBy:
          type: string
          description: Filter by creator identifier.
          format: uuid
          nullable: true
        modifiedBy:
          type: string
          description: Filter by last modifier identifier.
          format: uuid
          nullable: true
        addedFrom:
          type: string
          description: Filter by creation date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        addedTo:
          type: string
          description: Filter by creation date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedFrom:
          type: string
          description: Filter by modification date starting from this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        modifiedTo:
          type: string
          description: Filter by modification date up to this value.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        paging:
          allOf:
            - $ref: '#/components/schemas/SlotFindCursorCursorPaging'
          description: Cursor pagination parameters. Omit the cursor for the first page.
        userIds:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Filter by slot owners.
          nullable: true
        projectIds:
          maxItems: 200
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: "Slots must be available to every supplied project; slots available to all company projects also match.\nOmit this filter to search across the whole company; this requires unrestricted project access."
          nullable: true
        startFrom:
          type: string
          description: Inclusive lower bound for the slot start time.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        startTo:
          type: string
          description: Exclusive upper bound for the slot start time.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        booked:
          type: boolean
          description: True selects booked slots; false selects free slots; omitted selects both.
          nullable: true
        deleted:
          type: boolean
          description: True selects deleted records; false selects active records; null or omitted selects both.
          nullable: true
      additionalProperties: false
    SlotFindCursor:
      required:
        - id
        - start
      type: object
      properties:
        id:
          type: string
          description: Identifier of the last record of the previous page.
          format: uuid
        start:
          type: string
          description: Start timestamp of the last record of the previous page.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
      additionalProperties: false
    SlotFindCursorCursorPaging:
      required:
        - take
      type: object
      properties:
        cursor:
          allOf:
            - $ref: '#/components/schemas/SlotFindCursor'
          nullable: true
        take:
          maximum: 200
          minimum: 1
          type: integer
          format: int32
      additionalProperties: false
    SlotShort:
      required:
        - deleted
        - end
        - id
        - start
        - userId
      type: object
      properties:
        id:
          type: string
          description: Id of the record.
          format: uuid
        userId:
          type: string
          description: UserId of the record.
          format: uuid
        start:
          type: string
          description: Inclusive slot start time.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        end:
          type: string
          description: Exclusive slot end time.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        deleted:
          type: boolean
          description: Whether the record is deleted.
      additionalProperties: false
    StageOrderType:
      enum:
        - Sequential
        - Parallel
      type: string
    Stamp:
      required:
        - companyName
        - employeeName
        - marginBottom
        - marginRight
        - pagesExpression
        - positionName
        - scale
      type: object
      properties:
        companyName:
          maxLength: 255
          minLength: 1
          type: string
          description: Company name displayed on the stamp.
        employeeName:
          maxLength: 255
          minLength: 1
          type: string
          description: Employee name displayed on the stamp.
        positionName:
          maxLength: 255
          minLength: 1
          type: string
          description: Employee position displayed on the stamp.
        scale:
          type: integer
          description: Scale of the stamp image.
          format: int32
        marginRight:
          type: integer
          description: Right margin offset (in pixels) for placement.
          format: int32
        marginBottom:
          type: integer
          description: Bottom margin offset (in pixels) for placement.
          format: int32
        pagesExpression:
          maxLength: 255
          minLength: 1
          type: string
          description: Expression defining which pages should display the stamp.
      additionalProperties: false
    StorageFind:
      type: object
      properties:
        isSystem:
          type: boolean
          description: Filter by whether the storage is a built-in system-predefined storage.
          nullable: true
      additionalProperties: false
    StorageListItem:
      required:
        - id
        - isDefault
        - isSystem
        - name
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the storage.
          format: uuid
        name:
          minLength: 1
          type: string
          description: Human-readable name of the storage.
        isSystem:
          type: boolean
          description: Indicates whether the storage is a built-in system storage initialized by default.
        isDefault:
          type: boolean
          description: Indicates whether this is the primary storage selected for the company to be used by default when creating new projects.
      additionalProperties: false
    TanglConvert:
      required:
        - versionId
      type: object
      properties:
        versionId:
          type: string
          description: The unique identifier version.
          format: uuid
        revitVersion:
          type: string
          description: "The Revit version used for the conversion.\nSupported versions: 2019–2026.\nRequired for .rvt files."
          nullable: true
      additionalProperties: false
    TimeZoneOffset:
      enum:
        - Utc
        - UtcPlus1
        - UtcPlus2
        - UtcPlus3
        - UtcPlus4
        - UtcPlus5
        - UtcPlus6
        - UtcPlus7
        - UtcPlus8
        - UtcPlus9
        - UtcPlus10
        - UtcPlus11
        - UtcPlus12
        - UtcMinus12
        - UtcMinus11
        - UtcMinus10
        - UtcMinus9
        - UtcMinus8
        - UtcMinus7
        - UtcMinus6
        - UtcMinus5
        - UtcMinus4
        - UtcMinus3
        - UtcMinus2
        - UtcMinus1
      type: string
    UserLogFind:
      type: object
      properties:
        lastDate:
          type: string
          description: "Cursor-based pagination parameter.\n            \nFor the first request:\n- You may specify this field to start retrieving logs from a specific point in time.\n- If not specified, the current time (UTC) will be used by default.\n            \nFor subsequent requests:\n- Pass the Date value of the last log entry from the previous response.\n- Used together with Sgnl2.Service.Gateway.Api.Definition.V1.Models.Logs.UserLog.UserLogFind.LastLogId to continue fetching the next page."
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        lastLogId:
          type: string
          description: "Cursor-based pagination parameter.\n            \nPass the id of the last log entry from the previous response.\nUsed together with Sgnl2.Service.Gateway.Api.Definition.V1.Models.Logs.UserLog.UserLogFind.LastDate.\n            \nIf this is the first request, do not specify this field."
          format: uuid
          nullable: true
        from:
          type: string
          description: Filter logs from this moment in time.
          format: date-time
          nullable: true
          example: '2026-10-23T18:03:26.2726221Z'
        projectIds:
          type: array
          items:
            type: string
            format: uuid
          description: Filter by project identifiers.
        userIds:
          type: array
          items:
            type: string
            format: uuid
          description: Filter by user identifiers.
        modules:
          type: array
          items:
            $ref: '#/components/schemas/ModuleType'
          description: Filter by modules.
        logTypes:
          type: array
          items:
            $ref: '#/components/schemas/UserLogType'
          description: Filter by log types.
        take:
          maximum: 200
          minimum: 0
          type: integer
          description: The number of items to return. Default value is 100. Maximum value is 200.
          format: int32
      additionalProperties: false
    UserLogListItem:
      required:
        - date
        - id
        - module
        - projectId
        - type
        - userId
        - userIp
      type: object
      properties:
        type:
          allOf:
            - $ref: '#/components/schemas/UserLogType'
          description: Log event type.
        id:
          type: string
          description: Log record identifier.
          format: uuid
        date:
          type: string
          description: Log event timestamp.
          format: date-time
          example: '2026-10-23T18:03:26.2726221Z'
        module:
          allOf:
            - $ref: '#/components/schemas/ModuleType'
          description: Module that produced the log entry.
        userId:
          type: string
          description: Identifier of the user associated with the log entry.
          format: uuid
        projectId:
          type: string
          description: Identifier of the project associated with the log entry.
          format: uuid
          nullable: true
        userIp:
          type: string
          description: User IP address.
          nullable: true
      additionalProperties: false
    UserLogType:
      enum:
        - ProjectAccess
        - DocsFolderCreate
        - DocsFolderDelete
        - DocsFolderRestore
        - DocsFolderMove
        - DocsFolderRename
        - DocsFolderShare
        - DocsFolderDownload
        - DocsFolderBatchDownload
        - DocsFolderCopy
        - DocsFolderStructureCreate
        - DocsItemCreate
        - DocsItemDelete
        - DocsItemRestore
        - DocsItemMove
        - DocsItemRename
        - DocsItemShare
        - DocsItemAttachNewVersion
        - DocsItemChangeTopVersion
        - DocsItemView
        - DocsItemViewInFolder
        - DocsItemDownload
        - DocsItemDownloadInFolder
        - DocsIssueCreate
        - DocsIssueDelete
        - DocsIssueUpdate
        - DocsIssueSetItem
        - DocsIssueCommentAdd
        - DocsIssueCommentUpdate
        - DocsIssueAttachmentsAdd
        - DocsIssueAttachmentsDelete
        - DocsIssueView
        - DocsReviewCreate
        - DocsReviewStart
        - DocsReviewRestart
        - DocsReviewStageComplete
        - DocsReviewView
        - DocsReviewStageResponsibleChange
        - DocsReviewStageCompletePlanDateOverride
        - FormsProjectFormCreated
        - FormsProjectFormUpdated
        - FormsProjectFormCompleted
        - FormsProjectFormDeleted
        - FormsProjectFormRestored
        - FormsProjectFormReviewStarted
        - FormsProjectFormReviewCanceled
        - FormsProjectFormReviewStageStarted
        - FormsProjectFormReviewStageCompleted
        - FormsProjectFormReviewStageReturned
        - FormsProjectFormReviewStageResponsibleChanged
        - FormsProjectFormReviewStageDaysPeriodChanged
        - FormsProjectFormCommentAdded
        - FormsProjectFormCommentUpdated
        - FormsProjectFormCommentDeleted
        - DashBoardCreate
        - DashBoardPublish
        - DashBoardChangeDate
        - DashBoardLinkGoogleSheet
        - DashBoardDeleteGoogleSheetLink
        - DashBoardLinkXlsxFile
        - DashBoardDeleteXlsxLink
        - DashBoardUpdateXlsxLink
        - DashBoardDelete
        - DashBoardView
        - DashBoardSync
        - DashBoardSyncFromGoogleSheet
        - DashBoardSyncFromXlsx
        - DashCardCreate
        - DashCardDelete
        - DashCardRename
        - DashCardMove
        - DashCardPublishChange
        - DashCardActiveChange
        - DashCardView
        - DashCardSyncFromGoogleSheet
        - DashCardSyncFromXlsx
        - DashGroupCreate
        - DashGroupDelete
        - DashGroupRename
        - DashGroupPublishChange
        - DashGroupActiveChange
        - DashGroupSync
        - DashOnlineBoardView
        - DashOnlineBoardSync
        - DashOnlineCardCreate
        - DashOnlineCardDelete
        - DashOnlineCardRename
        - DashOnlineCardMove
        - DashOnlineCardActiveChange
        - DashOnlineCardContentChange
        - DashOnlineCardView
        - DashOnlineGroupCreate
        - DashOnlineGroupDelete
        - DashOnlineGroupRename
        - DashOnlineGroupSync
        - DashCompanyBoardView
        - DashCompanyBoardSync
        - DashCompanyCardCreate
        - DashCompanyCardDelete
        - DashCompanyCardRename
        - DashCompanyCardMove
        - DashCompanyCardActiveChange
        - DashCompanyCardContentChange
        - DashCompanyCardView
        - DashCompanyGroupCreate
        - DashCompanyGroupDelete
        - DashCompanyGroupRename
        - DashCompanyGroupSync
      type: string
    ValidationProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
        errors:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
      additionalProperties:
        type: object
        anyOf:
          - type: object
        nullable: true
    VersionCreate:
      required:
        - name
        - objectId
        - projectId
      type: object
      properties:
        objectId:
          type: string
          format: uuid
        projectId:
          type: string
          format: uuid
        name:
          maxLength: 255
          minLength: 1
          type: string
      additionalProperties: false
    VersionListItem:
      required:
        - id
        - itemVersionId
        - itemVersionNumber
        - name
        - signaturesCount
        - size
      type: object
      properties:
        id:
          type: string
          description: Version UUID
          format: uuid
        name:
          minLength: 1
          type: string
          description: Item name for the version
        itemVersionId:
          type: string
          description: "\nUnique identifier of the document version (ItemVersion) that links the item to this specific revision.\n\n\nUsed to precisely identify the document revision in the version history.\n"
          format: uuid
        itemVersionNumber:
          type: integer
          description: Version number
          format: int32
        size:
          type: integer
          description: Item size in bytes
          format: int64
        comment:
          type: string
          description: Text comment of the item version
          nullable: true
        signaturesCount:
          type: integer
          description: Version signatures count
          format: int32
      additionalProperties: false
    VersionListItemsBatch:
      required:
        - attachedVersions
        - itemId
      type: object
      properties:
        itemId:
          type: string
          description: Item UUID
          format: uuid
        attachedVersions:
          type: array
          items:
            $ref: '#/components/schemas/VersionListItem'
          description: Versions attached to the item
      additionalProperties: false
    VersionsByItemsFind:
      required:
        - itemIds
        - projectId
      type: object
      properties:
        projectId:
          type: string
          description: Project's UUID that contains items
          format: uuid
        itemIds:
          maxItems: 100
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Items' UUIDs
      additionalProperties: false
  securitySchemes:
    Bearer:
      type: http
      description: Please enter a valid JWT token
      scheme: Bearer
      bearerFormat: JWT
security:
  - Bearer: [ ]
tags:
  - name: AcceptanceCertificate
  - name: ApplicationUser
  - name: Attribute
  - name: AttributeType
  - name: AttributeTypeListItems
  - name: AttributeValue
  - name: Auth
  - name: Board
  - name: Booking
  - name: CadesSignature
  - name: Card
  - name: CardPublicLink
  - name: Company
  - name: CompanyUser
  - name: CompanyUserCustomRole
  - name: DocsProject
  - name: DocumentsTransfer
  - name: DocumentsTransferAcceptance
  - name: DocumentsTransferAccesses
  - name: DocumentsTransferItem
  - name: DocumentsTransferType
  - name: EmbeddedSignature
  - name: Folder
  - name: FolderItemsNamingPattern
  - name: Forge
  - name: FormFieldType
  - name: FormType
  - name: FormTypeGroup
  - name: Group
  - name: Issue
  - name: IssueAccesses
  - name: IssueAttachment
  - name: IssueComment
  - name: IssueEvents
  - name: IssueProjectSettings
  - name: IssueType
  - name: Item
  - name: Mchd
  - name: Object
  - name: Permissions
  - name: Project
  - name: ProjectForm
  - name: ProjectFormFieldType
  - name: ProjectFormType
  - name: ProjectUser
  - name: ProjectUserCustomRole
  - name: Review
  - name: ReviewGroup
  - name: ReviewItem
  - name: ReviewProcess
  - name: ReviewType
  - name: Share
  - name: Slot
  - name: Storage
  - name: Tangl
  - name: UserLog
  - name: Version