openapi: 3.0.0
info:
  title: ChargeMeCar CSMS API
  version: 1.0.0
  description: 'ChargeMeCar Charging Station Management System (CSMS) — REST API.


    European deployment profile. The specification covers the platform layer (authentication, users, access
    control, workflow, objects, files, logs, reports), the charging domain (networks, charge points, connectors,
    tariffs, transactions, invoices, payments, OCPP) and the endpoints served directly from the database:
    ad-hoc QR charging under EU AFIR, the payment webhook and OCPI roaming.


    Authentication is OAuth 2.0; browser sessions use a pair of HttpOnly cookies renewed server-side.
    Every endpoint is available on a self-hosted installation at `https://api.<your-domain>/api/v1`.

    '
  contact:
    name: ChargeMeCar
    email: info@chargemecar.com
servers:
- url: https://api.{host}/api/v1
  description: Self-hosted installation
  variables:
    host:
      default: chargemecar.com
- url: https://cloud.chargemecar.com/api/v1
  description: ChargeMeCar demo environment
tags:
- name: Connection
  description: Server connectivity test.
- name: Security
  description: Authentication and authorization.
- name: Sign
  description: Sign up, sign in, sign out.
- name: User
  description: User management and profiles.
- name: Current
  description: Current session parameters.
- name: Session
  description: Session management.
- name: Locale
  description: Language and locale selection.
- name: Workflow
  description: Entity, class, state, action, method, transition, event management.
- name: Object
  description: Generic object CRUD, groups, links, files, data, addresses, geolocation.
- name: Document
  description: Parameterized document endpoints (type, method, count, set, get, list).
- name: Reference
  description: Parameterized reference endpoints (type, method, count, set, get, list).
- name: Admin
  description: 'Administrative operations: users, groups, areas, interfaces, sessions, logs.'
- name: Log
  description: Event logging.
- name: Registry
  description: Hierarchical key-value configuration store.
- name: Resource
  description: Multilingual resource tree.
- name: File
  description: File management and object file attachments.
- name: Notice
  description: System notices and user alerts.
- name: Comment
  description: Hierarchical object comments.
- name: Notification
  description: Real-time push notifications (FCM).
- name: Verification
  description: Email and phone verification codes.
- name: Observer
  description: Publisher/subscriber event system.
- name: Replication
  description: Data replication between instances.
- name: Report
  description: Report trees, forms, routines, and ready reports.
- name: Search
  description: Global search.
- name: Account
  description: Account management.
- name: Car
  description: Electric vehicle management.
- name: Card
  description: Payment card management.
- name: ChargePoint
  description: Charge point management and OCPP commands.
- name: Connector
  description: Connector management and remote charging control.
- name: Client
  description: Client management.
- name: Contract
  description: Contract management.
- name: Defect
  description: Defect tracking and management.
- name: Device
  description: IoT device management.
- name: Invoice
  description: Invoice management.
- name: Message
  description: Message inbox and outbox.
- name: Network
  description: Charging network management.
- name: Order
  description: Order management.
- name: Payment
  description: Payment processing (Stripe).
- name: SLA
  description: SLA management.
- name: Tariff
  description: Tariff management and schedules.
- name: Transaction
  description: Charging transaction management.
- name: Address
  description: Address management (tree, string).
- name: Calendar
  description: Calendar and date management.
- name: Category
  description: Category management.
- name: Charger
  description: Charger type reference.
- name: Country
  description: Country reference.
- name: Currency
  description: Currency reference.
- name: Measure
  description: Unit of measure reference.
- name: Mode
  description: Charging mode reference.
- name: Model
  description: Equipment model management.
- name: PaymentMethod
  description: Payment method reference.
- name: Property
  description: Property reference.
- name: Region
  description: Region reference.
- name: Service
  description: Service reference.
- name: OCPP
  description: OCPP protocol log and management.
- name: Priority
  description: Priority management.
- name: Member
  description: User group/area/interface membership.
- name: Dashboard
  description: Admin dashboard summary and analytics.
- name: Charge
  description: 'Ad-hoc charging without registration — the flow required by EU AFIR for public charge
    points. No authentication: the driver scans a QR code on the station. Ownership of a session is proved
    by the one-time `secret` issued at creation, sent as a Bearer token (status) or in the request body
    (stop/cancel).

    '
- name: Webhook
  description: Inbound notifications from the payment provider.
- name: OCPI
  description: 'Roaming API — OCPI 2.2.1 and 2.3.0, in both the CPO and eMSP roles. Only version discovery
    is described here; the modules themselves follow the published standard.

    '
  externalDocs:
    description: OCPI specification
    url: https://github.com/ocpi/ocpi
paths:
  /ping:
    get:
      tags:
      - Connection
      summary: Check server connection.
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/response'
        '400':
          $ref: '#/components/responses/BadRequest'
        5XX:
          $ref: '#/components/responses/InternalError'
  /time:
    get:
      tags:
      - Connection
      summary: Current server time.
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                type: object
                properties:
                  serverTime:
                    type: integer
                    description: UNIX time
                example:
                  serverTime: 1642521843938
        '400':
          $ref: '#/components/responses/BadRequest'
        5XX:
          $ref: '#/components/responses/InternalError'
  /whoami:
    get:
      tags:
      - Common
      summary: Current user information
      operationId: whoami
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /event/log/count:
    post:
      tags:
      - Log
      summary: Count of records.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /event/log/get:
    post:
      tags:
      - Log
      summary: Get event log record.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: integer
                  format: int64
          application/json:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: integer
                  format: int64
                fields:
                  type: object
                  example: null
                  description: Field list.
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /event/log/list:
    post:
      tags:
      - Log
      summary: Returns event log entries as a list.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: JSON-array.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /ocpp/log/count:
    post:
      tags:
      - Log
      summary: OCPP log counts
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: Successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /ocpp/log/get:
    post:
      tags:
      - Log
      summary: Get OCPP log record
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: integer
                  format: int64
          application/json:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: integer
                  format: int64
                fields:
                  type: object
                  example: null
                  description: Field list.
      responses:
        '200':
          description: Successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /ocpp/log/list:
    post:
      tags:
      - Log
      summary: OCPP log
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: JSON-array.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /current/session:
    get:
      tags:
      - Current
      summary: Current session.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /current/user:
    get:
      tags:
      - Current
      summary: Current user profile.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /current/userid:
    get:
      tags:
      - Current
      summary: Current user ID.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /current/username:
    get:
      tags:
      - Current
      summary: Current username.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /current/area:
    get:
      tags:
      - Current
      summary: Current area.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /current/interface:
    get:
      tags:
      - Current
      summary: Current interface.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /current/locale:
    get:
      tags:
      - Current
      summary: Current locale.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /current/oper_date:
    get:
      tags:
      - Current
      summary: Current business day date.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /sign/in:
    post:
      tags:
      - Sign
      summary: Login with virtual username and password.
      description: 'Requires preauthorization of the OAuth 2.0 client. The method is called by the authorization
        server at login. Calling a method directly will result in an error.

        '
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SignIn'
          application/json:
            schema:
              $ref: '#/components/schemas/SignIn'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                type: object
                properties:
                  session:
                    type: string
                    description: Session code.
                  secret:
                    type: string
                    description: Secret key for HMAC-256 signing.
                  code:
                    type: string
                    description: One-time authorization code for obtaining a token, see OAuth 2.0.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /sign/up:
    post:
      tags:
      - Sign
      summary: Sign Up.
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - type
              - username
              - password
              properties:
                type:
                  type: string
                  enum:
                  - entity
                  - physical
                  - individual
                  example: physical
                username:
                  type: string
                password:
                  type: string
                phone:
                  type: string
                email:
                  type: string
                description:
                  type: string
          application/json:
            schema:
              type: object
              required:
              - type
              - username
              - password
              properties:
                type:
                  type: string
                  enum:
                  - entity
                  - physical
                  - individual
                  example: physical
                username:
                  type: string
                  example: username
                password:
                  type: string
                  example: password
                name:
                  type: object
                  properties:
                    name:
                      type: string
                      example: null
                    short:
                      type: string
                      example: null
                    first:
                      type: string
                      example: null
                    last:
                      type: string
                      example: null
                    middle:
                      type: string
                      example: null
                phone:
                  type: string
                  example: null
                email:
                  type: string
                  example: null
                profile:
                  type: object
                  properties:
                    locale:
                      type: string
                      format: uuid
                      example: null
                    area:
                      type: string
                      format: uuid
                      example: null
                    interface:
                      type: string
                      format: uuid
                      example: null
                    email_verified:
                      type: boolean
                      example: null
                    phone_verified:
                      type: boolean
                      example: null
                    picture:
                      type: string
                      example: null
                description:
                  type: string
                  example: null
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Client UUID
                  userid:
                    type: string
                    format: uuid
                    description: User UUID
                  uid:
                    type: string
                    description: Username (login)
                  secret:
                    type: string
                    description: User secret
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /sign/out:
    post:
      tags:
      - Sign
      summary: Sign Out.
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SignOut'
          application/json:
            schema:
              $ref: '#/components/schemas/SignOut'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  message:
                    type: string
                    description: Error message (if any).
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /user/password:
    post:
      tags:
      - User
      summary: Change user password
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                oldpass:
                  type: string
                newpass:
                  type: string
          application/json:
            schema:
              type: object
              properties:
                oldpass:
                  type: string
                newpass:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /account/type:
    post:
      tags:
      - Account
      summary: Type.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /notice/count:
    post:
      tags:
      - Notice
      summary: Count of records.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /notice/get:
    post:
      tags:
      - Notice
      summary: Get an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/get_form'
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /notice/set:
    post:
      tags:
      - Notice
      summary: Add or edit an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/set'
      responses:
        '200':
          $ref: '#/components/schemas/list'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /notice/list:
    post:
      tags:
      - Notice
      summary: Returns entries as a list.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /notice/delete:
    post:
      tags:
      - Notice
      summary: Delete an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/get_form'
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  deleted:
                    type: boolean
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /account/method:
    post:
      tags:
      - Account
      summary: Method.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/methodId'
          application/json:
            schema:
              $ref: '#/components/schemas/methodId'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/method'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /account/count:
    post:
      tags:
      - Account
      summary: Count of records.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /account/get:
    post:
      tags:
      - Account
      summary: Get an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/get_form'
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /account/set:
    post:
      tags:
      - Account
      summary: Add or edit an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/set'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /account/list:
    post:
      tags:
      - Account
      summary: Returns entries as a list.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /account/balance:
    post:
      tags:
      - Account
      summary: Get account balance.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              allOf:
              - $ref: '#/components/schemas/get_form'
              - type: object
                properties:
                  datetime:
                    type: string
                    format: date-time
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/get_form'
              - type: object
                properties:
                  datetime:
                    type: string
                    format: date-time
      responses:
        '200':
          description: Account balance
          content:
            application/json:
              schema:
                type: object
                properties:
                  balance:
                    type: number
                    format: double
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /car/type:
    post:
      tags:
      - Car
      summary: Type.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /car/method:
    post:
      tags:
      - Car
      summary: Method.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/methodId'
          application/json:
            schema:
              $ref: '#/components/schemas/methodId'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/method'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /car/count:
    post:
      tags:
      - Car
      summary: Count of records.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /car/get:
    post:
      tags:
      - Car
      summary: Get an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/get_form'
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /car/set:
    post:
      tags:
      - Car
      summary: Add or edit an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/set'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /car/list:
    post:
      tags:
      - Car
      summary: Returns entries as a list.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /card/type:
    post:
      tags:
      - Card
      summary: Type.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /card/method:
    post:
      tags:
      - Card
      summary: Method.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/methodId'
          application/json:
            schema:
              $ref: '#/components/schemas/methodId'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/method'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /card/count:
    post:
      tags:
      - Card
      summary: Count of records.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /cadr/get:
    post:
      tags:
      - Card
      summary: Get an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/get_form'
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /card/set:
    post:
      tags:
      - Card
      summary: Add or edit an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/set'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /card/list:
    post:
      tags:
      - Card
      summary: Returns entries as a list.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /card/bind:
    post:
      tags:
      - Card
      summary: Bind banking card.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - code
              - name
              properties:
                code:
                  type: string
                name:
                  type: string
                expiry:
                  type: string
                  format: date
                hidden:
                  type: string
                  description: CVC code
                label:
                  type: string
                description:
                  type: string
          application/json:
            schema:
              type: object
              required:
              - code
              - name
              properties:
                code:
                  type: string
                name:
                  type: string
                expiry:
                  type: string
                  format: date
                hidden:
                  type: string
                  description: CVC code
                label:
                  type: string
                description:
                  type: string
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                properties:
                  status:
                    type: string
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /card/unbind:
    post:
      tags:
      - Card
      summary: Unbind banking card.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - id
              - code
              properties:
                id:
                  type: string
                  format: uuid
                code:
                  type: string
          application/json:
            schema:
              type: object
              required:
              - id
              - code
              properties:
                id:
                  type: string
                  format: uuid
                code:
                  type: string
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                type: object
                required:
                - status
                properties:
                  status:
                    type: string
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /client/type:
    post:
      tags:
      - Client
      summary: Type.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /client/method:
    post:
      tags:
      - Client
      summary: Method.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/methodId'
          application/json:
            schema:
              $ref: '#/components/schemas/methodId'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/list'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /client/count:
    post:
      tags:
      - Client
      summary: Count of records.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /client/get:
    post:
      tags:
      - Client
      summary: Get an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/get_form'
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /client/set:
    post:
      tags:
      - Client
      summary: Add or edit an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/set'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /client/list:
    post:
      tags:
      - Client
      summary: Returns entries as a list.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charge_point/type:
    post:
      tags:
      - ChargePoint
      summary: Types
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charge_point/method:
    post:
      tags:
      - ChargePoint
      summary: Methods
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/methodId'
          application/json:
            schema:
              $ref: '#/components/schemas/methodId'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/method'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charge_point/count:
    post:
      tags:
      - ChargePoint
      summary: Count of charge points
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charge_point/get:
    post:
      tags:
      - ChargePoint
      summary: Get charge point
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/get_form'
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charge_point/set:
    post:
      tags:
      - ChargePoint
      summary: Add or update charge point
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/set'
      responses:
        '200':
          description: Successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charge_point/list:
    post:
      tags:
      - ChargePoint
      summary: Returns entries as a list.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charge_point/status/get:
    post:
      tags:
      - ChargePoint
      summary: Get status
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/get_form'
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          description: Successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charge_point/status/list:
    post:
      tags:
      - ChargePoint
      summary: Status list
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: JSON-array.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charge_point/transaction/count:
    post:
      tags:
      - ChargePoint
      summary: Count of charge point transactions
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: Successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charge_point/transaction/get:
    post:
      tags:
      - ChargePoint
      summary: Get transaction
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: integer
                  format: int32
          application/json:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: integer
                  format: int32
                fields:
                  type: object
                  example: null
                  description: Field list.
      responses:
        '200':
          description: Successfully.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charge_point/transaction/list:
    post:
      tags:
      - ChargePoint
      summary: Transaction list
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: JSON-array.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charge_point/reservation/count:
    post:
      tags:
      - ChargePoint
      summary: Count of charge point reservations
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: Successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charge_point/reservation/get:
    post:
      tags:
      - ChargePoint
      summary: Get reservation
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: integer
                  format: int32
          application/json:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: integer
                  format: int32
                fields:
                  type: object
                  example: null
                  description: Field list.
      responses:
        '200':
          description: Successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charge_point/reservation/list:
    post:
      tags:
      - ChargePoint
      summary: Reservation list
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: JSON-array.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charge_point/meter_value/count:
    post:
      tags:
      - ChargePoint
      summary: Count of charge point meter values
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: Successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charge_point/meter_value/get:
    post:
      tags:
      - ChargePoint
      summary: Get meter value
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/get_form'
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          description: Successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charge_point/meter_value/list:
    post:
      tags:
      - ChargePoint
      summary: Meter values
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: JSON-array.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charge_point/data_transfer/count:
    post:
      tags:
      - ChargePoint
      summary: Count of data transfers
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: Successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charge_point/data_transfer/get:
    post:
      tags:
      - ChargePoint
      summary: Get of data transfer
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/get_form'
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          description: Successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charge_point/data_transfer/list:
    post:
      tags:
      - ChargePoint
      summary: List of data transfers
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: JSON-array.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charge_point/data_transfer:
    post:
      tags:
      - ChargePoint
      summary: Data Transfer
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: string
                  format: uuid
                messageid:
                  type: integer
                  format: int32
                data:
                  type: string
          application/json:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: string
                  format: uuid
                messageid:
                  type: integer
                  format: int32
                data:
                  type: string
      responses:
        '200':
          description: JSON-array.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charge_point/reset:
    post:
      tags:
      - ChargePoint
      summary: Reset charge point
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: string
                  format: uuid
                type:
                  type: string
                  enum:
                  - Hard
                  - Soft
                  example: Soft
          application/json:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: string
                  format: uuid
                type:
                  type: string
                  enum:
                  - Hard
                  - Soft
                  example: Soft
      responses:
        '200':
          description: JSON-array.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charge_point/charging_profile:
    post:
      tags:
      - ChargePoint
      summary: Set charging profile
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: string
                  format: uuid
                profile:
                  type: object
          application/json:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: string
                  format: uuid
                profile:
                  type: object
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/list'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /connector/type:
    post:
      tags:
      - Connector
      summary: Types
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /connector/method:
    post:
      tags:
      - Connector
      summary: Methods
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/methodId'
          application/json:
            schema:
              $ref: '#/components/schemas/methodId'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/method'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /connector/count:
    post:
      tags:
      - Connector
      summary: Count of connectors
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /connector/set:
    post:
      tags:
      - Connector
      summary: Add or update connector
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/set'
      responses:
        '200':
          description: Successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /connector/get:
    post:
      tags:
      - Connector
      summary: Get connector
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/get_form'
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /connector/list:
    post:
      tags:
      - Connector
      summary: Returns entries as a list.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /connector/remote/start:
    post:
      tags:
      - Connector
      summary: Remote Start Transaction
      operationId: sendStartTransaction
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: string
                  format: uuid
          application/json:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: string
                  format: uuid
                preset:
                  type: object
                  example: null
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /connector/remote/stop:
    post:
      tags:
      - Connector
      summary: Remote Stop Transaction
      operationId: sendStopTransaction
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: string
                  format: uuid
          application/json:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /connector/reserve/now:
    post:
      tags:
      - Connector
      summary: Reserve Now
      operationId: sendReserveNow
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: string
                  format: uuid
                expiry_date:
                  type: string
                  format: date-time
          application/json:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: string
                  format: uuid
                expiry_date:
                  type: string
                  format: date-time
                  example: null
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /connector/reserve/cancel:
    post:
      tags:
      - Connector
      summary: Cancel Reservation
      operationId: sendCancelReservation
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: string
                  format: uuid
          application/json:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /transaction/type:
    post:
      tags:
      - Transaction
      summary: Type.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /transaction/method:
    post:
      tags:
      - Transaction
      summary: Method.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/methodId'
          application/json:
            schema:
              $ref: '#/components/schemas/methodId'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/method'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /transaction/count:
    post:
      tags:
      - Transaction
      summary: Count of records.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /transaction/get:
    post:
      tags:
      - Transaction
      summary: Get an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/get_form'
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /transaction/set:
    post:
      tags:
      - Transaction
      summary: Add or edit an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/set'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /transaction/list:
    post:
      tags:
      - Transaction
      summary: Returns entries as a list.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /transaction/current:
    post:
      tags:
      - Transaction
      summary: Current transaction object.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - client
              - connector
              properties:
                client:
                  type: string
                  format: uuid
                connector:
                  type: string
                  format: uuid
          application/json:
            schema:
              type: object
              required:
              - client
              - connector
              properties:
                client:
                  type: string
                  format: uuid
                connector:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                type: object
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /invoice/type:
    post:
      tags:
      - Invoice
      summary: Type.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /invoice/method:
    post:
      tags:
      - Invoice
      summary: Method.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/methodId'
          application/json:
            schema:
              $ref: '#/components/schemas/methodId'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/method'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /invoice/count:
    post:
      tags:
      - Invoice
      summary: Count of records.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /invoice/get:
    post:
      tags:
      - Invoice
      summary: Get an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/get_form'
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /invoice/set:
    post:
      tags:
      - Invoice
      summary: Add or edit an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/set'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /invoice/list:
    post:
      tags:
      - Invoice
      summary: Returns entries as a list.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /device/type:
    post:
      tags:
      - Device
      summary: Types
      operationId: getDeviceType
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /device/method:
    post:
      tags:
      - Device
      summary: Methods
      operationId: getDeviceMethod
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/methodId'
          application/json:
            schema:
              $ref: '#/components/schemas/methodId'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/method'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /device/count:
    post:
      tags:
      - Device
      summary: Count of devices
      operationId: getDeviceCount
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /device/get:
    post:
      tags:
      - Device
      summary: Get device
      operationId: getDevice
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/get_form'
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /device/set:
    post:
      tags:
      - Device
      summary: Add or update device
      operationId: setDevice
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/set'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /device/list:
    post:
      tags:
      - Device
      summary: Device list
      operationId: getDeviceList
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /job/type:
    post:
      tags:
      - Job
      summary: Type.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /job/method:
    post:
      tags:
      - Job
      summary: Method.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/methodId'
          application/json:
            schema:
              $ref: '#/components/schemas/methodId'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/method'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /job/count:
    post:
      tags:
      - Job
      summary: Count of records.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /job/get:
    post:
      tags:
      - Job
      summary: Get an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/get_form'
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /job/set:
    post:
      tags:
      - Job
      summary: Add or edit an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/set'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /job/list:
    post:
      tags:
      - Job
      summary: Returns entries as a list.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /message/type:
    post:
      tags:
      - Message
      summary: Type.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /message/method:
    post:
      tags:
      - Message
      summary: Method.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/methodId'
          application/json:
            schema:
              $ref: '#/components/schemas/methodId'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/method'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /message/count:
    post:
      tags:
      - Message
      summary: Count of records.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /message/get:
    post:
      tags:
      - Message
      summary: Get an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/get_form'
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /message/set:
    post:
      tags:
      - Message
      summary: Add or edit an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/set'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /message/list:
    post:
      tags:
      - Message
      summary: Returns entries as a list.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /network/type:
    post:
      tags:
      - Network
      summary: Type.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /network/method:
    post:
      tags:
      - Network
      summary: Method.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/methodId'
          application/json:
            schema:
              $ref: '#/components/schemas/methodId'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/method'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /network/count:
    post:
      tags:
      - Network
      summary: Count of records.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /network/get:
    post:
      tags:
      - Network
      summary: Get an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/get_form'
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /network/set:
    post:
      tags:
      - Network
      summary: Add or edit an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/set'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /network/list:
    post:
      tags:
      - Network
      summary: Returns entries as a list.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /tariff/type:
    post:
      tags:
      - Tariff
      summary: Type.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /tariff/method:
    post:
      tags:
      - Tariff
      summary: Method.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/methodId'
          application/json:
            schema:
              $ref: '#/components/schemas/methodId'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/method'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /tariff/count:
    post:
      tags:
      - Tariff
      summary: Count of records.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /tariff/get:
    post:
      tags:
      - Tariff
      summary: Get an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/get_form'
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /tariff/set:
    post:
      tags:
      - Tariff
      summary: Add or edit an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/set'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /tariff/list:
    post:
      tags:
      - Tariff
      summary: Returns entries as a list.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /agent/type:
    post:
      tags:
      - Agent
      summary: Type.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /agent/method:
    post:
      tags:
      - Agent
      summary: Method.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/methodId'
          application/json:
            schema:
              $ref: '#/components/schemas/methodId'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/method'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /agent/count:
    post:
      tags:
      - Agent
      summary: Count of records.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /agent/get:
    post:
      tags:
      - Agent
      summary: Get an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/get_form'
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /agent/set:
    post:
      tags:
      - Agent
      summary: Add or edit an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/set'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /agent/list:
    post:
      tags:
      - Agent
      summary: Returns entries as a list.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /program/type:
    post:
      tags:
      - Program
      summary: Type.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /program/method:
    post:
      tags:
      - Program
      summary: Method.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/methodId'
          application/json:
            schema:
              $ref: '#/components/schemas/methodId'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/method'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /program/count:
    post:
      tags:
      - Program
      summary: Count of records.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /program/get:
    post:
      tags:
      - Program
      summary: Get an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/get_form'
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /program/set:
    post:
      tags:
      - Program
      summary: Add or edit an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/set'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /program/list:
    post:
      tags:
      - Program
      summary: Returns entries as a list.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /scheduler/type:
    post:
      tags:
      - Scheduler
      summary: Type.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /scheduler/method:
    post:
      tags:
      - Scheduler
      summary: Method.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/methodId'
          application/json:
            schema:
              $ref: '#/components/schemas/methodId'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/method'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /scheduler/count:
    post:
      tags:
      - Scheduler
      summary: Count of records.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /scheduler/get:
    post:
      tags:
      - Scheduler
      summary: Get an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/get_form'
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /scheduler/set:
    post:
      tags:
      - Scheduler
      summary: Add or edit an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/set'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /scheduler/list:
    post:
      tags:
      - Scheduler
      summary: Returns entries as a list.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /category/type:
    post:
      tags:
      - Category
      summary: Type.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /category/method:
    post:
      tags:
      - Category
      summary: Method.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/methodId'
          application/json:
            schema:
              $ref: '#/components/schemas/methodId'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/method'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /category/count:
    post:
      tags:
      - Category
      summary: Count of records.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /category/get:
    post:
      tags:
      - Category
      summary: Get an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/get_form'
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /category/set:
    post:
      tags:
      - Category
      summary: Add or edit an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/set'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /category/list:
    post:
      tags:
      - Category
      summary: Returns entries as a list.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /currency/type:
    post:
      tags:
      - Currency
      summary: Type.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /currency/method:
    post:
      tags:
      - Currency
      summary: Method.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/methodId'
          application/json:
            schema:
              $ref: '#/components/schemas/methodId'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/method'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /currency/count:
    post:
      tags:
      - Currency
      summary: Count of records.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /currency/get:
    post:
      tags:
      - Currency
      summary: Get an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/get_form'
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /currency/set:
    post:
      tags:
      - Currency
      summary: Add or edit an entry.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/set'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /currency/list:
    post:
      tags:
      - Currency
      summary: Returns entries as a list.
      parameters:
      - $ref: '#/components/parameters/resultObject'
      - $ref: '#/components/parameters/resultFormat'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /action:
    post:
      tags:
      - Workflow
      summary: Action endpoint.
      operationId: action
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /action/execute:
    post:
      tags:
      - Workflow
      summary: Execute workflow action.
      operationId: actionExecute
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                action:
                  type: string
                code:
                  type: integer
                object:
                  type: string
                  format: uuid
                params:
                  type: object
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /address/count:
    post:
      tags:
      - Address
      summary: Count address.
      operationId: addressCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /address/get:
    post:
      tags:
      - Address
      summary: Get address.
      operationId: addressGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /address/get/string:
    post:
      tags:
      - Address
      summary: Get string representation of address get.
      operationId: addressGetString
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /address/list:
    post:
      tags:
      - Address
      summary: List addresses.
      operationId: addressList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /address/method:
    post:
      tags:
      - Address
      summary: Get available methods for address.
      operationId: addressMethod
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /address/set:
    post:
      tags:
      - Address
      summary: Create or update address.
      operationId: addressSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /address/tree/get:
    post:
      tags:
      - Address
      summary: Get address tree node.
      operationId: addressTreeGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /address/tree/history:
    post:
      tags:
      - Address
      summary: Get history of address tree.
      operationId: addressTreeHistory
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: integer
                id:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /address/tree/list:
    post:
      tags:
      - Address
      summary: List address tree nodes.
      operationId: addressTreeList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /address/tree/string:
    post:
      tags:
      - Address
      summary: Get string representation of address tree.
      operationId: addressTreeString
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: integer
                level:
                  type: integer
                short:
                  type: boolean
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /address/type:
    post:
      tags:
      - Address
      summary: Get available types for address.
      operationId: addressType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/api/log:
    post:
      tags:
      - Admin
      summary: Admin Api Log endpoint.
      operationId: adminApiLog
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/api/log/count:
    post:
      tags:
      - Admin
      summary: Count admin api log.
      operationId: adminApiLogCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/api/log/get:
    post:
      tags:
      - Admin
      summary: Get admin api log.
      operationId: adminApiLogGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/api/log/list:
    post:
      tags:
      - Admin
      summary: List admin api log.
      operationId: adminApiLogList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/area/clear:
    post:
      tags:
      - Admin
      summary: Clear all area data.
      operationId: adminAreaClear
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/area/count:
    post:
      tags:
      - Admin
      summary: Count admin area.
      operationId: adminAreaCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/area/delete:
    post:
      tags:
      - Admin
      summary: Delete an area
      operationId: adminAreaDelete
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/area/delete/safely:
    post:
      tags:
      - Admin
      summary: Safely delete area.
      operationId: adminAreaDeleteSafely
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/area/get:
    post:
      tags:
      - Admin
      summary: Get admin area.
      operationId: adminAreaGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/area/list:
    post:
      tags:
      - Admin
      summary: List admin area.
      operationId: adminAreaList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/area/member:
    post:
      tags:
      - Admin
      summary: Admin Area Member endpoint.
      operationId: adminAreaMember
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: integer
                id:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/area/member/add:
    post:
      tags:
      - Admin
      summary: Add a user or group to an area
      operationId: adminAreaMemberAdd
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                member:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/area/member/delete:
    post:
      tags:
      - Admin
      summary: Remove a user or group from an area
      operationId: adminAreaMemberDelete
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                member:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/area/set:
    post:
      tags:
      - Admin
      summary: Create or update admin area.
      operationId: adminAreaSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/area/type:
    post:
      tags:
      - Admin
      summary: Get available types for admin area.
      operationId: adminAreaType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/event/log:
    post:
      tags:
      - Admin
      summary: Admin Event Log endpoint.
      operationId: adminEventLog
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/event/log/count:
    post:
      tags:
      - Admin
      summary: Count admin event log.
      operationId: adminEventLogCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/event/log/get:
    post:
      tags:
      - Admin
      summary: Get admin event log.
      operationId: adminEventLogGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/event/log/list:
    post:
      tags:
      - Admin
      summary: List admin event log.
      operationId: adminEventLogList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/event/log/set:
    post:
      tags:
      - Admin
      summary: Create or update admin event log.
      operationId: adminEventLogSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/group/count:
    post:
      tags:
      - Admin
      summary: Count admin group.
      operationId: adminGroupCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/group/delete:
    post:
      tags:
      - Admin
      summary: Delete admin group.
      operationId: adminGroupDelete
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/group/get:
    post:
      tags:
      - Admin
      summary: Get admin group.
      operationId: adminGroupGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/group/list:
    post:
      tags:
      - Admin
      summary: List admin group.
      operationId: adminGroupList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/group/member:
    post:
      tags:
      - Admin
      summary: Group members
      operationId: adminGroupMember
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                name:
                  type: object
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/group/member/add:
    post:
      tags:
      - Admin
      summary: Add a user to a group
      operationId: adminGroupMemberAdd
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                member:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/group/member/delete:
    post:
      tags:
      - Admin
      summary: Remove a user from a group
      operationId: adminGroupMemberDelete
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                member:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/group/set:
    post:
      tags:
      - Admin
      summary: Create or update admin group.
      operationId: adminGroupSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/interface/count:
    post:
      tags:
      - Admin
      summary: Count admin interface.
      operationId: adminInterfaceCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/interface/delete:
    post:
      tags:
      - Admin
      summary: Delete an interface
      operationId: adminInterfaceDelete
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/interface/get:
    post:
      tags:
      - Admin
      summary: Get admin interface.
      operationId: adminInterfaceGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/interface/list:
    post:
      tags:
      - Admin
      summary: List admin interface.
      operationId: adminInterfaceList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/interface/member:
    post:
      tags:
      - Admin
      summary: Interface members
      operationId: adminInterfaceMember
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/interface/member/add:
    post:
      tags:
      - Admin
      summary: Add a user or group to an interface
      operationId: adminInterfaceMemberAdd
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                member:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/interface/member/delete:
    post:
      tags:
      - Admin
      summary: Remove a user or group from an interface
      operationId: adminInterfaceMemberDelete
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                member:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/interface/set:
    post:
      tags:
      - Admin
      summary: Create or update admin interface.
      operationId: adminInterfaceSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/member/area:
    post:
      tags:
      - Admin
      summary: Areas of a member (user or group)
      operationId: adminMemberArea
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                name:
                  type: object
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/member/area/add:
    post:
      tags:
      - Admin
      summary: Add a user or group to an area
      operationId: adminMemberAreaAdd
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                area:
                  type: string
                  format: uuid
                id:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/member/area/delete:
    post:
      tags:
      - Admin
      summary: Remove an area from a user or group
      operationId: adminMemberAreaDelete
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                area:
                  type: string
                  format: uuid
                id:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/member/group:
    post:
      tags:
      - Admin
      summary: Groups of a member (user)
      operationId: adminMemberGroup
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                name:
                  type: object
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/member/group/add:
    post:
      tags:
      - Admin
      summary: Add a user to a group
      operationId: adminMemberGroupAdd
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                groupid:
                  type: string
                  format: uuid
                id:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/member/group/delete:
    post:
      tags:
      - Admin
      summary: Remove a group from a user
      operationId: adminMemberGroupDelete
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                groupid:
                  type: string
                  format: uuid
                id:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/member/interface:
    post:
      tags:
      - Admin
      summary: Interfaces of a member (user or group)
      operationId: adminMemberInterface
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                name:
                  type: object
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/member/interface/add:
    post:
      tags:
      - Admin
      summary: Add a user or group to an interface
      operationId: adminMemberInterfaceAdd
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                interface:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/member/interface/delete:
    post:
      tags:
      - Admin
      summary: Remove an interface from a user or group
      operationId: adminMemberInterfaceDelete
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                interface:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/member/user:
    post:
      tags:
      - Admin
      summary: Group members (users)
      operationId: adminMemberUser
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                name:
                  type: object
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/session:
    post:
      tags:
      - Admin
      summary: Admin Session endpoint.
      operationId: adminSession
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/session/count:
    post:
      tags:
      - Admin
      summary: Count admin session.
      operationId: adminSessionCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/session/get:
    post:
      tags:
      - Admin
      summary: Get admin session.
      operationId: adminSessionGet
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: integer
                fields:
                  type: object
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/session/list:
    post:
      tags:
      - Admin
      summary: List admin session.
      operationId: adminSessionList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/user/count:
    post:
      tags:
      - Admin
      summary: Count admin user.
      operationId: adminUserCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/user/delete:
    post:
      tags:
      - Admin
      summary: Delete admin user.
      operationId: adminUserDelete
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/user/get:
    post:
      tags:
      - Admin
      summary: Get admin user.
      operationId: adminUserGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/user/iptable/get:
    post:
      tags:
      - Admin
      summary: Get admin user iptable.
      operationId: adminUserIptableGet
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                type:
                  type: string
                username:
                  type: string
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/user/iptable/set:
    post:
      tags:
      - Admin
      summary: Create or update admin user iptable.
      operationId: adminUserIptableSet
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                iptable:
                  type: object
                type:
                  type: string
                username:
                  type: string
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/user/list:
    post:
      tags:
      - Admin
      summary: List admin user.
      operationId: adminUserList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/user/lock:
    post:
      tags:
      - Admin
      summary: Lock admin user.
      operationId: adminUserLock
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                username:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/user/member:
    post:
      tags:
      - Admin
      summary: Admin User Member endpoint.
      operationId: adminUserMember
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/user/password:
    post:
      tags:
      - Admin
      summary: Admin User Password endpoint.
      operationId: adminUserPassword
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                newpass:
                  type: string
                oldpass:
                  type: string
                username:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/user/profile/set:
    post:
      tags:
      - Admin
      summary: Create or update admin user profile.
      operationId: adminUserProfileSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/user/set:
    post:
      tags:
      - Admin
      summary: Create or update admin user.
      operationId: adminUserSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /admin/user/unlock:
    post:
      tags:
      - Admin
      summary: Unlock admin user.
      operationId: adminUserUnlock
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                username:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /authenticate:
    post:
      tags:
      - Security
      summary: Authenticate a session using a secret key.
      operationId: authenticate
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /authorize:
    post:
      tags:
      - Security
      summary: Authorize an existing session.
      operationId: authorize
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /calendar/count:
    post:
      tags:
      - Calendar
      summary: Count calendar.
      operationId: calendarCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /calendar/date/delete:
    post:
      tags:
      - Calendar
      summary: Delete calendar date.
      operationId: calendarDateDelete
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                calendar:
                  type: string
                  format: uuid
                calendarcode:
                  type: string
                date:
                  type: string
                userid:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /calendar/date/get:
    post:
      tags:
      - Calendar
      summary: Get calendar date.
      operationId: calendarDateGet
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                calendar:
                  type: string
                  format: uuid
                calendarcode:
                  type: string
                date:
                  type: string
                userid:
                  type: string
                  format: uuid
      responses:
        '200':
          $ref: '#/components/responses/GetReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /calendar/date/list:
    post:
      tags:
      - Calendar
      summary: List calendar dates.
      operationId: calendarDateList
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                calendar:
                  type: string
                  format: uuid
                calendarcode:
                  type: string
                datefrom:
                  type: string
                  format: date-time
                dateto:
                  type: string
                  format: date-time
                userid:
                  type: string
                  format: uuid
      responses:
        '200':
          $ref: '#/components/responses/ListReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /calendar/date/set:
    post:
      tags:
      - Calendar
      summary: Create or update calendar date.
      operationId: calendarDateSet
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                calendar:
                  type: string
                  format: uuid
                calendarcode:
                  type: string
                date:
                  type: string
                flag:
                  type: boolean
                restcount:
                  type: string
                reststart:
                  type: string
                schedule:
                  type: string
                userid:
                  type: string
                  format: uuid
                workcount:
                  type: string
                workstart:
                  type: string
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /calendar/fill:
    post:
      tags:
      - Calendar
      summary: Fill calendar with dates.
      operationId: calendarFill
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                calendar:
                  type: string
                  format: uuid
                calendarcode:
                  type: string
                datefrom:
                  type: string
                  format: date-time
                dateto:
                  type: string
                  format: date-time
                userid:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /calendar/get:
    post:
      tags:
      - Calendar
      summary: Get calendar.
      operationId: calendarGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /calendar/list:
    post:
      tags:
      - Calendar
      summary: List calendars.
      operationId: calendarList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /calendar/method:
    post:
      tags:
      - Calendar
      summary: Get available methods for calendar.
      operationId: calendarMethod
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /calendar/set:
    post:
      tags:
      - Calendar
      summary: Create or update calendar.
      operationId: calendarSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /calendar/type:
    post:
      tags:
      - Calendar
      summary: Get available types for calendar.
      operationId: calendarType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /calendar/user/list:
    post:
      tags:
      - Calendar
      summary: List calendars available to the current user.
      operationId: calendarUserList
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                calendar:
                  type: string
                  format: uuid
                calendarcode:
                  type: string
                datefrom:
                  type: string
                  format: date-time
                dateto:
                  type: string
                  format: date-time
                userid:
                  type: string
                  format: uuid
      responses:
        '200':
          $ref: '#/components/responses/ListReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /card/get:
    post:
      tags:
      - Card
      summary: Get payment card.
      operationId: cardGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charge_point/set/connected:
    post:
      tags:
      - ChargePoint
      summary: Set charge point connected status.
      operationId: chargePointSetConnected
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charge_point/status/count:
    post:
      tags:
      - ChargePoint
      summary: Count charge points by status.
      operationId: chargePointStatusCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charge_point/transaction/close:
    post:
      tags:
      - ChargePoint
      summary: Close charge point transaction.
      operationId: chargePointTransactionClose
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                transactionid:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charge_point/transaction/stop:
    post:
      tags:
      - ChargePoint
      summary: Stop charge point transaction.
      operationId: chargePointTransactionStop
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                transactionid:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charger/count:
    post:
      tags:
      - Charger
      summary: Count charger.
      operationId: chargerCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charger/get:
    post:
      tags:
      - Charger
      summary: Get charger type.
      operationId: chargerGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charger/list:
    post:
      tags:
      - Charger
      summary: List charger types.
      operationId: chargerList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charger/method:
    post:
      tags:
      - Charger
      summary: Get available methods for charger.
      operationId: chargerMethod
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charger/set:
    post:
      tags:
      - Charger
      summary: Create or update charger.
      operationId: chargerSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charger/type:
    post:
      tags:
      - Charger
      summary: Get available types for charger.
      operationId: chargerType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /class:
    post:
      tags:
      - Workflow
      summary: List classes in the hierarchy starting from a given parent.
      operationId: class
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /client/balance:
    post:
      tags:
      - Client
      summary: Get client balance.
      operationId: clientBalance
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /client/close:
    post:
      tags:
      - Client
      summary: Close client account.
      operationId: clientClose
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /comment/count:
    post:
      tags:
      - Comment
      summary: Count comment records matching search/filter criteria.
      operationId: commentCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /comment/delete:
    post:
      tags:
      - Comment
      summary: Delete a comment (owner or administrator only).
      operationId: commentDelete
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /comment/get:
    post:
      tags:
      - Comment
      summary: Retrieve a single comment by identifier (with access check).
      operationId: commentGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /comment/list:
    post:
      tags:
      - Comment
      summary: List comments with dynamic search, filter, and pagination.
      operationId: commentList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /comment/set:
    post:
      tags:
      - Comment
      summary: Upsert a comment and return the resulting row.
      operationId: commentSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /connector/status/set:
    post:
      tags:
      - Connector
      summary: Set connector status.
      operationId: connectorStatusSet
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                status:
                  type: string
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /connector/type/delete:
    post:
      tags:
      - Connector
      summary: Delete connector type.
      operationId: connectorTypeDelete
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /connector/type/set:
    post:
      tags:
      - Connector
      summary: Set connector type.
      operationId: connectorTypeSet
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: integer
                description:
                  type: string
                id:
                  type: string
                  format: uuid
                name:
                  type: object
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /connector/unlock:
    post:
      tags:
      - Connector
      summary: Unlock connector.
      operationId: connectorUnlock
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /contract/count:
    post:
      tags:
      - Contract
      summary: Count contract.
      operationId: contractCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /contract/get:
    post:
      tags:
      - Contract
      summary: Get contract.
      operationId: contractGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /contract/list:
    post:
      tags:
      - Contract
      summary: List contracts.
      operationId: contractList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /contract/method:
    post:
      tags:
      - Contract
      summary: Get available methods for contract.
      operationId: contractMethod
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /contract/set:
    post:
      tags:
      - Contract
      summary: Create or update contract.
      operationId: contractSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /contract/type:
    post:
      tags:
      - Contract
      summary: Get available types for contract.
      operationId: contractType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /country/count:
    post:
      tags:
      - Country
      summary: Count country.
      operationId: countryCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /country/get:
    post:
      tags:
      - Country
      summary: Get country.
      operationId: countryGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /country/list:
    post:
      tags:
      - Country
      summary: List countries.
      operationId: countryList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /country/method:
    post:
      tags:
      - Country
      summary: Get available methods for country.
      operationId: countryMethod
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /country/set:
    post:
      tags:
      - Country
      summary: Create or update country.
      operationId: countrySet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /country/type:
    post:
      tags:
      - Country
      summary: Get available types for country.
      operationId: countryType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /dashboard/charge_point/count:
    post:
      tags:
      - Dashboard
      summary: Returns the count of charge points matching the given filter.
      operationId: dashboardChargePointCount
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                filter:
                  type: object
                reclimit:
                  type: integer
                search:
                  type: object
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /dashboard/charge_point/list:
    post:
      tags:
      - Dashboard
      summary: Returns paginated list of charge points.
      operationId: dashboardChargePointList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /dashboard/charge_points:
    post:
      tags:
      - Dashboard
      summary: Returns charge points list with period metrics.
      operationId: dashboardChargePoints
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                datefrom:
                  type: string
                  format: date-time
                dateto:
                  type: string
                  format: date-time
                reclimit:
                  type: integer
                recoffset:
                  type: integer
                sortby:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /dashboard/client/count:
    post:
      tags:
      - Dashboard
      summary: Returns count of distinct clients who had transactions in the period.
      operationId: dashboardClientCount
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                datefrom:
                  type: string
                  format: date-time
                dateto:
                  type: string
                  format: date-time
                reclimit:
                  type: integer
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /dashboard/events:
    post:
      tags:
      - Dashboard
      summary: Returns recent dashboard events.
      operationId: dashboardEvents
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                reclimit:
                  type: integer
                recoffset:
                  type: integer
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /dashboard/power:
    post:
      tags:
      - Dashboard
      summary: Returns network power capacity and current active load.
      operationId: dashboardPower
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /dashboard/session/count:
    post:
      tags:
      - Dashboard
      summary: Returns the count of sessions matching the given filter.
      operationId: dashboardSessionCount
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                filter:
                  type: object
                reclimit:
                  type: integer
                search:
                  type: object
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /dashboard/session/list:
    post:
      tags:
      - Dashboard
      summary: Returns paginated list of sessions (one row per OCPP TransactionId).
      operationId: dashboardSessionList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /dashboard/session/stats:
    post:
      tags:
      - Dashboard
      summary: Returns session statistics for the period.
      operationId: dashboardSessionStats
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                datefrom:
                  type: string
                  format: date-time
                dateto:
                  type: string
                  format: date-time
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /dashboard/summary:
    post:
      tags:
      - Dashboard
      summary: Returns dashboard summary (connectors, KPI, load) for the given period.
      operationId: dashboardSummary
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                datefrom:
                  type: string
                  format: date-time
                dateto:
                  type: string
                  format: date-time
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /dashboard/transaction/count:
    post:
      tags:
      - Dashboard
      summary: Returns count of distinct OCPP transactions in the period.
      operationId: dashboardTransactionCount
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                datefrom:
                  type: string
                  format: date-time
                dateto:
                  type: string
                  format: date-time
                reclimit:
                  type: integer
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /defect/count:
    post:
      tags:
      - Defect
      summary: Count defects.
      operationId: defectCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /defect/get:
    post:
      tags:
      - Defect
      summary: Get defect.
      operationId: defectGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /defect/list:
    post:
      tags:
      - Defect
      summary: List defects.
      operationId: defectList
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                defectby:
                  type: string
                fields:
                  type: object
                filter:
                  type: object
                reclimit:
                  type: integer
                recoffset:
                  type: integer
                search:
                  type: object
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /defect/log/count:
    post:
      tags:
      - Defect
      summary: Count defect log entries.
      operationId: defectLogCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /defect/log/delete:
    post:
      tags:
      - Defect
      summary: Delete defect log entry.
      operationId: defectLogDelete
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /defect/log/get:
    post:
      tags:
      - Defect
      summary: Get defect log entry.
      operationId: defectLogGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /defect/log/list:
    post:
      tags:
      - Defect
      summary: List defect log entries.
      operationId: defectLogList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /defect/log/set:
    post:
      tags:
      - Defect
      summary: Add defect log entry.
      operationId: defectLogSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /defect/method:
    post:
      tags:
      - Defect
      summary: Get available methods for defect.
      operationId: defectMethod
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /defect/set:
    post:
      tags:
      - Defect
      summary: Create or update defect.
      operationId: defectSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /defect/type:
    post:
      tags:
      - Defect
      summary: Get available types for defect.
      operationId: defectType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /device/init:
    post:
      tags:
      - Device
      summary: Initialize device.
      operationId: deviceInit
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /device/status/get:
    post:
      tags:
      - Device
      summary: Get device status by string identifier.
      operationId: deviceStatusGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /device/status/list:
    post:
      tags:
      - Device
      summary: List device statuses.
      operationId: deviceStatusList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /device/value/get:
    post:
      tags:
      - Device
      summary: Get device value by string identifier.
      operationId: deviceValueGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /device/value/list:
    post:
      tags:
      - Device
      summary: List device values.
      operationId: deviceValueList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /document/change/area:
    post:
      tags:
      - Document
      summary: Document Change Area endpoint.
      operationId: documentChangeArea
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /document/count:
    post:
      tags:
      - Document
      summary: Count document records matching search/filter criteria.
      operationId: documentCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /document/get:
    post:
      tags:
      - Document
      summary: Retrieve a single document by identifier with access check.
      operationId: documentGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /document/list:
    post:
      tags:
      - Document
      summary: List documents matching search, filter, and sort criteria.
      operationId: documentList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /document/method:
    post:
      tags:
      - Document
      summary: Get available methods for document.
      operationId: documentMethod
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /document/set:
    post:
      tags:
      - Document
      summary: Create or update a document (upsert). Routes to add or update based on pId.
      operationId: documentSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /document/type:
    post:
      tags:
      - Document
      summary: Get available types for document.
      operationId: documentType
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /entity:
    post:
      tags:
      - Workflow
      summary: Workflow entity view.
      operationId: entity
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /error/code:
    post:
      tags:
      - Error
      summary: Error Code endpoint.
      operationId: errorCode
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: integer
                fields:
                  type: object
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /error/count:
    post:
      tags:
      - Error
      summary: Count error catalog entries matching search/filter criteria.
      operationId: errorCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /error/get:
    post:
      tags:
      - Error
      summary: Retrieve a single error catalog entry by ID.
      operationId: errorGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /error/list:
    post:
      tags:
      - Error
      summary: List error catalog entries with optional search, filter, and pagination.
      operationId: errorList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /error/set:
    post:
      tags:
      - Error
      summary: 'Upsert an error catalog entry: create when pId is NULL, otherwise update. Return the row.'
      operationId: errorSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /event/log:
    post:
      tags:
      - Log
      summary: Filter event log entries by username, type, code, and date range.
      operationId: eventLog
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /event/log/set:
    post:
      tags:
      - Log
      summary: 'Upsert an event: create if pId is NULL, update otherwise.'
      operationId: eventLogSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /file/count:
    post:
      tags:
      - File
      summary: Count file records matching search/filter criteria.
      operationId: fileCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /file/delete:
    post:
      tags:
      - File
      summary: Delete a file by identifier.
      operationId: fileDelete
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                name:
                  type: object
                path:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /file/get:
    post:
      tags:
      - File
      summary: Fetch a single file record with its binary data by identifier.
      operationId: fileGet
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                fields:
                  type: object
                id:
                  type: string
                  format: uuid
                name:
                  type: object
                path:
                  type: string
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /file/list:
    post:
      tags:
      - File
      summary: List files with optional search, filtering, pagination, and sorting.
      operationId: fileList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /file/set:
    post:
      tags:
      - File
      summary: Create or update a file, auto-creating intermediate directories from pPath.
      operationId: fileSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /form/build:
    post:
      tags:
      - Form
      summary: Build a form's field layout as a JSON object with form ID and fields array.
      operationId: formBuild
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                params:
                  type: object
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /form/count:
    post:
      tags:
      - Form
      summary: Count form records matching search/filter criteria.
      operationId: formCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /form/field:
    post:
      tags:
      - Form
      summary: Form Field endpoint.
      operationId: formField
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                fields:
                  type: object
                form:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /form/field/count:
    post:
      tags:
      - Form
      summary: Count form records matching search/filter criteria.
      operationId: formFieldCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /form/field/delete:
    post:
      tags:
      - Form
      summary: Delete a form field by form ID and key.
      operationId: formFieldDelete
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /form/field/get:
    post:
      tags:
      - Form
      summary: Retrieve a single form by ID (with access check).
      operationId: formFieldGet
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                fields:
                  type: object
                form:
                  type: string
                key:
                  type: string
      responses:
        '200':
          $ref: '#/components/responses/GetReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /form/field/list:
    post:
      tags:
      - Form
      summary: List forms with optional search, filter, and pagination.
      operationId: formFieldList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /form/field/set:
    post:
      tags:
      - Form
      summary: 'Upsert a form: create when pId is NULL, otherwise update. Return the row.'
      operationId: formFieldSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /form/get:
    post:
      tags:
      - Form
      summary: Retrieve a single form by ID (with access check).
      operationId: formGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /form/list:
    post:
      tags:
      - Form
      summary: List forms with optional search, filter, and pagination.
      operationId: formList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /form/method:
    post:
      tags:
      - Form
      summary: Get available methods for form.
      operationId: formMethod
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /form/set:
    post:
      tags:
      - Form
      summary: 'Upsert a form: create when pId is NULL, otherwise update. Return the row.'
      operationId: formSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /form/type:
    post:
      tags:
      - Form
      summary: Get available types for form.
      operationId: formType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /locale:
    post:
      tags:
      - Locale
      summary: Locale (language) reference view.
      operationId: locale
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /locale/set:
    post:
      tags:
      - Locale
      summary: Create or update locale.
      operationId: localeSet
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: integer
                id:
                  type: string
                  format: uuid
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /measure/count:
    post:
      tags:
      - Measure
      summary: Count measure.
      operationId: measureCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /measure/get:
    post:
      tags:
      - Measure
      summary: Get unit of measure.
      operationId: measureGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /measure/list:
    post:
      tags:
      - Measure
      summary: List units of measure.
      operationId: measureList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /measure/method:
    post:
      tags:
      - Measure
      summary: Get available methods for measure.
      operationId: measureMethod
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /measure/set:
    post:
      tags:
      - Measure
      summary: Create or update measure.
      operationId: measureSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /measure/type:
    post:
      tags:
      - Measure
      summary: Get available types for measure.
      operationId: measureType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /member/area:
    post:
      tags:
      - Member
      summary: Fetch areas accessible to the specified user (including inherited via groups and child
        areas).
      operationId: memberArea
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /member/group:
    post:
      tags:
      - Member
      summary: List the groups the specified user belongs to.
      operationId: memberGroup
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /member/interface:
    post:
      tags:
      - Member
      summary: Fetch interfaces accessible to the specified user (including inherited via groups).
      operationId: memberInterface
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /message/send:
    post:
      tags:
      - Message
      summary: Create and immediately submit a message for delivery via the specified agent.
      operationId: messageSend
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /message/send/mail:
    post:
      tags:
      - Message
      summary: Send email via message send.
      operationId: messageSendMail
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /message/send/push:
    post:
      tags:
      - Message
      summary: Send push notification via message send.
      operationId: messageSendPush
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /message/send/push/all:
    post:
      tags:
      - Message
      summary: Get all message send push.
      operationId: messageSendPushAll
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /message/send/push/data:
    post:
      tags:
      - Message
      summary: Get data of message send push.
      operationId: messageSendPushData
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /message/send/push/to/role:
    post:
      tags:
      - Message
      summary: Get role for message send push to.
      operationId: messageSendPushToRole
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /message/send/sms:
    post:
      tags:
      - Message
      summary: Send SMS via message send.
      operationId: messageSendSms
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /method:
    post:
      tags:
      - Workflow
      summary: List methods for a class and state, including inherited methods from the class hierarchy.
      operationId: method
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /method/execute:
    post:
      tags:
      - Workflow
      summary: Execute a workflow method on an object by method code string.
      operationId: methodExecute
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: integer
                method:
                  type: string
                object:
                  type: string
                  format: uuid
                params:
                  type: object
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /method/get:
    post:
      tags:
      - Workflow
      summary: Fetch a single method by its identifier.
      operationId: methodGet
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                actioncode:
                  type: string
                classcode:
                  type: string
                statecode:
                  type: string
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /method/list:
    post:
      tags:
      - Workflow
      summary: List methods with optional search, filter, pagination, and sorting.
      operationId: methodList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /method/run:
    post:
      tags:
      - Workflow
      summary: Run workflow method by ID.
      operationId: methodRun
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: integer
                id:
                  type: string
                  format: uuid
                method:
                  type: string
                params:
                  type: object
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /mode/count:
    post:
      tags:
      - Mode
      summary: Count mode.
      operationId: modeCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /mode/get:
    post:
      tags:
      - Mode
      summary: Get charging mode.
      operationId: modeGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /mode/list:
    post:
      tags:
      - Mode
      summary: List charging modes.
      operationId: modeList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /mode/method:
    post:
      tags:
      - Mode
      summary: Get available methods for mode.
      operationId: modeMethod
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /mode/set:
    post:
      tags:
      - Mode
      summary: Create or update mode.
      operationId: modeSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /mode/type:
    post:
      tags:
      - Mode
      summary: Get available types for mode.
      operationId: modeType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /model/count:
    post:
      tags:
      - Model
      summary: Count model.
      operationId: modelCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /model/get:
    post:
      tags:
      - Model
      summary: Get equipment model.
      operationId: modelGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /model/list:
    post:
      tags:
      - Model
      summary: List equipment models.
      operationId: modelList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /model/method:
    post:
      tags:
      - Model
      summary: Get available methods for model.
      operationId: modelMethod
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /model/property:
    post:
      tags:
      - Model
      summary: Get model property by name.
      operationId: modelProperty
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                properties:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /model/property/clear:
    post:
      tags:
      - Model
      summary: Delete all properties of an equipment model.
      operationId: modelPropertyClear
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /model/property/count:
    post:
      tags:
      - Model
      summary: Count model property.
      operationId: modelPropertyCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /model/property/delete:
    post:
      tags:
      - Model
      summary: Delete a property of an equipment model.
      operationId: modelPropertyDelete
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                property:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /model/property/get:
    post:
      tags:
      - Model
      summary: Get an equipment model property.
      operationId: modelPropertyGet
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                fields:
                  type: object
                id:
                  type: string
                  format: uuid
                property:
                  type: string
      responses:
        '200':
          $ref: '#/components/responses/GetReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /model/property/list:
    post:
      tags:
      - Model
      summary: List equipment model properties.
      operationId: modelPropertyList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /model/property/set:
    post:
      tags:
      - Model
      summary: Set model property.
      operationId: modelPropertySet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /model/set:
    post:
      tags:
      - Model
      summary: Create or update model.
      operationId: modelSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /model/type:
    post:
      tags:
      - Model
      summary: Get available types for model.
      operationId: modelType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /notice/mark:
    post:
      tags:
      - Notice
      summary: Mark one or all notices as read for the current user.
      operationId: noticeMark
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /notification:
    post:
      tags:
      - Notification
      summary: Retrieve notifications since a given timestamp with access control.
      operationId: notification
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                fields:
                  type: object
                point:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /notification/changed/objects:
    post:
      tags:
      - Notification
      summary: Notification Changed Objects endpoint.
      operationId: notificationChangedObjects
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                fromdate:
                  type: string
                objects:
                  type: string
                todate:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /notification/count:
    post:
      tags:
      - Notification
      summary: Count notification records matching search/filter criteria.
      operationId: notificationCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /notification/get:
    post:
      tags:
      - Notification
      summary: Retrieve a single notification by identifier.
      operationId: notificationGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /notification/list:
    post:
      tags:
      - Notification
      summary: List notifications with dynamic search, filter, and pagination.
      operationId: notificationList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/access:
    post:
      tags:
      - Object
      summary: List users/groups and their access permissions for a given object.
      operationId: objectAccess
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/access/decode:
    post:
      tags:
      - Object
      summary: Decode the access mask for an object into boolean flags (select, update, delete).
      operationId: objectAccessDecode
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/access/set:
    post:
      tags:
      - Object
      summary: 'Upsert an object: create if pId is NULL, otherwise update.'
      operationId: objectAccessSet
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                mask:
                  type: string
                userid:
                  type: string
                  format: uuid
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/action/execute:
    post:
      tags:
      - Object
      summary: Execute a workflow action on an object by action code string.
      operationId: objectActionExecute
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                action:
                  type: string
                code:
                  type: integer
                id:
                  type: string
                  format: uuid
                params:
                  type: object
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/address:
    post:
      tags:
      - Object
      summary: Object Address endpoint.
      operationId: objectAddress
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                addresses:
                  type: string
                id:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/address/get:
    post:
      tags:
      - Object
      summary: Fetch a single object by identifier (with access check).
      operationId: objectAddressGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetObject'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/address/list:
    post:
      tags:
      - Object
      summary: List objects with search, filter, pagination, and sorting.
      operationId: objectAddressList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListObject'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/address/set:
    post:
      tags:
      - Object
      summary: 'Upsert an object: create if pId is NULL, otherwise update.'
      operationId: objectAddressSet
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                address:
                  type: string
                datefrom:
                  type: string
                  format: date-time
                id:
                  type: string
                  format: uuid
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/class:
    post:
      tags:
      - Object
      summary: Object Class endpoint.
      operationId: objectClass
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/count:
    post:
      tags:
      - Object
      summary: Count object records matching search/filter criteria.
      operationId: objectCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/data:
    post:
      tags:
      - Object
      summary: Get data of object.
      operationId: objectData
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: string
                id:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/data/get:
    post:
      tags:
      - Object
      summary: Fetch a single object by identifier (with access check).
      operationId: objectDataGet
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: integer
                fields:
                  type: object
                id:
                  type: string
                  format: uuid
                type:
                  type: string
      responses:
        '200':
          $ref: '#/components/responses/GetObject'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/data/list:
    post:
      tags:
      - Object
      summary: List objects with search, filter, pagination, and sorting.
      operationId: objectDataList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListObject'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/data/set:
    post:
      tags:
      - Object
      summary: 'Upsert an object: create if pId is NULL, otherwise update.'
      operationId: objectDataSet
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: string
                id:
                  type: string
                  format: uuid
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/delete/force:
    post:
      tags:
      - Object
      summary: Object Delete Force endpoint.
      operationId: objectDeleteForce
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/file:
    post:
      tags:
      - Object
      summary: Object File endpoint.
      operationId: objectFile
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                clear:
                  type: string
                files:
                  type: string
                id:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/file/clear:
    post:
      tags:
      - Object
      summary: Clear all object file.
      operationId: objectFileClear
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/file/count:
    post:
      tags:
      - Object
      summary: Count object records matching search/filter criteria.
      operationId: objectFileCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/file/delete:
    post:
      tags:
      - Object
      summary: Delete a file attachment from an object.
      operationId: objectFileDelete
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                file:
                  type: string
                id:
                  type: string
                  format: uuid
                name:
                  type: object
                path:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/file/get:
    post:
      tags:
      - Object
      summary: Fetch a single object by identifier (with access check).
      operationId: objectFileGet
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                fields:
                  type: object
                file:
                  type: string
                id:
                  type: string
                  format: uuid
                name:
                  type: object
                path:
                  type: string
      responses:
        '200':
          $ref: '#/components/responses/GetObject'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/file/list:
    post:
      tags:
      - Object
      summary: List objects with search, filter, pagination, and sorting.
      operationId: objectFileList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListObject'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/file/set:
    post:
      tags:
      - Object
      summary: 'Upsert an object: create if pId is NULL, otherwise update.'
      operationId: objectFileSet
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                clear:
                  type: string
                files:
                  type: string
                id:
                  type: string
                  format: uuid
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/geolocation:
    post:
      tags:
      - Object
      summary: Object Geolocation endpoint.
      operationId: objectGeolocation
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                coordinates:
                  type: string
                id:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/geolocation/count:
    post:
      tags:
      - Object
      summary: Count object records matching search/filter criteria.
      operationId: objectGeolocationCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/geolocation/get:
    post:
      tags:
      - Object
      summary: Fetch a single object by identifier (with access check).
      operationId: objectGeolocationGet
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                datefrom_ut:
                  type: string
                fields:
                  type: object
      responses:
        '200':
          $ref: '#/components/responses/GetObject'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/geolocation/list:
    post:
      tags:
      - Object
      summary: List objects with search, filter, pagination, and sorting.
      operationId: objectGeolocationList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListObject'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/geolocation/set:
    post:
      tags:
      - Object
      summary: 'Upsert an object: create if pId is NULL, otherwise update.'
      operationId: objectGeolocationSet
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                coordinates:
                  type: string
                id:
                  type: string
                  format: uuid
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/get:
    post:
      tags:
      - Object
      summary: Fetch a single object by identifier (with access check).
      operationId: objectGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetObject'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/group/count:
    post:
      tags:
      - Object
      summary: Count object records matching search/filter criteria.
      operationId: objectGroupCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/group/get:
    post:
      tags:
      - Object
      summary: Fetch a single object by identifier (with access check).
      operationId: objectGroupGet
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: integer
                fields:
                  type: object
                id:
                  type: string
                  format: uuid
      responses:
        '200':
          $ref: '#/components/responses/GetObject'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/group/list:
    post:
      tags:
      - Object
      summary: List objects with search, filter, pagination, and sorting.
      operationId: objectGroupList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListObject'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/group/member:
    post:
      tags:
      - Object
      summary: List all objects in a group as full object records.
      operationId: objectGroupMember
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: integer
                id:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/group/member/add:
    post:
      tags:
      - Object
      summary: Create a new object.
      operationId: objectGroupMemberAdd
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: integer
                id:
                  type: string
                  format: uuid
                object:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/group/member/delete:
    post:
      tags:
      - Object
      summary: Delete object group member.
      operationId: objectGroupMemberDelete
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: integer
                id:
                  type: string
                  format: uuid
                object:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/group/set:
    post:
      tags:
      - Object
      summary: 'Upsert an object: create if pId is NULL, otherwise update.'
      operationId: objectGroupSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/link:
    post:
      tags:
      - Object
      summary: Object Link endpoint.
      operationId: objectLink
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/link/count:
    post:
      tags:
      - Object
      summary: Count object records matching search/filter criteria.
      operationId: objectLinkCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/link/get:
    post:
      tags:
      - Object
      summary: Fetch a single object by identifier (with access check).
      operationId: objectLinkGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetObject'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/link/list:
    post:
      tags:
      - Object
      summary: List objects with search, filter, pagination, and sorting.
      operationId: objectLinkList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListObject'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/link/set:
    post:
      tags:
      - Object
      summary: 'Upsert an object: create if pId is NULL, otherwise update.'
      operationId: objectLinkSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/list:
    post:
      tags:
      - Object
      summary: List objects with search, filter, pagination, and sorting.
      operationId: objectList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListObject'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/method:
    post:
      tags:
      - Object
      summary: Get available methods for object.
      operationId: objectMethod
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/method/execute:
    post:
      tags:
      - Object
      summary: Execute object method.
      operationId: objectMethodExecute
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: integer
                id:
                  type: string
                  format: uuid
                method:
                  type: string
                params:
                  type: object
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/method/history/count:
    post:
      tags:
      - Object
      summary: Count object records matching search/filter criteria.
      operationId: objectMethodHistoryCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/method/history/get:
    post:
      tags:
      - Object
      summary: Fetch a single object by identifier (with access check).
      operationId: objectMethodHistoryGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetObject'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/method/history/list:
    post:
      tags:
      - Object
      summary: List objects with search, filter, pagination, and sorting.
      operationId: objectMethodHistoryList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListObject'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/set:
    post:
      tags:
      - Object
      summary: 'Upsert an object: create if pId is NULL, otherwise update.'
      operationId: objectSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/state:
    post:
      tags:
      - Object
      summary: Object State endpoint.
      operationId: objectState
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/state/history/count:
    post:
      tags:
      - Object
      summary: Count object records matching search/filter criteria.
      operationId: objectStateHistoryCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/state/history/get:
    post:
      tags:
      - Object
      summary: Fetch a single object by identifier (with access check).
      operationId: objectStateHistoryGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetObject'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/state/history/list:
    post:
      tags:
      - Object
      summary: List objects with search, filter, pagination, and sorting.
      operationId: objectStateHistoryList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListObject'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/type:
    post:
      tags:
      - Object
      summary: Get available types for object.
      operationId: objectType
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /object/unlink:
    post:
      tags:
      - Object
      summary: Object Unlink endpoint.
      operationId: objectUnlink
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /observer/listener:
    post:
      tags:
      - Observer
      summary: Observer Listener endpoint.
      operationId: observerListener
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                fields:
                  type: object
                identity:
                  type: string
                publisher:
                  type: string
                session:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /observer/listener/count:
    post:
      tags:
      - Observer
      summary: Count observer listener.
      operationId: observerListenerCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /observer/listener/get:
    post:
      tags:
      - Observer
      summary: Get observer listener.
      operationId: observerListenerGet
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                fields:
                  type: object
                identity:
                  type: string
                publisher:
                  type: string
                session:
                  type: string
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /observer/listener/list:
    post:
      tags:
      - Observer
      summary: List observer listener.
      operationId: observerListenerList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /observer/listener/set:
    post:
      tags:
      - Observer
      summary: Create or update observer listener.
      operationId: observerListenerSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /observer/publisher:
    post:
      tags:
      - Observer
      summary: Observer Publisher endpoint.
      operationId: observerPublisher
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: integer
                fields:
                  type: object
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /observer/publisher/count:
    post:
      tags:
      - Observer
      summary: Count observer publisher.
      operationId: observerPublisherCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /observer/publisher/get:
    post:
      tags:
      - Observer
      summary: Get observer publisher.
      operationId: observerPublisherGet
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: integer
                fields:
                  type: object
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /observer/publisher/list:
    post:
      tags:
      - Observer
      summary: List observer publisher.
      operationId: observerPublisherList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /observer/subscribe:
    post:
      tags:
      - Observer
      summary: Subscribe to a publisher using the current or specified session.
      operationId: observerSubscribe
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /observer/unsubscribe:
    post:
      tags:
      - Observer
      summary: Unsubscribe from a publisher by removing the listener record.
      operationId: observerUnsubscribe
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /ocpp/log:
    post:
      tags:
      - OCPP
      summary: OCPP event log.
      operationId: ocppLog
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /ocpp/parse:
    post:
      tags:
      - OCPP
      summary: Parse OCPP message.
      operationId: ocppParse
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                account:
                  type: string
                action:
                  type: string
                identity:
                  type: string
                payload:
                  type: string
                uniqueId:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /order/count:
    post:
      tags:
      - Order
      summary: Count order.
      operationId: orderCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /order/get:
    post:
      tags:
      - Order
      summary: Get order.
      operationId: orderGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /order/list:
    post:
      tags:
      - Order
      summary: List order.
      operationId: orderList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /order/method:
    post:
      tags:
      - Order
      summary: Get available methods for order.
      operationId: orderMethod
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /order/set:
    post:
      tags:
      - Order
      summary: Create or update order.
      operationId: orderSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /order/type:
    post:
      tags:
      - Order
      summary: Get available types for order.
      operationId: orderType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /payment/count:
    post:
      tags:
      - Payment
      summary: Count payments.
      operationId: paymentCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /payment/get:
    post:
      tags:
      - Payment
      summary: Get payment.
      operationId: paymentGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /payment/list:
    post:
      tags:
      - Payment
      summary: List payments.
      operationId: paymentList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /payment/method:
    post:
      tags:
      - Payment
      summary: Get available methods for payment.
      operationId: paymentMethod
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /payment/set:
    post:
      tags:
      - Payment
      summary: Create or update payment.
      operationId: paymentSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /payment/type:
    post:
      tags:
      - Payment
      summary: Get available types for payment.
      operationId: paymentType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /payment_method/count:
    post:
      tags:
      - PaymentMethod
      summary: Count payment method.
      operationId: paymentMethodCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /payment_method/get:
    post:
      tags:
      - PaymentMethod
      summary: Get payment method.
      operationId: paymentMethodGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /payment_method/list:
    post:
      tags:
      - PaymentMethod
      summary: List payment methods.
      operationId: paymentMethodList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /payment_method/method:
    post:
      tags:
      - PaymentMethod
      summary: Get available methods for payment method.
      operationId: paymentMethodMethod
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /payment_method/set:
    post:
      tags:
      - PaymentMethod
      summary: Create or update payment method.
      operationId: paymentMethodSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /payment_method/type:
    post:
      tags:
      - PaymentMethod
      summary: Get available types for payment method.
      operationId: paymentMethodType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /priority:
    post:
      tags:
      - Priority
      summary: Priority endpoint.
      operationId: priority
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /priority/count:
    post:
      tags:
      - Priority
      summary: Count priority records matching search/filter criteria.
      operationId: priorityCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /priority/get:
    post:
      tags:
      - Priority
      summary: Fetch a single priority level by its identifier.
      operationId: priorityGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /priority/list:
    post:
      tags:
      - Priority
      summary: List priority levels with optional search, filter, pagination, and sorting.
      operationId: priorityList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /property/count:
    post:
      tags:
      - Property
      summary: Count property.
      operationId: propertyCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /property/get:
    post:
      tags:
      - Property
      summary: Get property.
      operationId: propertyGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /property/list:
    post:
      tags:
      - Property
      summary: List properties.
      operationId: propertyList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /property/method:
    post:
      tags:
      - Property
      summary: Get available methods for property.
      operationId: propertyMethod
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /property/set:
    post:
      tags:
      - Property
      summary: Create or update property.
      operationId: propertySet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /property/type:
    post:
      tags:
      - Property
      summary: Get available types for property.
      operationId: propertyType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /reference/count:
    post:
      tags:
      - Reference
      summary: Count reference records matching search/filter criteria.
      operationId: referenceCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /reference/get:
    post:
      tags:
      - Reference
      summary: Retrieve a single reference entry by ID (with access check).
      operationId: referenceGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /reference/list:
    post:
      tags:
      - Reference
      summary: List reference entries with optional search, filter, and pagination.
      operationId: referenceList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /reference/method:
    post:
      tags:
      - Reference
      summary: Get available methods for reference.
      operationId: referenceMethod
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /reference/set:
    post:
      tags:
      - Reference
      summary: 'Upsert a reference: create when pId is NULL, otherwise update. Return the row.'
      operationId: referenceSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /reference/type:
    post:
      tags:
      - Reference
      summary: Get available types for reference.
      operationId: referenceType
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /region/count:
    post:
      tags:
      - Region
      summary: Count region.
      operationId: regionCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /region/get:
    post:
      tags:
      - Region
      summary: Get region.
      operationId: regionGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /region/list:
    post:
      tags:
      - Region
      summary: List regions.
      operationId: regionList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /region/method:
    post:
      tags:
      - Region
      summary: Get available methods for region.
      operationId: regionMethod
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /region/set:
    post:
      tags:
      - Region
      summary: Create or update region.
      operationId: regionSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /region/type:
    post:
      tags:
      - Region
      summary: Get available types for region.
      operationId: regionType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /registry/delete/key:
    post:
      tags:
      - Registry
      summary: Delete a registry subkey and its values; raise an exception if the subkey is not found.
      operationId: registryDeleteKey
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                key:
                  type: string
                subkey:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /registry/delete/tree:
    post:
      tags:
      - Registry
      summary: Recursively delete a subkey, all its descendants, and their values; raise an exception
        on failure.
      operationId: registryDeleteTree
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                key:
                  type: string
                subkey:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /registry/delete/value:
    post:
      tags:
      - Registry
      summary: Delete a registry value by identifier or by key/subkey/name; raise an exception on failure.
      operationId: registryDeleteValue
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                key:
                  type: string
                name:
                  type: object
                subkey:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /registry/enum/key:
    post:
      tags:
      - Registry
      summary: Enumerate child subkeys for the specified key/subkey pair.
      operationId: registryEnumKey
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                key:
                  type: string
                subkey:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /registry/enum/value:
    post:
      tags:
      - Registry
      summary: Enumerate all values for the specified key/subkey pair, returning Variant data.
      operationId: registryEnumValue
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                extended:
                  type: string
                key:
                  type: string
                subkey:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /registry/get/key:
    post:
      tags:
      - Registry
      summary: Registry Get Key endpoint.
      operationId: registryGetKey
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /registry/key:
    post:
      tags:
      - Registry
      summary: Filter registry keys by identifier, root, parent, and/or key name.
      operationId: registryKey
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                key:
                  type: string
                parent:
                  type: string
                  format: uuid
                root:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /registry/list:
    post:
      tags:
      - Registry
      summary: List registry.
      operationId: registryList
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                extended:
                  type: string
                id:
                  type: string
                  format: uuid
                key:
                  type: string
                subkey:
                  type: string
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /registry/read:
    post:
      tags:
      - Registry
      summary: Read a named value from the registry as a Variant composite.
      operationId: registryRead
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                key:
                  type: string
                name:
                  type: object
                subkey:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /registry/read/boolean:
    post:
      tags:
      - Registry
      summary: Registry Read Boolean endpoint.
      operationId: registryReadBoolean
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                key:
                  type: string
                name:
                  type: object
                subkey:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /registry/read/datetime:
    post:
      tags:
      - Registry
      summary: Registry Read Datetime endpoint.
      operationId: registryReadDatetime
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                key:
                  type: string
                name:
                  type: object
                subkey:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /registry/read/integer:
    post:
      tags:
      - Registry
      summary: Registry Read Integer endpoint.
      operationId: registryReadInteger
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                key:
                  type: string
                name:
                  type: object
                subkey:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /registry/read/numeric:
    post:
      tags:
      - Registry
      summary: Registry Read Numeric endpoint.
      operationId: registryReadNumeric
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                key:
                  type: string
                name:
                  type: object
                subkey:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /registry/read/string:
    post:
      tags:
      - Registry
      summary: Get string representation of registry read.
      operationId: registryReadString
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                key:
                  type: string
                name:
                  type: object
                subkey:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /registry/value:
    post:
      tags:
      - Registry
      summary: Filter registry values by identifier and/or parent key.
      operationId: registryValue
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                extended:
                  type: string
                id:
                  type: string
                  format: uuid
                key:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /registry/write:
    post:
      tags:
      - Registry
      summary: Write a typed value to the registry, creating the key path if needed.
      operationId: registryWrite
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: string
                id:
                  type: string
                  format: uuid
                key:
                  type: string
                name:
                  type: object
                subkey:
                  type: string
                type:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /registry/write/boolean:
    post:
      tags:
      - Registry
      summary: Registry Write Boolean endpoint.
      operationId: registryWriteBoolean
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                key:
                  type: string
                name:
                  type: object
                subkey:
                  type: string
                value:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /registry/write/datetime:
    post:
      tags:
      - Registry
      summary: Registry Write Datetime endpoint.
      operationId: registryWriteDatetime
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                key:
                  type: string
                name:
                  type: object
                subkey:
                  type: string
                value:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /registry/write/integer:
    post:
      tags:
      - Registry
      summary: Registry Write Integer endpoint.
      operationId: registryWriteInteger
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                key:
                  type: string
                name:
                  type: object
                subkey:
                  type: string
                value:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /registry/write/numeric:
    post:
      tags:
      - Registry
      summary: Registry Write Numeric endpoint.
      operationId: registryWriteNumeric
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                key:
                  type: string
                name:
                  type: object
                subkey:
                  type: string
                value:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /registry/write/string:
    post:
      tags:
      - Registry
      summary: Get string representation of registry write.
      operationId: registryWriteString
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                key:
                  type: string
                name:
                  type: object
                subkey:
                  type: string
                value:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /replication/apply:
    post:
      tags:
      - Replication
      summary: Apply all pending relay entries for a given source instance.
      operationId: replicationApply
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                source:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /replication/log:
    post:
      tags:
      - Replication
      summary: Fetch replication log entries after a given ID, excluding a specific source.
      operationId: replicationLog
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                reclimit:
                  type: integer
                source:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /replication/log/count:
    post:
      tags:
      - Replication
      summary: Count replication log entries matching search/filter criteria.
      operationId: replicationLogCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /replication/log/get:
    post:
      tags:
      - Replication
      summary: Retrieve a single replication log entry by ID.
      operationId: replicationLogGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /replication/log/list:
    post:
      tags:
      - Replication
      summary: List replication log entries with optional search, filter, and pagination.
      operationId: replicationLogList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /replication/log/max:
    post:
      tags:
      - Replication
      summary: Replication Log Max endpoint.
      operationId: replicationLogMax
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /replication/relay/add:
    post:
      tags:
      - Replication
      summary: Add replication relay.
      operationId: replicationRelayAdd
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /replication/relay/apply:
    post:
      tags:
      - Replication
      summary: Replication Relay Apply endpoint.
      operationId: replicationRelayApply
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                source:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /replication/relay/count:
    post:
      tags:
      - Replication
      summary: Count replication relay.
      operationId: replicationRelayCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /replication/relay/list:
    post:
      tags:
      - Replication
      summary: List replication relay.
      operationId: replicationRelayList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /replication/relay/max:
    post:
      tags:
      - Replication
      summary: Replication Relay Max endpoint.
      operationId: replicationRelayMax
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                source:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/build:
    post:
      tags:
      - Report
      summary: Build a report — create and return a report_ready document from a report definition.
      operationId: reportBuild
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                form:
                  type: string
                id:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/count:
    post:
      tags:
      - Report
      summary: Count report records matching search/filter criteria.
      operationId: reportCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/form/build:
    post:
      tags:
      - Report
      summary: Build a report — create and return a report_ready document from a report definition.
      operationId: reportFormBuild
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                params:
                  type: object
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/form/count:
    post:
      tags:
      - Report
      summary: Count report records matching search/filter criteria.
      operationId: reportFormCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/form/get:
    post:
      tags:
      - Report
      summary: Retrieve a single report by identifier (access-checked).
      operationId: reportFormGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/form/list:
    post:
      tags:
      - Report
      summary: List reports with optional search, filter, pagination, and sorting.
      operationId: reportFormList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/form/method:
    post:
      tags:
      - Report
      summary: Get available methods for report form.
      operationId: reportFormMethod
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/form/set:
    post:
      tags:
      - Report
      summary: Upsert a report — create if pId is NULL, otherwise update.
      operationId: reportFormSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/form/type:
    post:
      tags:
      - Report
      summary: Get available types for report form.
      operationId: reportFormType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/get:
    post:
      tags:
      - Report
      summary: Retrieve a single report by identifier (access-checked).
      operationId: reportGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/list:
    post:
      tags:
      - Report
      summary: List reports with optional search, filter, pagination, and sorting.
      operationId: reportList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/method:
    post:
      tags:
      - Report
      summary: Get available methods for report.
      operationId: reportMethod
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/object/count:
    post:
      tags:
      - Report
      summary: Count report records matching search/filter criteria.
      operationId: reportObjectCount
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                filter:
                  type: object
                object:
                  type: string
                  format: uuid
                orderby:
                  type: object
                reclimit:
                  type: integer
                recoffset:
                  type: integer
                search:
                  type: object
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/object/list:
    post:
      tags:
      - Report
      summary: List reports with optional search, filter, pagination, and sorting.
      operationId: reportObjectList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/ready/count:
    post:
      tags:
      - Report
      summary: Count report records matching search/filter criteria.
      operationId: reportReadyCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/ready/get:
    post:
      tags:
      - Report
      summary: Retrieve a single report by identifier (access-checked).
      operationId: reportReadyGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/ready/list:
    post:
      tags:
      - Report
      summary: List reports with optional search, filter, pagination, and sorting.
      operationId: reportReadyList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/ready/method:
    post:
      tags:
      - Report
      summary: Get available methods for report ready.
      operationId: reportReadyMethod
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/ready/set:
    post:
      tags:
      - Report
      summary: Upsert a report — create if pId is NULL, otherwise update.
      operationId: reportReadySet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/ready/type:
    post:
      tags:
      - Report
      summary: Get available types for report ready.
      operationId: reportReadyType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/routine/count:
    post:
      tags:
      - Report
      summary: Count report records matching search/filter criteria.
      operationId: reportRoutineCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/routine/get:
    post:
      tags:
      - Report
      summary: Retrieve a single report by identifier (access-checked).
      operationId: reportRoutineGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/routine/list:
    post:
      tags:
      - Report
      summary: List reports with optional search, filter, pagination, and sorting.
      operationId: reportRoutineList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/routine/method:
    post:
      tags:
      - Report
      summary: Get available methods for report routine.
      operationId: reportRoutineMethod
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/routine/set:
    post:
      tags:
      - Report
      summary: Upsert a report — create if pId is NULL, otherwise update.
      operationId: reportRoutineSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/routine/type:
    post:
      tags:
      - Report
      summary: Get available types for report routine.
      operationId: reportRoutineType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/set:
    post:
      tags:
      - Report
      summary: Upsert a report — create if pId is NULL, otherwise update.
      operationId: reportSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/tree/count:
    post:
      tags:
      - Report
      summary: Count report records matching search/filter criteria.
      operationId: reportTreeCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/tree/get:
    post:
      tags:
      - Report
      summary: Retrieve a single report by identifier (access-checked).
      operationId: reportTreeGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/tree/list:
    post:
      tags:
      - Report
      summary: List reports with optional search, filter, pagination, and sorting.
      operationId: reportTreeList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/tree/method:
    post:
      tags:
      - Report
      summary: Get available methods for report tree.
      operationId: reportTreeMethod
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/tree/set:
    post:
      tags:
      - Report
      summary: Upsert a report — create if pId is NULL, otherwise update.
      operationId: reportTreeSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/tree/type:
    post:
      tags:
      - Report
      summary: Get available types for report tree.
      operationId: reportTreeType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /report/type:
    post:
      tags:
      - Report
      summary: Get available types for report.
      operationId: reportType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /resource/count:
    post:
      tags:
      - Resource
      summary: Count resource records matching search/filter criteria.
      operationId: resourceCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /resource/delete:
    post:
      tags:
      - Resource
      summary: Delete a resource node by ID.
      operationId: resourceDelete
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /resource/get:
    post:
      tags:
      - Resource
      summary: Fetch a single resource by ID.
      operationId: resourceGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /resource/list:
    post:
      tags:
      - Resource
      summary: List resources with optional search, filter, pagination, and sorting.
      operationId: resourceList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /resource/set:
    post:
      tags:
      - Resource
      summary: Create or update a resource node (upsert) and return the full row.
      operationId: resourceSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /run:
    post:
      tags:
      - Common
      summary: Execute a REST JSON API request by resolving the route and running the endpoint.
      operationId: run
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                key:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /search:
    post:
      tags:
      - Search
      summary: Search endpoint.
      operationId: search
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /service/count:
    post:
      tags:
      - Service
      summary: Count service.
      operationId: serviceCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /service/get:
    post:
      tags:
      - Service
      summary: Get service.
      operationId: serviceGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /service/list:
    post:
      tags:
      - Service
      summary: List services.
      operationId: serviceList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /service/method:
    post:
      tags:
      - Service
      summary: Get available methods for service.
      operationId: serviceMethod
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /service/set:
    post:
      tags:
      - Service
      summary: Create or update service.
      operationId: serviceSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /service/type:
    post:
      tags:
      - Service
      summary: Get available types for service.
      operationId: serviceType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /session/set/area:
    post:
      tags:
      - Session
      summary: Set session area.
      operationId: sessionSetArea
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: integer
                id:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /session/set/interface:
    post:
      tags:
      - Session
      summary: Set session interface.
      operationId: sessionSetInterface
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: integer
                id:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /session/set/locale:
    post:
      tags:
      - Session
      summary: Set session locale.
      operationId: sessionSetLocale
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: integer
                id:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /session/set/oper_date:
    post:
      tags:
      - Session
      summary: Session Set Oper Date endpoint.
      operationId: sessionSetOperDate
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                oper_date:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /sla/count:
    post:
      tags:
      - SLA
      summary: Count sla.
      operationId: slaCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /sla/get:
    post:
      tags:
      - SLA
      summary: Get service level agreement.
      operationId: slaGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /sla/list:
    post:
      tags:
      - SLA
      summary: List service level agreements.
      operationId: slaList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /sla/method:
    post:
      tags:
      - SLA
      summary: Get available methods for sla.
      operationId: slaMethod
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /sla/set:
    post:
      tags:
      - SLA
      summary: Create or update sla.
      operationId: slaSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /sla/type:
    post:
      tags:
      - SLA
      summary: Get available types for sla.
      operationId: slaType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /state:
    post:
      tags:
      - Workflow
      summary: List states for a class, including inherited states from the class hierarchy.
      operationId: state
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /state/by/type:
    post:
      tags:
      - Workflow
      summary: List states for all classes that define a given object type.
      operationId: stateByType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /state/class:
    post:
      tags:
      - Workflow
      summary: State Class endpoint.
      operationId: stateClass
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                class:
                  type: string
                code:
                  type: integer
                fields:
                  type: object
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /state/type:
    post:
      tags:
      - Workflow
      summary: Get available types for state.
      operationId: stateType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /su:
    post:
      tags:
      - Security
      summary: Substitute user. Switches the current user in the active session to the specified user.
      operationId: su
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /tariff/schedule:
    post:
      tags:
      - Tariff
      summary: Get tariff schedule.
      operationId: tariffSchedule
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                dow:
                  type: string
                fields:
                  type: object
                mode:
                  type: string
                network:
                  type: string
                schedule:
                  type: string
                service:
                  type: string
                tz:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /tariff/schedule/clear:
    post:
      tags:
      - Tariff
      summary: Clear tariff schedule.
      operationId: tariffScheduleClear
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                dow:
                  type: string
                mode:
                  type: string
                network:
                  type: string
                service:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /tariff/schedule/count:
    post:
      tags:
      - Tariff
      summary: Count tariff schedule entries.
      operationId: tariffScheduleCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /tariff/schedule/delete:
    post:
      tags:
      - Tariff
      summary: Delete tariff schedule.
      operationId: tariffScheduleDelete
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /tariff/schedule/get:
    post:
      tags:
      - Tariff
      summary: Get tariff schedule entry.
      operationId: tariffScheduleGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /tariff/schedule/list:
    post:
      tags:
      - Tariff
      summary: List tariff schedule entries.
      operationId: tariffScheduleList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /tariff/schedule/set:
    post:
      tags:
      - Tariff
      summary: Create or update tariff schedule.
      operationId: tariffScheduleSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /transaction/update/wait:
    post:
      tags:
      - Transaction
      summary: Wait for transaction status update.
      operationId: transactionUpdateWait
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                connector:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /type:
    post:
      tags:
      - Workflow
      summary: List object types belonging to a specific entity.
      operationId: type
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /user/count:
    post:
      tags:
      - User
      summary: Count user records matching search/filter criteria.
      operationId: userCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /user/get:
    post:
      tags:
      - User
      summary: Retrieve a user account record.
      operationId: userGet
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                fields:
                  type: object
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /user/list:
    post:
      tags:
      - User
      summary: List users with optional filters. Non-admins see only their own record.
      operationId: userList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /user/password/recovery:
    post:
      tags:
      - User
      summary: Initiate password recovery.
      operationId: userPasswordRecovery
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                hashcode:
                  type: string
                identifier:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /user/password/reset:
    post:
      tags:
      - User
      summary: Reset user password.
      operationId: userPasswordReset
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                password:
                  type: string
                securityanswer:
                  type: string
                ticket:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /user/profile:
    post:
      tags:
      - User
      summary: Get profile of user.
      operationId: userProfile
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: integer
                fields:
                  type: object
                id:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /user/profile/set:
    post:
      tags:
      - User
      summary: Creates or updates a user account (upsert). Returns the resulting record.
      operationId: userProfileSet
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                area:
                  type: string
                  format: uuid
                familyname:
                  type: string
                givenname:
                  type: string
                interface:
                  type: string
                  format: uuid
                locale:
                  type: string
                patronymicname:
                  type: string
                picture:
                  type: string
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /user/registration/check:
    post:
      tags:
      - User
      summary: Check registration verification code.
      operationId: userRegistrationCheck
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: integer
                ticket:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /user/registration/code:
    post:
      tags:
      - User
      summary: Send registration verification code.
      operationId: userRegistrationCode
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                hashcode:
                  type: string
                phone:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /user/security/answer:
    post:
      tags:
      - User
      summary: Submit security answer.
      operationId: userSecurityAnswer
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                securityanswer:
                  type: string
                ticket:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /user/set:
    post:
      tags:
      - User
      summary: Creates or updates a user account (upsert). Returns the resulting record.
      operationId: userSet
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                description:
                  type: string
                email:
                  type: string
                name:
                  type: object
                password:
                  type: string
                phone:
                  type: string
                username:
                  type: string
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /vendor/count:
    post:
      tags:
      - Vendor
      summary: Count vendor records matching search/filter criteria.
      operationId: vendorCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /vendor/get:
    post:
      tags:
      - Vendor
      summary: Retrieve a single vendor by ID (with access check).
      operationId: vendorGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /vendor/list:
    post:
      tags:
      - Vendor
      summary: List vendors with optional search, filter, and pagination.
      operationId: vendorList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /vendor/method:
    post:
      tags:
      - Vendor
      summary: Get available methods for vendor.
      operationId: vendorMethod
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /vendor/set:
    post:
      tags:
      - Vendor
      summary: 'Upsert a vendor: create when pId is NULL, otherwise update. Return the row.'
      operationId: vendorSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /vendor/type:
    post:
      tags:
      - Vendor
      summary: Get available types for vendor.
      operationId: vendorType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /verification/code/count:
    post:
      tags:
      - Verification
      summary: Count verification code records matching search/filter criteria.
      operationId: verificationCodeCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /verification/code/get:
    post:
      tags:
      - Verification
      summary: Retrieve a single verification code by identifier.
      operationId: verificationCodeGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /verification/code/list:
    post:
      tags:
      - Verification
      summary: List verification codes with dynamic search, filter, and pagination.
      operationId: verificationCodeList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /verification/email/code:
    post:
      tags:
      - Verification
      summary: Send email verification code.
      operationId: verificationEmailCode
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: integer
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /verification/email/confirm:
    post:
      tags:
      - Verification
      summary: Verification Email Confirm endpoint.
      operationId: verificationEmailConfirm
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: integer
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /verification/phone/code:
    post:
      tags:
      - Verification
      summary: Send phone verification code.
      operationId: verificationPhoneCode
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: integer
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /verification/phone/confirm:
    post:
      tags:
      - Verification
      summary: Verification Phone Confirm endpoint.
      operationId: verificationPhoneConfirm
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: integer
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /version/count:
    post:
      tags:
      - Version
      summary: Count version records matching search/filter criteria.
      operationId: versionCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /version/get:
    post:
      tags:
      - Version
      summary: Retrieve a single version by ID (with access check).
      operationId: versionGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /version/list:
    post:
      tags:
      - Version
      summary: List versions with optional search, filter, and pagination.
      operationId: versionList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListReference'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /version/method:
    post:
      tags:
      - Version
      summary: Get available methods for version.
      operationId: versionMethod
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /version/set:
    post:
      tags:
      - Version
      summary: 'Upsert a version: create when pId is NULL, otherwise update. Return the row.'
      operationId: versionSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /version/type:
    post:
      tags:
      - Version
      summary: Get available types for version.
      operationId: versionType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/action/count:
    post:
      tags:
      - Workflow
      summary: Count workflow action.
      operationId: workflowActionCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/action/get:
    post:
      tags:
      - Workflow
      summary: Get workflow action.
      operationId: workflowActionGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/action/list:
    post:
      tags:
      - Workflow
      summary: List workflow action.
      operationId: workflowActionList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/class/access:
    post:
      tags:
      - Workflow
      summary: Workflow Class Access endpoint.
      operationId: workflowClassAccess
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: integer
                id:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/class/access/decode:
    post:
      tags:
      - Workflow
      summary: Decode access mask for workflow class access.
      operationId: workflowClassAccessDecode
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                code:
                  type: integer
                id:
                  type: string
                  format: uuid
                userid:
                  type: string
                  format: uuid
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/class/access/list:
    post:
      tags:
      - Workflow
      summary: List workflow class access.
      operationId: workflowClassAccessList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/class/access/set:
    post:
      tags:
      - Workflow
      summary: Create or update workflow class access.
      operationId: workflowClassAccessSet
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                mask:
                  type: string
                objectset:
                  type: string
                recursive:
                  type: string
                userid:
                  type: string
                  format: uuid
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/class/clone:
    post:
      tags:
      - Workflow
      summary: Workflow Class Clone endpoint.
      operationId: workflowClassClone
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/class/copy:
    post:
      tags:
      - Workflow
      summary: Workflow Class Copy endpoint.
      operationId: workflowClassCopy
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                destination:
                  type: string
                source:
                  type: string
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/class/count:
    post:
      tags:
      - Workflow
      summary: Count workflow class.
      operationId: workflowClassCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/class/delete:
    post:
      tags:
      - Workflow
      summary: Delete workflow class.
      operationId: workflowClassDelete
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/class/get:
    post:
      tags:
      - Workflow
      summary: Get workflow class.
      operationId: workflowClassGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/class/list:
    post:
      tags:
      - Workflow
      summary: List workflow class.
      operationId: workflowClassList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/class/set:
    post:
      tags:
      - Workflow
      summary: Create or update workflow class.
      operationId: workflowClassSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/entity/count:
    post:
      tags:
      - Workflow
      summary: Count workflow entity.
      operationId: workflowEntityCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/entity/get:
    post:
      tags:
      - Workflow
      summary: Get workflow entity.
      operationId: workflowEntityGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/entity/list:
    post:
      tags:
      - Workflow
      summary: List workflow entity.
      operationId: workflowEntityList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/event/count:
    post:
      tags:
      - Workflow
      summary: Count workflow event.
      operationId: workflowEventCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/event/delete:
    post:
      tags:
      - Workflow
      summary: Delete workflow event.
      operationId: workflowEventDelete
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/event/get:
    post:
      tags:
      - Workflow
      summary: Get workflow event.
      operationId: workflowEventGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/event/list:
    post:
      tags:
      - Workflow
      summary: List workflow event.
      operationId: workflowEventList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/event/set:
    post:
      tags:
      - Workflow
      summary: Create or update workflow event.
      operationId: workflowEventSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/event/type:
    post:
      tags:
      - Workflow
      summary: Get available types for workflow event.
      operationId: workflowEventType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/method/access:
    post:
      tags:
      - Workflow
      summary: Workflow Method Access endpoint.
      operationId: workflowMethodAccess
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/method/access/decode:
    post:
      tags:
      - Workflow
      summary: Decode access mask for workflow method access.
      operationId: workflowMethodAccessDecode
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/method/access/list:
    post:
      tags:
      - Workflow
      summary: List workflow method access.
      operationId: workflowMethodAccessList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/method/access/set:
    post:
      tags:
      - Workflow
      summary: Create or update workflow method access.
      operationId: workflowMethodAccessSet
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                mask:
                  type: string
                userid:
                  type: string
                  format: uuid
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/method/count:
    post:
      tags:
      - Workflow
      summary: Count workflow method.
      operationId: workflowMethodCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/method/delete:
    post:
      tags:
      - Workflow
      summary: Delete workflow method.
      operationId: workflowMethodDelete
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/method/get:
    post:
      tags:
      - Workflow
      summary: Get workflow method.
      operationId: workflowMethodGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/method/list:
    post:
      tags:
      - Workflow
      summary: List workflow method.
      operationId: workflowMethodList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/method/set:
    post:
      tags:
      - Workflow
      summary: Create or update workflow method.
      operationId: workflowMethodSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/priority/count:
    post:
      tags:
      - Workflow
      summary: Count workflow priority.
      operationId: workflowPriorityCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/priority/get:
    post:
      tags:
      - Workflow
      summary: Get workflow priority.
      operationId: workflowPriorityGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/priority/list:
    post:
      tags:
      - Workflow
      summary: List workflow priority.
      operationId: workflowPriorityList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/state/count:
    post:
      tags:
      - Workflow
      summary: Count workflow state.
      operationId: workflowStateCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/state/delete:
    post:
      tags:
      - Workflow
      summary: Delete workflow state.
      operationId: workflowStateDelete
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/state/get:
    post:
      tags:
      - Workflow
      summary: Get workflow state.
      operationId: workflowStateGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/state/list:
    post:
      tags:
      - Workflow
      summary: List workflow state.
      operationId: workflowStateList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/state/set:
    post:
      tags:
      - Workflow
      summary: Create or update workflow state.
      operationId: workflowStateSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/state/type:
    post:
      tags:
      - Workflow
      summary: Get available types for workflow state.
      operationId: workflowStateType
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/transition/count:
    post:
      tags:
      - Workflow
      summary: Count workflow transition.
      operationId: workflowTransitionCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/transition/delete:
    post:
      tags:
      - Workflow
      summary: Delete workflow transition.
      operationId: workflowTransitionDelete
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/transition/get:
    post:
      tags:
      - Workflow
      summary: Get workflow transition.
      operationId: workflowTransitionGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/transition/list:
    post:
      tags:
      - Workflow
      summary: List workflow transition.
      operationId: workflowTransitionList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/transition/set:
    post:
      tags:
      - Workflow
      summary: Create or update workflow transition.
      operationId: workflowTransitionSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/type/count:
    post:
      tags:
      - Workflow
      summary: Count workflow type.
      operationId: workflowTypeCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/Count'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/type/delete:
    post:
      tags:
      - Workflow
      summary: Delete workflow type.
      operationId: workflowTypeDelete
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_form'
      responses:
        '200':
          description: Success.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/type/get:
    post:
      tags:
      - Workflow
      summary: Get workflow type.
      operationId: workflowTypeGet
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/get_json'
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/type/list:
    post:
      tags:
      - Workflow
      summary: List workflow type.
      operationId: workflowTypeList
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/list'
      responses:
        '200':
          $ref: '#/components/responses/ListDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /workflow/type/set:
    post:
      tags:
      - Workflow
      summary: Create or update workflow type.
      operationId: workflowTypeSet
      responses:
        '200':
          $ref: '#/components/responses/GetDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        5XX:
          $ref: '#/components/responses/InternalError'
  /charge/info/{connector_id}:
    get:
      tags:
      - Charge
      summary: Get connector state and tariffs for an ad-hoc session.
      description: 'First call of the QR flow. Returns the station name, connector type, power, applicable
        tariffs and the amount that will be held on the card. `Accept-Language` selects the locale of
        the returned labels.

        '
      operationId: chargeInfo
      security: []
      servers: &id001
      - url: https://api.{host}
        description: Self-hosted installation
        variables:
          host:
            default: chargemecar.com
      parameters:
      - name: connector_id
        in: path
        required: true
        description: Connector identifier from the QR code.
        schema:
          type: string
          format: uuid
      - name: Accept-Language
        in: header
        required: false
        description: Two-letter language code; falls back to `en`.
        schema:
          type: string
          example: fr
      responses:
        '200':
          description: Connector is free, or already charging.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/chargeInfo'
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
  /charge/create/{connector_id}:
    post:
      tags:
      - Charge
      summary: Create an ad-hoc payment and start the checkout.
      description: 'Creates the payment holding `hold_amount` and returns the one-time `secret`. A recent
        pending payment for the same connector is reused, in which case no `secret` is issued again. Rejected
        while the charge point is offline or the connector is occupied.

        '
      operationId: chargeCreate
      security: []
      servers: *id001
      parameters:
      - name: connector_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: false
        description: Optional preset limiting the session by energy or by amount.
        content:
          application/json:
            schema:
              type: object
              properties:
                mode:
                  type: integer
                  description: 1 — limit by energy (kWh); 2 — limit by amount.
                  enum:
                  - 1
                  - 2
                value:
                  type: number
                  description: Limit value; must fall inside the allowed hold range.
      responses:
        '200':
          description: 'Payment created (`created`), an existing pending payment reused (`pending`), or
            the connector is already charging (`charging`).

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/chargeCreated'
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
        '503':
          description: Charge point offline, or no payment provider configured.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
  /charge/status/{payment_id}:
    get:
      tags:
      - Charge
      summary: Poll the state of an ad-hoc session.
      description: 'Drives the whole client-side flow: `pending` while the payment is being set up, `redirect`
        once the provider''s checkout URL exists, `charging` with live energy and cost, then `finished`.
        Passing the session `secret` as a Bearer token sets `can_stop`.

        '
      operationId: chargeStatus
      servers: *id001
      security:
      - chargeSecret: []
      - {}
      parameters:
      - name: payment_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Current state of the session.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/chargeStatus'
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
  /charge/stop/{payment_id}:
    post:
      tags:
      - Charge
      summary: Stop an ad-hoc charging session.
      description: 'Sends `RemoteStopTransaction` to the station. The `secret` in the body is checked
        against the one issued at creation — a stranger holding only the payment id cannot stop someone
        else''s session.

        '
      operationId: chargeStop
      security: []
      servers: *id001
      parameters:
      - name: payment_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/chargeSecretBody'
      responses:
        '200':
          description: '`ok` reports whether the stop command was dispatched; it is `false` with a `message`
            when no active session was found.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/chargeAck'
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          description: The supplied secret does not match this payment.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          $ref: '#/components/responses/NotFound'
  /charge/cancel/{payment_id}:
    post:
      tags:
      - Charge
      summary: Cancel an ad-hoc payment before charging starts.
      operationId: chargeCancel
      security: []
      servers: *id001
      parameters:
      - name: payment_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/chargeSecretBody'
      responses:
        '200':
          description: '`ok` is `false` with a `message` when the payment has moved past the point where
            cancelling is possible.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/chargeAck'
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          description: The supplied secret does not match this payment.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          $ref: '#/components/responses/NotFound'
  /stripe/webhook:
    post:
      tags:
      - Webhook
      summary: Stripe event callback.
      description: 'Server-to-server endpoint. The raw body and the `Stripe-Signature` header are preserved
        for signature verification; the request is not session-authenticated. Not intended to be called
        by hand — it is documented so an integrator can see where provider events enter the system.

        '
      operationId: stripeWebhook
      security: []
      servers: *id001
      parameters:
      - name: Stripe-Signature
        in: header
        required: true
        schema:
          type: string
      requestBody:
        required: true
        description: Stripe event object, verbatim.
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Event accepted.
          content:
            application/json:
              schema:
                type: object
  /ocpi/versions:
    get:
      tags:
      - OCPI
      summary: List supported OCPI versions.
      description: Entry point of OCPI version negotiation.
      operationId: ocpiVersions
      security: []
      servers: *id001
      responses:
        '200':
          description: Supported versions and their endpoint-directory URLs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ocpiEnvelope'
  /ocpi/{version}:
    get:
      tags:
      - OCPI
      summary: Endpoint directory for one OCPI version.
      operationId: ocpiVersionDetails
      servers: *id001
      parameters:
      - name: version
        in: path
        required: true
        schema:
          type: string
          enum:
          - 2.2.1
          - 2.3.0
      responses:
        '200':
          description: Modules available in this version, per role.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ocpiEnvelope'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  parameters:
    resultObject:
      in: query
      name: result_object
      required: false
      schema:
        type: string
        enum:
        - true
        - false
      description: Wrap the result in a JSON-object named "result".
    resultFormat:
      in: query
      name: result_format
      required: false
      schema:
        type: string
        enum:
        - object
        - array
        - null
      description: 'All endpoints are returned: JSON-object or JSON-array depending on the number of entries
        in the response. You can change this behavior with this setting.

        '
  responses:
    GetObject:
      description: Object
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/getObject'
    GetDocument:
      description: Document
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/getDocument'
    GetReference:
      description: Reference
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/getReference'
    ListObject:
      description: List of objects.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/listObject'
    ListDocument:
      description: List of documents.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/listDocument'
    ListReference:
      description: List of references.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/listReference'
    Count:
      description: Number of matching records.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/count'
    BadRequest:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
    NotFound:
      description: The specified resource was not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
    InternalError:
      description: Internal error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
  schemas:
    type:
      type: object
      properties:
        id:
          type: string
          format: uuid
        entity:
          type: string
          format: uuid
        entitycode:
          type: string
        entityname:
          type: string
        class:
          type: string
          format: uuid
        classcode:
          type: string
        classlabel:
          type: string
        code:
          type: string
        name:
          type: string
        description:
          type: string
    method:
      type: object
      properties:
        id:
          type: string
          format: uuid
        parent:
          type: string
          format: uuid
          example: null
        entity:
          type: string
          format: uuid
        entitycode:
          type: string
        entityname:
          type: string
        class:
          type: string
          format: uuid
        classcode:
          type: string
        classlabel:
          type: string
        state:
          type: string
          format: uuid
        statecode:
          type: string
        statelabel:
          type: string
        action:
          type: string
          format: uuid
        actioncode:
          type: string
        actionname:
          type: string
        code:
          type: string
        label:
          type: string
        sequence:
          type: integer
        visible:
          type: boolean
    methodId:
      type: object
      required:
      - id
      properties:
        id:
          type: string
          format: uuid
    setPandoraMemory:
      type: object
      properties:
        chargepoint:
          type: string
          format: uuid
        messageid:
          type: integer
          format: int32
        data:
          type: string
    getObject:
      type: object
      properties:
        id:
          type: string
          format: uuid
        parent:
          type: string
          format: uuid
          nullable: true
        entity:
          type: string
          format: uuid
        entitycode:
          type: string
        entityname:
          type: string
        entitydescription:
          type: string
          nullable: true
        class:
          type: string
          format: uuid
        classcode:
          type: string
        classlabel:
          type: string
        type:
          type: string
          format: uuid
        typecode:
          type: string
        typename:
          type: string
        typedescription:
          type: string
          nullable: true
        label:
          type: string
          nullable: true
        statetype:
          type: string
          format: uuid
        statetypecode:
          type: string
        statetypename:
          type: string
        state:
          type: string
          format: uuid
        statecode:
          type: string
        statelabel:
          type: string
        lastupdate:
          type: string
          format: date-time
        owner:
          type: string
          format: uuid
        ownercode:
          type: string
        ownername:
          type: string
        created:
          type: string
          format: date-time
        oper:
          type: string
          format: uuid
        opercode:
          type: string
        opername:
          type: string
        operdate:
          type: string
          format: date-time
        scope:
          type: string
          format: uuid
        scopecode:
          type: string
        scopename:
          type: string
        scopedescription:
          type: string
          nullable: true
    getDocument:
      allOf:
      - $ref: '#/components/schemas/getObject'
      - type: object
        properties:
          area:
            type: string
            format: uuid
          areacode:
            type: string
          areaname:
            type: string
          areadescription:
            type: string
            nullable: true
    getReference:
      allOf:
      - $ref: '#/components/schemas/getObject'
      - type: object
        properties:
          code:
            type: string
          name:
            type: string
            nullable: true
          description:
            type: string
            nullable: true
    listObject:
      type: array
      description: List of objects.
      items:
        $ref: '#/components/schemas/getObject'
    listDocument:
      type: array
      description: List of documents.
      items:
        $ref: '#/components/schemas/getDocument'
    listReference:
      type: array
      description: List of references.
      items:
        $ref: '#/components/schemas/getReference'
    set:
      type: object
      properties:
        id:
          type: string
          format: uuid
          example: null
        type:
          type: string
          format: uuid
          example: null
    get_form:
      type: object
      required:
      - id
      properties:
        id:
          type: string
          format: uuid
    get_json:
      type: object
      required:
      - id
      properties:
        id:
          type: string
          format: uuid
        fields:
          type: object
          example: null
          description: Field list.
    SignIn:
      type: object
      required:
      - username
      - password
      properties:
        username:
          type: string
          description: Username or personal code.
        password:
          type: string
          description: Password. If `username` is a personal code, then pass the SHA1(secret) hash of
            the user's secret code to `password`.
        agent:
          type: string
          description: Ignored. User agent (browser). The value is set by the system.
        host:
          type: string
          format: ipv4
          description: Ignored. IP address. The value is set by the system.
    SignOut:
      type: object
      properties:
        session:
          type: string
          description: Session code.
        closeall:
          type: boolean
          description: Close all sessions.
    list:
      type: object
      properties:
        fields:
          type: object
          description: List of fields. If not specified, will return all available fields.
          example: '["field1", "field2", "field3"]

            '
        search:
          type: object
          properties:
            condition:
              type: string
              enum:
              - AND
              - OR
              default: AND
              description: Condition.
            field:
              type: string
              description: The name of the field to which the condition applies.
            compare:
              type: string
              enum:
              - EQL
              - NEQ
              - LSS
              - LEQ
              - GTR
              - GEQ
              - GIN
              - AND
              - OR
              - XOR
              - NOT
              - ISN
              - INN
              - LKE
              - IKE
              - SIM
              - PSX
              - PSI
              - PSN
              - PIN
              default: EQL
              description: Comparison.
            value:
              type: string
              description: The name of the field to which the condition applies.
            valarr:
              type: object
              description: Lookup values, specified as an array. If the valarr key is specified, then
                the `compare` and `value` keys are ignored.
            lstr:
              type: string
              description: Left parenthesis.
            rstr:
              type: string
              description: Right parenthesis.
          description: Conditions for data selection.
          example: '[{"field": "apartment", "compare": "GEQ", "value": "5"}]

            '
        filter:
          type: object
          description: Filter for selecting data in the form of a key/value pair. The key is the name
            of the field. filter is a short form of search.
          example: '{"object": "00000000-0000-4000-a000-000000000000", "code": "default"}

            '
        reclimit:
          type: integer
          description: 'Returns no more than the specified number of rows (may be less if the query itself
            returned fewer rows). To make reclimit publicly available, you must pass a value <= 0. To
            send /endpoint/count, the reclimit: 0 condition is made automatically.

            '
          default: 500
        recoffset:
          type: integer
          description: Skips the specified number of rows in the query.
        orderby:
          type: object
          description: Sort order (array of fields). ASC and DESC are allowed.
          example: '["field1", "field2 ASC", "field3 DESC"]

            '
      example:
        reclimit: 50
      description: Query.
    response:
      type: object
      required:
      - error
      properties:
        error:
          type: object
          required:
          - code
          - message
          properties:
            code:
              type: integer
              format: int32
              description: HTTP status code.
            error:
              type: string
              description: 'Machine-readable error code in ERR-GGG-CCC form, where GGG is the HTTP status
                group. Present on most error paths.

                '
              example: ERR-400-001
            message:
              type: string
              description: 'Human-readable description, localised to the session locale.

                '
    count:
      type: object
      properties:
        count:
          type: integer
          format: int32
          example: 0
    error:
      type: object
      required:
      - error
      properties:
        error:
          type: object
          required:
          - code
          - message
          properties:
            code:
              type: integer
              format: int32
              description: HTTP status code.
            error:
              type: string
              description: 'Machine-readable error code in ERR-GGG-CCC form, where GGG is the HTTP status
                group. Present on most error paths.

                '
              example: ERR-400-001
            message:
              type: string
              description: 'Human-readable description, localised to the session locale.

                '
    chargeInfo:
      type: object
      properties:
        status:
          type: string
          description: '`available` / `charging` / `unavailable`.'
        station_name:
          type: string
        identity:
          type: string
          description: Station identity as registered over OCPP.
        connector_id:
          type: string
        connector_type:
          type: string
          description: Type 2, CCS2, CHAdeMO, …
        power_kw:
          type: number
        mode:
          type: string
          description: Charging-speed class the tariff and hold are derived from.
        hold_amount:
          type: number
          description: Amount authorised on the card before charging starts.
        currency:
          type: string
          example: eur
        tariffs:
          type: array
          items:
            type: object
            properties:
              service:
                type: string
              unit:
                type: string
              price:
                type: number
              price_max:
                type: number
              currency:
                type: string
    chargeCreated:
      type: object
      properties:
        status:
          type: string
          description: '`created` / `pending` / `charging`.'
        payment_id:
          type: string
          format: uuid
        secret:
          type: string
          description: 'Issued once, on `created` only. Store it — it is the only proof of ownership of
            this session and cannot be re-requested.

            '
        poll_url:
          type: string
          example: /charge/status/2f1c…
        message:
          type: string
    chargeStatus:
      type: object
      properties:
        status:
          type: string
          description: '`pending` / `redirect` / `charging` / `finished` / `cancelled` / `failed` / `unknown`.'
        redirect_url:
          type: string
          description: Provider checkout URL; present when status is `redirect`.
        energy_kwh:
          type: number
        cost:
          type: number
        duration_min:
          type: number
        power_kw:
          type: number
        currency:
          type: string
        can_stop:
          type: boolean
          description: True when the request carried the correct session secret.
    chargeSecretBody:
      type: object
      required:
      - secret
      properties:
        secret:
          type: string
          description: Session secret issued by `POST /charge/create`.
    chargeAck:
      type: object
      properties:
        ok:
          type: boolean
        message:
          type: string
          description: Present when `ok` is false.
    ocpiEnvelope:
      type: object
      description: Standard OCPI response envelope.
      properties:
        data:
          description: Module-specific payload.
        status_code:
          type: integer
          example: 1000
        status_message:
          type: string
        timestamp:
          type: string
          format: date-time
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth 2.0. The grants shown below are the ones usable from a browser; the installation
        also supports client-credentials, refresh-token and device grants.
      flows:
        authorizationCode:
          authorizationUrl: https://api.chargemecar.com/oauth2/authorize
          tokenUrl: https://api.chargemecar.com/oauth2/token
          refreshUrl: https://api.chargemecar.com/oauth2/token
          scopes:
            chargemecar: default
        password:
          tokenUrl: https://api.chargemecar.com/oauth2/token
          scopes:
            chargemecar: default
        implicit:
          authorizationUrl: https://api.chargemecar.com/oauth2/authorize
          scopes:
            chargemecar: default
    chargeSecret:
      type: http
      scheme: bearer
      description: 'The one-time session secret returned by `POST /charge/create`. Not a platform access
        token — it only proves ownership of one ad-hoc session.

        '
    ocpiToken:
      type: apiKey
      in: header
      name: Authorization
      description: OCPI credentials token, sent as `Token <credentials-token>`.
security:
- oauth2:
  - chargemecar
