openapi: 3.1.1
info:
  title: SteadyDo REST API
  version: 1.0.0-draft
  summary: Operate a personal SteadyDo workspace through product-level REST operations.
  description: |
    The canonical API v1 contract. SteadyDo tracks personal repeatable processes,
    standalone tasks, lightweight company context, and Orders. Template edits affect
    future tracked items unless an explicit previewed scoped application is confirmed.
    This draft is not production-certified until the parity and documentation launch gates pass.
  contact:
    name: SteadyDo API support
    url: /api/docs/support
  license:
    name: Proprietary
  x-contract-sha256: ab411bf8333e2bd73d52fe60e6642f1016869e389ca9873e7202f522895ed00c
externalDocs:
  description: Human-friendly API reference and guides
  url: /api/docs
servers:
  - url: /api/v1
    description: Same-origin stable API v1
security:
  - bearerApiKey: []
tags:
  - name: Getting started
  - name: Capabilities and workspace
  - name: Home and queues
  - name: Standalone tasks
  - name: Companies
  - name: Company configuration
  - name: Processes
  - name: Process fields and views
  - name: Process templates
  - name: Process items
  - name: Process-item workflow
  - name: Orders
  - name: Order workflow
  - name: Archive and history
  - name: API keys
  - name: Export
paths:
  /capabilities:
    get:
      operationId: getCapabilities
      tags:
        - Getting started
        - Capabilities and workspace
      summary: Discover API version, features, limits, held scopes, and documentation links.
      x-parity-id: API-010
      x-stability: stable
      x-scopes:
        - workspace:read
      x-destructive: false
      responses:
        "200":
          description: Exact getCapabilities result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - apiVersion
                      - stability
                      - heldScopes
                      - operations
                      - limits
                      - links
                    properties:
                      apiVersion:
                        type: string
                      stability:
                        type: string
                      heldScopes:
                        type: array
                        items:
                          type: string
                      operations:
                        type: array
                        items:
                          type: object
                          additionalProperties: true
                      limits:
                        type: object
                        required:
                          - maximumPageSize
                          - requestBodyBytes
                        properties:
                          maximumPageSize:
                            type: integer
                          requestBodyBytes:
                            type: integer
                        additionalProperties: false
                      links:
                        type: object
                        required:
                          - documentation
                          - openapi
                          - llms
                          - quickstart
                          - changelog
                          - support
                        properties:
                          documentation:
                            type: string
                          openapi:
                            type: string
                          llms:
                            type: string
                          quickstart:
                            type: string
                          changelog:
                            type: string
                          support:
                            type: string
                        additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "401":
          $ref: "#/components/responses/Unauthorized"
        "429":
          $ref: "#/components/responses/RateLimited"
        "503":
          $ref: "#/components/responses/Unavailable"
  /workspace/summary:
    get:
      operationId: getWorkspaceSummary
      tags:
        - Capabilities and workspace
      summary: Read a bounded orientation summary; follow collection links for complete data.
      x-parity-id: API-035
      x-stability: stable
      x-scopes:
        - workspace:read
      x-destructive: false
      responses:
        "200":
          description: Exact getWorkspaceSummary result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - counts
                      - processes
                      - updatedAt
                    properties:
                      counts:
                        type: object
                        required:
                          - processes
                          - companies
                          - processItems
                          - standaloneTasks
                          - orders
                        properties:
                          processes:
                            type: integer
                          companies:
                            type: integer
                          processItems:
                            type: integer
                          standaloneTasks:
                            type: integer
                          orders:
                            type: integer
                        additionalProperties: false
                      processes:
                        type: array
                        items:
                          type: object
                          additionalProperties: true
                      updatedAt:
                        type: string
                        format: date-time
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "401":
          $ref: "#/components/responses/Unauthorized"
        "403":
          $ref: "#/components/responses/Forbidden"
  /workspace/export:
    get:
      operationId: exportWorkspace
      tags:
        - Export
      summary: Export all owner content and history, excluding secrets and operational records.
      x-parity-id: API-114
      x-stability: beta
      x-scopes:
        - workspace:read
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/Limit"
      responses:
        "200":
          description: Exact exportWorkspace result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - items
                      - nextCursor
                      - complete
                    properties:
                      items:
                        type: array
                        items:
                          type: object
                          additionalProperties: true
                      nextCursor:
                        type:
                          - string
                          - "null"
                      complete:
                        type: boolean
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "401":
          $ref: "#/components/responses/Unauthorized"
        "413":
          $ref: "#/components/responses/PayloadTooLarge"
        "429":
          $ref: "#/components/responses/RateLimited"
  /home:
    get:
      operationId: getHome
      tags:
        - Home and queues
      summary: Read the current cross-process Home projection.
      x-parity-id: API-037
      x-stability: stable
      x-scopes:
        - workspace:read
      x-destructive: false
      responses:
        "200":
          description: Exact getHome result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - counts
                      - processes
                      - updatedAt
                      - companies
                      - standaloneTasks
                      - nextActions
                      - recentActivity
                    properties:
                      counts: {}
                      processes:
                        type: array
                        items:
                          type: object
                          additionalProperties: true
                      updatedAt:
                        type: string
                        format: date-time
                      companies:
                        type: array
                        items:
                          type: object
                          additionalProperties: true
                      standaloneTasks:
                        type: array
                        items:
                          type: object
                          additionalProperties: true
                      nextActions:
                        type: array
                        items:
                          type: object
                          additionalProperties: true
                      recentActivity:
                        type: array
                        items:
                          type: object
                          additionalProperties: true
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "401":
          $ref: "#/components/responses/Unauthorized"
  /next-up:
    get:
      operationId: getNextUp
      tags:
        - Home and queues
      summary: Read typed next actions; mutate their canonical resources, not this projection.
      x-parity-id: API-038
      x-stability: stable
      x-scopes:
        - workspace:read
      x-destructive: false
      responses:
        "200":
          description: Exact getNextUp result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - items
                      - nextCursor
                    properties:
                      items:
                        type: array
                        items:
                          type: object
                          additionalProperties: true
                      nextCursor:
                        type:
                          - string
                          - "null"
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "401":
          $ref: "#/components/responses/Unauthorized"
  /attention:
    get:
      operationId: getAttention
      tags:
        - Home and queues
      summary: Read work needing attention with reason, severity, and due metadata.
      x-parity-id: API-039
      x-stability: stable
      x-scopes:
        - workspace:read
      x-destructive: false
      responses:
        "200":
          description: Exact getAttention result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - items
                      - nextCursor
                    properties:
                      items:
                        type: array
                        items:
                          type: object
                          additionalProperties: true
                      nextCursor:
                        type:
                          - string
                          - "null"
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "401":
          $ref: "#/components/responses/Unauthorized"
  /completed:
    get:
      operationId: listCompletedActivity
      tags:
        - Home and queues
        - Archive and history
      summary: List completed work with cursor pagination.
      x-parity-id: API-040
      x-stability: stable
      x-scopes:
        - workspace:read
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/Limit"
      responses:
        "200":
          description: Cursor-paginated activity entries.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - items
                      - nextCursor
                    properties:
                      items:
                        type: array
                        items:
                          type: object
                          additionalProperties: true
                      nextCursor:
                        type:
                          - string
                          - "null"
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "400":
          $ref: "#/components/responses/BadRequest"
        "401":
          $ref: "#/components/responses/Unauthorized"
  /weekly:
    get:
      operationId: getWeeklyActivity
      tags:
        - Home and queues
        - Archive and history
      summary: Read activity for an explicit local calendar week.
      x-parity-id: API-041
      x-stability: stable
      x-scopes:
        - workspace:read
      x-destructive: false
      parameters:
        - name: week
          in: query
          schema:
            type: string
            format: date
          description: Any date in the requested user-timezone week.
      responses:
        "200":
          description: Cursor-paginated activity entries.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - items
                      - nextCursor
                    properties:
                      items:
                        type: array
                        items:
                          type: object
                          additionalProperties: true
                      nextCursor:
                        type:
                          - string
                          - "null"
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "400":
          $ref: "#/components/responses/BadRequest"
        "401":
          $ref: "#/components/responses/Unauthorized"
  /api-keys:
    get:
      operationId: listApiKeys
      tags:
        - API keys
      summary: List key metadata without secrets or hashes; last-use data is debounced.
      x-parity-id: API-013
      x-stability: stable
      x-scopes:
        - keys:manage
      x-destructive: false
      responses:
        "200":
          description: API keys.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      required:
                        - id
                        - label
                        - prefix
                        - fingerprint
                        - scopes
                        - status
                        - createdAt
                      properties:
                        id:
                          type: string
                        label:
                          type: string
                        prefix:
                          type: string
                        fingerprint:
                          type: string
                        scopes:
                          type: array
                          items:
                            type: string
                        status:
                          type: string
                          enum:
                            - active
                            - retiring
                            - revoked
                        createdAt:
                          type: string
                          format: date-time
                        expiresAt:
                          type: string
                          format: date-time
                        lastUsedAt:
                          type: string
                          format: date-time
                          description: Debounced approximate last use.
                        lastUsedRequestId:
                          type: string
                        revokedAt:
                          type: string
                          format: date-time
                        revocationScheduledAt:
                          type: string
                          format: date-time
                        revokedReason:
                          type: string
                        rotatedFromId:
                          type: string
                        rotatedToId:
                          type: string
                      additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "401":
          $ref: "#/components/responses/Unauthorized"
        "403":
          $ref: "#/components/responses/Forbidden"
    post:
      operationId: createApiKey
      tags:
        - API keys
      summary: Create a preserve-or-narrow successor and return its secret once.
      description: Requested scopes must be a subset of the caller's scopes and expiry cannot exceed the caller's expiry. Committed idempotency never stores a reusable plaintext secret.
      x-parity-id: API-014
      x-stability: stable
      x-scopes:
        - keys:manage
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - label
              properties:
                label:
                  type: string
                  minLength: 1
                  maxLength: 200
                scopes:
                  type: array
                  minItems: 1
                  uniqueItems: true
                  items:
                    type: string
                    enum:
                      - workspace:read
                      - workspace:write
                      - config:write
                      - archive:write
                      - destructive:write
                      - keys:manage
                expiresAt:
                  $ref: "#/components/schemas/Instant"
              additionalProperties: false
            example:
              label: Automation replacement
              scopes:
                - workspace:read
              expiresAt: 2026-09-17T00:00:00Z
      responses:
        "201":
          description: API key and one-time secret.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    oneOf:
                      - type: object
                        required:
                          - secret
                          - key
                        properties:
                          secret:
                            type: string
                            writeOnly: true
                          key:
                            type: object
                            required:
                              - id
                              - label
                              - prefix
                              - fingerprint
                              - scopes
                              - status
                              - createdAt
                            properties:
                              id:
                                type: string
                              label:
                                type: string
                              prefix:
                                type: string
                              fingerprint:
                                type: string
                              scopes:
                                type: array
                                items:
                                  type: string
                              status:
                                type: string
                                enum:
                                  - active
                                  - retiring
                                  - revoked
                              createdAt:
                                type: string
                                format: date-time
                              expiresAt:
                                type: string
                                format: date-time
                              lastUsedAt:
                                type: string
                                format: date-time
                                description: Debounced approximate last use.
                              lastUsedRequestId:
                                type: string
                              revokedAt:
                                type: string
                                format: date-time
                              revocationScheduledAt:
                                type: string
                                format: date-time
                              revokedReason:
                                type: string
                              rotatedFromId:
                                type: string
                              rotatedToId:
                                type: string
                            additionalProperties: false
                        additionalProperties: false
                      - type: object
                        required:
                          - secretUnavailable
                          - key
                        properties:
                          secretUnavailable:
                            type: boolean
                            const: true
                          key:
                            type: object
                            required:
                              - id
                              - label
                              - prefix
                              - fingerprint
                              - scopes
                              - status
                              - createdAt
                            properties:
                              id:
                                type: string
                              label:
                                type: string
                              prefix:
                                type: string
                              fingerprint:
                                type: string
                              scopes:
                                type: array
                                items:
                                  type: string
                              status:
                                type: string
                                enum:
                                  - active
                                  - retiring
                                  - revoked
                              createdAt:
                                type: string
                                format: date-time
                              expiresAt:
                                type: string
                                format: date-time
                              lastUsedAt:
                                type: string
                                format: date-time
                                description: Debounced approximate last use.
                              lastUsedRequestId:
                                type: string
                              revokedAt:
                                type: string
                                format: date-time
                              revocationScheduledAt:
                                type: string
                                format: date-time
                              revokedReason:
                                type: string
                              rotatedFromId:
                                type: string
                              rotatedToId:
                                type: string
                            additionalProperties: false
                        additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "401":
          $ref: "#/components/responses/Unauthorized"
        "403":
          $ref: "#/components/responses/Forbidden"
        "409":
          $ref: "#/components/responses/Conflict"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /api-keys/{apiKeyId}:
    parameters:
      - $ref: "#/components/parameters/ApiKeyId"
    get:
      operationId: getApiKey
      tags:
        - API keys
      summary: Get safe key status, scopes, expiry, fingerprint, and approximate last use.
      x-parity-id: API-013
      x-stability: stable
      x-scopes:
        - keys:manage
      x-destructive: false
      responses:
        "200":
          description: Safe API-key metadata.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - label
                      - prefix
                      - fingerprint
                      - scopes
                      - status
                      - createdAt
                    properties:
                      id:
                        type: string
                      label:
                        type: string
                      prefix:
                        type: string
                      fingerprint:
                        type: string
                      scopes:
                        type: array
                        items:
                          type: string
                      status:
                        type: string
                        enum:
                          - active
                          - retiring
                          - revoked
                      createdAt:
                        type: string
                        format: date-time
                      expiresAt:
                        type: string
                        format: date-time
                      lastUsedAt:
                        type: string
                        format: date-time
                        description: Debounced approximate last use.
                      lastUsedRequestId:
                        type: string
                      revokedAt:
                        type: string
                        format: date-time
                      revocationScheduledAt:
                        type: string
                        format: date-time
                      revokedReason:
                        type: string
                      rotatedFromId:
                        type: string
                      rotatedToId:
                        type: string
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "401":
          $ref: "#/components/responses/Unauthorized"
        "403":
          $ref: "#/components/responses/Forbidden"
        "404":
          $ref: "#/components/responses/NotFound"
  /api-keys/{apiKeyId}/revoke:
    parameters:
      - $ref: "#/components/parameters/ApiKeyId"
    post:
      operationId: revokeApiKey
      tags:
        - API keys
      summary: Immediately revoke an API key.
      x-parity-id: API-015
      x-stability: stable
      x-scopes:
        - keys:manage
      x-destructive: true
      parameters:
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                reason:
                  type: string
                  maxLength: 500
              additionalProperties: false
            example:
              reason: Rotated after automation maintenance
      responses:
        "200":
          description: Safe API-key metadata.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - label
                      - prefix
                      - fingerprint
                      - scopes
                      - status
                      - createdAt
                    properties:
                      id:
                        type: string
                      label:
                        type: string
                      prefix:
                        type: string
                      fingerprint:
                        type: string
                      scopes:
                        type: array
                        items:
                          type: string
                      status:
                        type: string
                        enum:
                          - active
                          - retiring
                          - revoked
                      createdAt:
                        type: string
                        format: date-time
                      expiresAt:
                        type: string
                        format: date-time
                      lastUsedAt:
                        type: string
                        format: date-time
                        description: Debounced approximate last use.
                      lastUsedRequestId:
                        type: string
                      revokedAt:
                        type: string
                        format: date-time
                      revocationScheduledAt:
                        type: string
                        format: date-time
                      revokedReason:
                        type: string
                      rotatedFromId:
                        type: string
                      rotatedToId:
                        type: string
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "401":
          $ref: "#/components/responses/Unauthorized"
        "403":
          $ref: "#/components/responses/Forbidden"
        "404":
          $ref: "#/components/responses/NotFound"
        "409":
          $ref: "#/components/responses/Conflict"
  /api-keys/{apiKeyId}/rotate:
    parameters:
      - $ref: "#/components/parameters/ApiKeyId"
    post:
      operationId: rotateApiKey
      tags:
        - API keys
      summary: Create a bounded successor and revoke the old key atomically or after explicit overlap.
      description: The successor preserves or narrows scopes and expires no later than the caller. Copy the one-time secret before ending overlap.
      x-parity-id: API-015
      x-stability: stable
      x-scopes:
        - keys:manage
      x-destructive: true
      parameters:
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                label:
                  type: string
                  minLength: 1
                  maxLength: 200
                scopes:
                  type: array
                  minItems: 1
                  uniqueItems: true
                  items:
                    type: string
                    enum:
                      - workspace:read
                      - workspace:write
                      - config:write
                      - archive:write
                      - destructive:write
                      - keys:manage
                expiresAt:
                  $ref: "#/components/schemas/Instant"
                overlapSeconds:
                  type: integer
                  minimum: 0
                  maximum: 3600
                  default: 0
              additionalProperties: false
            example:
              overlapSeconds: 300
      responses:
        "200":
          description: Rotated API key, one-time secret, and predecessor.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    oneOf:
                      - type: object
                        required:
                          - secret
                          - key
                          - predecessor
                        properties:
                          secret:
                            type: string
                            writeOnly: true
                          key:
                            type: object
                            required:
                              - id
                              - label
                              - prefix
                              - fingerprint
                              - scopes
                              - status
                              - createdAt
                            properties:
                              id:
                                type: string
                              label:
                                type: string
                              prefix:
                                type: string
                              fingerprint:
                                type: string
                              scopes:
                                type: array
                                items:
                                  type: string
                              status:
                                type: string
                                enum:
                                  - active
                                  - retiring
                                  - revoked
                              createdAt:
                                type: string
                                format: date-time
                              expiresAt:
                                type: string
                                format: date-time
                              lastUsedAt:
                                type: string
                                format: date-time
                                description: Debounced approximate last use.
                              lastUsedRequestId:
                                type: string
                              revokedAt:
                                type: string
                                format: date-time
                              revocationScheduledAt:
                                type: string
                                format: date-time
                              revokedReason:
                                type: string
                              rotatedFromId:
                                type: string
                              rotatedToId:
                                type: string
                            additionalProperties: false
                          predecessor:
                            type: object
                            required:
                              - id
                              - label
                              - prefix
                              - fingerprint
                              - scopes
                              - status
                              - createdAt
                            properties:
                              id:
                                type: string
                              label:
                                type: string
                              prefix:
                                type: string
                              fingerprint:
                                type: string
                              scopes:
                                type: array
                                items:
                                  type: string
                              status:
                                type: string
                                enum:
                                  - active
                                  - retiring
                                  - revoked
                              createdAt:
                                type: string
                                format: date-time
                              expiresAt:
                                type: string
                                format: date-time
                              lastUsedAt:
                                type: string
                                format: date-time
                                description: Debounced approximate last use.
                              lastUsedRequestId:
                                type: string
                              revokedAt:
                                type: string
                                format: date-time
                              revocationScheduledAt:
                                type: string
                                format: date-time
                              revokedReason:
                                type: string
                              rotatedFromId:
                                type: string
                              rotatedToId:
                                type: string
                            additionalProperties: false
                        additionalProperties: false
                      - type: object
                        required:
                          - secretUnavailable
                          - key
                          - predecessor
                        properties:
                          secretUnavailable:
                            type: boolean
                            const: true
                          key:
                            type: object
                            required:
                              - id
                              - label
                              - prefix
                              - fingerprint
                              - scopes
                              - status
                              - createdAt
                            properties:
                              id:
                                type: string
                              label:
                                type: string
                              prefix:
                                type: string
                              fingerprint:
                                type: string
                              scopes:
                                type: array
                                items:
                                  type: string
                              status:
                                type: string
                                enum:
                                  - active
                                  - retiring
                                  - revoked
                              createdAt:
                                type: string
                                format: date-time
                              expiresAt:
                                type: string
                                format: date-time
                              lastUsedAt:
                                type: string
                                format: date-time
                                description: Debounced approximate last use.
                              lastUsedRequestId:
                                type: string
                              revokedAt:
                                type: string
                                format: date-time
                              revocationScheduledAt:
                                type: string
                                format: date-time
                              revokedReason:
                                type: string
                              rotatedFromId:
                                type: string
                              rotatedToId:
                                type: string
                            additionalProperties: false
                          predecessor:
                            type: object
                            required:
                              - id
                              - label
                              - prefix
                              - fingerprint
                              - scopes
                              - status
                              - createdAt
                            properties:
                              id:
                                type: string
                              label:
                                type: string
                              prefix:
                                type: string
                              fingerprint:
                                type: string
                              scopes:
                                type: array
                                items:
                                  type: string
                              status:
                                type: string
                                enum:
                                  - active
                                  - retiring
                                  - revoked
                              createdAt:
                                type: string
                                format: date-time
                              expiresAt:
                                type: string
                                format: date-time
                              lastUsedAt:
                                type: string
                                format: date-time
                                description: Debounced approximate last use.
                              lastUsedRequestId:
                                type: string
                              revokedAt:
                                type: string
                                format: date-time
                              revocationScheduledAt:
                                type: string
                                format: date-time
                              revokedReason:
                                type: string
                              rotatedFromId:
                                type: string
                              rotatedToId:
                                type: string
                            additionalProperties: false
                        additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "401":
          $ref: "#/components/responses/Unauthorized"
        "403":
          $ref: "#/components/responses/Forbidden"
        "404":
          $ref: "#/components/responses/NotFound"
        "409":
          $ref: "#/components/responses/Conflict"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /tasks:
    get:
      operationId: listTasks
      tags:
        - Standalone tasks
      summary: List standalone tasks with supported filters and stable cursor pagination.
      x-parity-id: API-043
      x-stability: stable
      x-scopes:
        - workspace:read
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/Limit"
        - name: status
          in: query
          schema:
            type: string
            enum:
              - open
              - completed
              - archived
        - name: companyId
          in: query
          schema:
            $ref: "#/components/schemas/OpaqueId"
      responses:
        "200":
          description: Cursor-paginated standalone tasks.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - items
                      - nextCursor
                    properties:
                      items:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - title
                            - notes
                            - companyId
                            - company
                            - dueDate
                            - dueTime
                            - status
                            - pinned
                            - archived
                            - archivedAt
                            - completedAt
                            - createdAt
                            - updatedAt
                            - version
                            - checklistItems
                            - checklistSummary
                          properties:
                            id:
                              type: string
                            title:
                              type: string
                            notes:
                              type: string
                            companyId:
                              type:
                                - string
                                - "null"
                            company:
                              type:
                                - object
                                - "null"
                              required:
                                - id
                                - name
                                - code
                              properties:
                                id:
                                  type: string
                                name:
                                  type: string
                                code:
                                  type: string
                              additionalProperties: false
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            dueTime:
                              type:
                                - string
                                - "null"
                            status:
                              type: string
                              enum:
                                - active
                                - completed
                            pinned:
                              type: boolean
                            archived:
                              type: boolean
                            archivedAt:
                              type: string
                              format: date-time
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                            checklistItems:
                              type: array
                              items:
                                type: object
                                required:
                                  - id
                                  - text
                                  - position
                                  - completed
                                  - createdAt
                                  - updatedAt
                                  - version
                                properties:
                                  id:
                                    type: string
                                  text:
                                    type: string
                                  position:
                                    type: integer
                                    minimum: 0
                                  completed:
                                    type: boolean
                                  completedAt:
                                    type: string
                                    format: date-time
                                  createdAt:
                                    type: string
                                    format: date-time
                                  updatedAt:
                                    type: string
                                    format: date-time
                                  version:
                                    type: integer
                                    minimum: 1
                                additionalProperties: false
                            checklistSummary:
                              type: object
                              required:
                                - completed
                                - total
                              properties:
                                completed:
                                  type: integer
                                  minimum: 0
                                total:
                                  type: integer
                                  minimum: 0
                              additionalProperties: false
                          additionalProperties: false
                      nextCursor:
                        type:
                          - string
                          - "null"
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "400":
          $ref: "#/components/responses/BadRequest"
        "401":
          $ref: "#/components/responses/Unauthorized"
    post:
      operationId: createTask
      tags:
        - Standalone tasks
      summary: Create standalone work with optional company, schedule, notes, and checklist.
      x-parity-id: API-044
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - title
              properties:
                title:
                  type: string
                  minLength: 1
                  maxLength: 200
                notes:
                  type: string
                  maxLength: 20000
                companyId:
                  $ref: "#/components/schemas/OpaqueId"
                dueDate:
                  $ref: "#/components/schemas/LocalDate"
                dueTime:
                  type: string
                  pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
                checklistItems:
                  type: array
                  maxItems: 250
                  items:
                    type: object
                    required:
                      - text
                    properties:
                      _id:
                        $ref: "#/components/schemas/OpaqueId"
                      text:
                        type: string
                        minLength: 1
                        maxLength: 500
                      completed:
                        type: boolean
                    additionalProperties: false
              additionalProperties: false
            example:
              title: Book photographer
              dueDate: 2026-08-25
              checklistItems:
                - text: Confirm availability
      responses:
        "201":
          description: Standalone task created.
          headers:
            Location:
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - title
                      - notes
                      - companyId
                      - company
                      - dueDate
                      - dueTime
                      - status
                      - pinned
                      - archived
                      - archivedAt
                      - completedAt
                      - createdAt
                      - updatedAt
                      - version
                      - checklistItems
                      - checklistSummary
                    properties:
                      id:
                        type: string
                      title:
                        type: string
                      notes:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      company:
                        type:
                          - object
                          - "null"
                        required:
                          - id
                          - name
                          - code
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                          code:
                            type: string
                        additionalProperties: false
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      dueTime:
                        type:
                          - string
                          - "null"
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      pinned:
                        type: boolean
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      checklistItems:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - text
                            - position
                            - completed
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            text:
                              type: string
                            position:
                              type: integer
                              minimum: 0
                            completed:
                              type: boolean
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      checklistSummary:
                        type: object
                        required:
                          - completed
                          - total
                        properties:
                          completed:
                            type: integer
                            minimum: 0
                          total:
                            type: integer
                            minimum: 0
                        additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "401":
          $ref: "#/components/responses/Unauthorized"
        "403":
          $ref: "#/components/responses/Forbidden"
        "409":
          $ref: "#/components/responses/Conflict"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /tasks/reorder:
    post:
      operationId: reorderTasks
      tags:
        - Standalone tasks
      summary: Reorder selected standalone tasks without patching internal positions.
      x-parity-id: API-045
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - taskIds
              properties:
                taskIds:
                  type: array
                  minItems: 1
                  maxItems: 100
                  uniqueItems: true
                  items:
                    $ref: "#/components/schemas/OpaqueId"
                expectedVersions:
                  type: object
                  additionalProperties:
                    type: integer
                    minimum: 1
              additionalProperties: false
            example:
              taskIds:
                - tsk_book_photographer
              expectedVersions:
                tsk_book_photographer: 3
      responses:
        "200":
          description: Reorder summary.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - reordered
                    properties:
                      reordered:
                        type: integer
                        minimum: 0
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /tasks/{taskId}:
    parameters:
      - $ref: "#/components/parameters/TaskId"
    get:
      operationId: getTask
      tags:
        - Standalone tasks
      summary: Get a standalone task, checklist, history links, and allowed actions.
      x-parity-id: API-043
      x-stability: stable
      x-scopes:
        - workspace:read
      x-destructive: false
      responses:
        "200":
          description: Standalone task.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - title
                      - notes
                      - companyId
                      - company
                      - dueDate
                      - dueTime
                      - status
                      - pinned
                      - archived
                      - archivedAt
                      - completedAt
                      - createdAt
                      - updatedAt
                      - version
                      - checklistItems
                      - checklistSummary
                    properties:
                      id:
                        type: string
                      title:
                        type: string
                      notes:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      company:
                        type:
                          - object
                          - "null"
                        required:
                          - id
                          - name
                          - code
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                          code:
                            type: string
                        additionalProperties: false
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      dueTime:
                        type:
                          - string
                          - "null"
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      pinned:
                        type: boolean
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      checklistItems:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - text
                            - position
                            - completed
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            text:
                              type: string
                            position:
                              type: integer
                              minimum: 0
                            completed:
                              type: boolean
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      checklistSummary:
                        type: object
                        required:
                          - completed
                          - total
                        properties:
                          completed:
                            type: integer
                            minimum: 0
                          total:
                            type: integer
                            minimum: 0
                        additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "401":
          $ref: "#/components/responses/Unauthorized"
        "404":
          $ref: "#/components/responses/NotFound"
    patch:
      operationId: updateTask
      tags:
        - Standalone tasks
      summary: Update caller-writable task fields without changing lifecycle state.
      x-parity-id: API-045
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              minProperties: 1
              properties:
                title:
                  type: string
                  minLength: 1
                  maxLength: 200
                notes:
                  type: string
                  maxLength: 20000
                companyId:
                  $ref: "#/components/schemas/OpaqueId"
                clearCompany:
                  type: boolean
                dueDate:
                  $ref: "#/components/schemas/LocalDate"
                dueTime:
                  type: string
                  pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              notes: Confirm timing and fee
              expectedVersion: 3
      responses:
        "200":
          description: Standalone task.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - title
                      - notes
                      - companyId
                      - company
                      - dueDate
                      - dueTime
                      - status
                      - pinned
                      - archived
                      - archivedAt
                      - completedAt
                      - createdAt
                      - updatedAt
                      - version
                      - checklistItems
                      - checklistSummary
                    properties:
                      id:
                        type: string
                      title:
                        type: string
                      notes:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      company:
                        type:
                          - object
                          - "null"
                        required:
                          - id
                          - name
                          - code
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                          code:
                            type: string
                        additionalProperties: false
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      dueTime:
                        type:
                          - string
                          - "null"
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      pinned:
                        type: boolean
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      checklistItems:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - text
                            - position
                            - completed
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            text:
                              type: string
                            position:
                              type: integer
                              minimum: 0
                            completed:
                              type: boolean
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      checklistSummary:
                        type: object
                        required:
                          - completed
                          - total
                        properties:
                          completed:
                            type: integer
                            minimum: 0
                          total:
                            type: integer
                            minimum: 0
                        additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "401":
          $ref: "#/components/responses/Unauthorized"
        "403":
          $ref: "#/components/responses/Forbidden"
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /tasks/{taskId}/complete:
    parameters:
      - $ref: "#/components/parameters/TaskId"
    post:
      operationId: completeTask
      tags:
        - Standalone tasks
      summary: Complete a standalone task.
      x-parity-id: API-046
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Standalone task.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - title
                      - notes
                      - companyId
                      - company
                      - dueDate
                      - dueTime
                      - status
                      - pinned
                      - archived
                      - archivedAt
                      - completedAt
                      - createdAt
                      - updatedAt
                      - version
                      - checklistItems
                      - checklistSummary
                    properties:
                      id:
                        type: string
                      title:
                        type: string
                      notes:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      company:
                        type:
                          - object
                          - "null"
                        required:
                          - id
                          - name
                          - code
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                          code:
                            type: string
                        additionalProperties: false
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      dueTime:
                        type:
                          - string
                          - "null"
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      pinned:
                        type: boolean
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      checklistItems:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - text
                            - position
                            - completed
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            text:
                              type: string
                            position:
                              type: integer
                              minimum: 0
                            completed:
                              type: boolean
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      checklistSummary:
                        type: object
                        required:
                          - completed
                          - total
                        properties:
                          completed:
                            type: integer
                            minimum: 0
                          total:
                            type: integer
                            minimum: 0
                        additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /tasks/{taskId}/reopen:
    parameters:
      - $ref: "#/components/parameters/TaskId"
    post:
      operationId: reopenTask
      tags:
        - Standalone tasks
      summary: Reopen a completed standalone task.
      x-parity-id: API-046
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Standalone task.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - title
                      - notes
                      - companyId
                      - company
                      - dueDate
                      - dueTime
                      - status
                      - pinned
                      - archived
                      - archivedAt
                      - completedAt
                      - createdAt
                      - updatedAt
                      - version
                      - checklistItems
                      - checklistSummary
                    properties:
                      id:
                        type: string
                      title:
                        type: string
                      notes:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      company:
                        type:
                          - object
                          - "null"
                        required:
                          - id
                          - name
                          - code
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                          code:
                            type: string
                        additionalProperties: false
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      dueTime:
                        type:
                          - string
                          - "null"
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      pinned:
                        type: boolean
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      checklistItems:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - text
                            - position
                            - completed
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            text:
                              type: string
                            position:
                              type: integer
                              minimum: 0
                            completed:
                              type: boolean
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      checklistSummary:
                        type: object
                        required:
                          - completed
                          - total
                        properties:
                          completed:
                            type: integer
                            minimum: 0
                          total:
                            type: integer
                            minimum: 0
                        additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /tasks/{taskId}/pin:
    parameters:
      - $ref: "#/components/parameters/TaskId"
    post:
      operationId: pinTask
      tags:
        - Standalone tasks
      summary: Pin a standalone task.
      x-parity-id: API-046
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Standalone task.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - title
                      - notes
                      - companyId
                      - company
                      - dueDate
                      - dueTime
                      - status
                      - pinned
                      - archived
                      - archivedAt
                      - completedAt
                      - createdAt
                      - updatedAt
                      - version
                      - checklistItems
                      - checklistSummary
                    properties:
                      id:
                        type: string
                      title:
                        type: string
                      notes:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      company:
                        type:
                          - object
                          - "null"
                        required:
                          - id
                          - name
                          - code
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                          code:
                            type: string
                        additionalProperties: false
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      dueTime:
                        type:
                          - string
                          - "null"
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      pinned:
                        type: boolean
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      checklistItems:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - text
                            - position
                            - completed
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            text:
                              type: string
                            position:
                              type: integer
                              minimum: 0
                            completed:
                              type: boolean
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      checklistSummary:
                        type: object
                        required:
                          - completed
                          - total
                        properties:
                          completed:
                            type: integer
                            minimum: 0
                          total:
                            type: integer
                            minimum: 0
                        additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /tasks/{taskId}/unpin:
    parameters:
      - $ref: "#/components/parameters/TaskId"
    post:
      operationId: unpinTask
      tags:
        - Standalone tasks
      summary: Unpin a standalone task.
      x-parity-id: API-046
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Standalone task.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - title
                      - notes
                      - companyId
                      - company
                      - dueDate
                      - dueTime
                      - status
                      - pinned
                      - archived
                      - archivedAt
                      - completedAt
                      - createdAt
                      - updatedAt
                      - version
                      - checklistItems
                      - checklistSummary
                    properties:
                      id:
                        type: string
                      title:
                        type: string
                      notes:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      company:
                        type:
                          - object
                          - "null"
                        required:
                          - id
                          - name
                          - code
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                          code:
                            type: string
                        additionalProperties: false
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      dueTime:
                        type:
                          - string
                          - "null"
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      pinned:
                        type: boolean
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      checklistItems:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - text
                            - position
                            - completed
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            text:
                              type: string
                            position:
                              type: integer
                              minimum: 0
                            completed:
                              type: boolean
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      checklistSummary:
                        type: object
                        required:
                          - completed
                          - total
                        properties:
                          completed:
                            type: integer
                            minimum: 0
                          total:
                            type: integer
                            minimum: 0
                        additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /tasks/{taskId}/duplicate:
    parameters:
      - $ref: "#/components/parameters/TaskId"
    post:
      operationId: duplicateTask
      tags:
        - Standalone tasks
      summary: Duplicate a task as an independent copy.
      x-parity-id: API-046
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              maxProperties: 0
              additionalProperties: false
            example: {}
      responses:
        "201":
          description: Standalone task created.
          headers:
            Location:
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - title
                      - notes
                      - companyId
                      - company
                      - dueDate
                      - dueTime
                      - status
                      - pinned
                      - archived
                      - archivedAt
                      - completedAt
                      - createdAt
                      - updatedAt
                      - version
                      - checklistItems
                      - checklistSummary
                    properties:
                      id:
                        type: string
                      title:
                        type: string
                      notes:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      company:
                        type:
                          - object
                          - "null"
                        required:
                          - id
                          - name
                          - code
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                          code:
                            type: string
                        additionalProperties: false
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      dueTime:
                        type:
                          - string
                          - "null"
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      pinned:
                        type: boolean
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      checklistItems:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - text
                            - position
                            - completed
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            text:
                              type: string
                            position:
                              type: integer
                              minimum: 0
                            completed:
                              type: boolean
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      checklistSummary:
                        type: object
                        required:
                          - completed
                          - total
                        properties:
                          completed:
                            type: integer
                            minimum: 0
                          total:
                            type: integer
                            minimum: 0
                        additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /tasks/{taskId}/archive:
    parameters:
      - $ref: "#/components/parameters/TaskId"
    post:
      operationId: archiveTask
      tags:
        - Standalone tasks
        - Archive and history
      summary: Archive a standalone task.
      x-parity-id: API-049
      x-stability: stable
      x-scopes:
        - archive:write
      x-destructive: true
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Standalone task.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - title
                      - notes
                      - companyId
                      - company
                      - dueDate
                      - dueTime
                      - status
                      - pinned
                      - archived
                      - archivedAt
                      - completedAt
                      - createdAt
                      - updatedAt
                      - version
                      - checklistItems
                      - checklistSummary
                    properties:
                      id:
                        type: string
                      title:
                        type: string
                      notes:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      company:
                        type:
                          - object
                          - "null"
                        required:
                          - id
                          - name
                          - code
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                          code:
                            type: string
                        additionalProperties: false
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      dueTime:
                        type:
                          - string
                          - "null"
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      pinned:
                        type: boolean
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      checklistItems:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - text
                            - position
                            - completed
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            text:
                              type: string
                            position:
                              type: integer
                              minimum: 0
                            completed:
                              type: boolean
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      checklistSummary:
                        type: object
                        required:
                          - completed
                          - total
                        properties:
                          completed:
                            type: integer
                            minimum: 0
                          total:
                            type: integer
                            minimum: 0
                        additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /tasks/{taskId}/restore:
    parameters:
      - $ref: "#/components/parameters/TaskId"
    post:
      operationId: restoreTask
      tags:
        - Standalone tasks
        - Archive and history
      summary: Restore an archived standalone task.
      x-parity-id: API-049
      x-stability: stable
      x-scopes:
        - archive:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Standalone task.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - title
                      - notes
                      - companyId
                      - company
                      - dueDate
                      - dueTime
                      - status
                      - pinned
                      - archived
                      - archivedAt
                      - completedAt
                      - createdAt
                      - updatedAt
                      - version
                      - checklistItems
                      - checklistSummary
                    properties:
                      id:
                        type: string
                      title:
                        type: string
                      notes:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      company:
                        type:
                          - object
                          - "null"
                        required:
                          - id
                          - name
                          - code
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                          code:
                            type: string
                        additionalProperties: false
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      dueTime:
                        type:
                          - string
                          - "null"
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      pinned:
                        type: boolean
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      checklistItems:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - text
                            - position
                            - completed
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            text:
                              type: string
                            position:
                              type: integer
                              minimum: 0
                            completed:
                              type: boolean
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      checklistSummary:
                        type: object
                        required:
                          - completed
                          - total
                        properties:
                          completed:
                            type: integer
                            minimum: 0
                          total:
                            type: integer
                            minimum: 0
                        additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /tasks/{taskId}/delete-preview:
    parameters:
      - $ref: "#/components/parameters/TaskId"
    post:
      operationId: previewTaskDeletion
      tags:
        - Standalone tasks
        - Archive and history
      summary: Preview permanent task deletion without side effects.
      x-parity-id: API-050
      x-stability: stable
      x-scopes:
        - destructive:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              maxProperties: 0
              additionalProperties: false
            example: {}
      responses:
        "200":
          description: Exact previewTaskDeletion result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - taskId
                      - checklistItems
                      - version
                      - confirmationToken
                      - expiresAt
                      - effects
                    properties:
                      taskId:
                        type: string
                      checklistItems:
                        type: integer
                      version:
                        type: integer
                      confirmationToken:
                        type: string
                      expiresAt:
                        type: string
                        format: date-time
                      effects:
                        type: array
                        minItems: 1
                        maxItems: 1
                        items:
                          type: object
                          required:
                            - taskId
                            - checklistItems
                            - version
                          properties:
                            taskId:
                              type: string
                            checklistItems:
                              type: integer
                            version:
                              type: integer
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /tasks/{taskId}/permanent-delete:
    parameters:
      - $ref: "#/components/parameters/TaskId"
    post:
      operationId: permanentlyDeleteTask
      tags:
        - Standalone tasks
        - Archive and history
      summary: Permanently delete an archived task using a bound confirmation.
      x-parity-id: API-050
      x-stability: stable
      x-scopes:
        - archive:write
        - destructive:write
      x-destructive: true
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ConfirmationBody"
      responses:
        "200":
          description: Permanent deletion summary.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - deleted
                      - id
                    properties:
                      deleted:
                        const: true
                      id:
                        type: string
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /tasks/{taskId}/checklist-items:
    parameters:
      - $ref: "#/components/parameters/TaskId"
    post:
      operationId: createTaskChecklistItem
      tags:
        - Standalone tasks
      summary: Add a checklist item to a standalone task.
      x-parity-id: API-047
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - text
              properties:
                text:
                  type: string
                  minLength: 1
                  maxLength: 200
              additionalProperties: false
            example:
              text: Confirm availability
      responses:
        "201":
          description: Standalone task created.
          headers:
            Location:
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - title
                      - notes
                      - companyId
                      - company
                      - dueDate
                      - dueTime
                      - status
                      - pinned
                      - archived
                      - archivedAt
                      - completedAt
                      - createdAt
                      - updatedAt
                      - version
                      - checklistItems
                      - checklistSummary
                    properties:
                      id:
                        type: string
                      title:
                        type: string
                      notes:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      company:
                        type:
                          - object
                          - "null"
                        required:
                          - id
                          - name
                          - code
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                          code:
                            type: string
                        additionalProperties: false
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      dueTime:
                        type:
                          - string
                          - "null"
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      pinned:
                        type: boolean
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      checklistItems:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - text
                            - position
                            - completed
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            text:
                              type: string
                            position:
                              type: integer
                              minimum: 0
                            completed:
                              type: boolean
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      checklistSummary:
                        type: object
                        required:
                          - completed
                          - total
                        properties:
                          completed:
                            type: integer
                            minimum: 0
                          total:
                            type: integer
                            minimum: 0
                        additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /tasks/{taskId}/checklist-items/reorder:
    parameters:
      - $ref: "#/components/parameters/TaskId"
    post:
      operationId: reorderTaskChecklistItems
      tags:
        - Standalone tasks
      summary: Reorder checklist items within their task aggregate.
      x-parity-id: API-048
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - checklistItemIds
              properties:
                checklistItemIds:
                  type: array
                  minItems: 1
                  maxItems: 100
                  uniqueItems: true
                  items:
                    $ref: "#/components/schemas/OpaqueId"
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              checklistItemIds:
                - chk_confirm_availability
              expectedVersion: 3
      responses:
        "200":
          description: Reorder summary.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - reordered
                    properties:
                      reordered:
                        type: integer
                        minimum: 0
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /tasks/{taskId}/checklist-items/{checklistItemId}:
    parameters:
      - $ref: "#/components/parameters/TaskId"
      - $ref: "#/components/parameters/ChecklistItemId"
    patch:
      operationId: updateTaskChecklistItem
      tags:
        - Standalone tasks
      summary: Update caller-writable checklist fields.
      x-parity-id: API-048
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              minProperties: 1
              properties:
                text:
                  type: string
                  minLength: 1
                  maxLength: 200
                completed:
                  type: boolean
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              text: Confirm availability and fee
              expectedVersion: 3
      responses:
        "200":
          description: Standalone task.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - title
                      - notes
                      - companyId
                      - company
                      - dueDate
                      - dueTime
                      - status
                      - pinned
                      - archived
                      - archivedAt
                      - completedAt
                      - createdAt
                      - updatedAt
                      - version
                      - checklistItems
                      - checklistSummary
                    properties:
                      id:
                        type: string
                      title:
                        type: string
                      notes:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      company:
                        type:
                          - object
                          - "null"
                        required:
                          - id
                          - name
                          - code
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                          code:
                            type: string
                        additionalProperties: false
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      dueTime:
                        type:
                          - string
                          - "null"
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      pinned:
                        type: boolean
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      checklistItems:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - text
                            - position
                            - completed
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            text:
                              type: string
                            position:
                              type: integer
                              minimum: 0
                            completed:
                              type: boolean
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      checklistSummary:
                        type: object
                        required:
                          - completed
                          - total
                        properties:
                          completed:
                            type: integer
                            minimum: 0
                          total:
                            type: integer
                            minimum: 0
                        additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
    delete:
      operationId: deleteTaskChecklistItem
      tags:
        - Standalone tasks
      summary: Remove a checklist item from its task.
      x-parity-id: API-048
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: true
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              maxProperties: 0
              additionalProperties: false
            example: {}
      responses:
        "200":
          description: Standalone task.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - title
                      - notes
                      - companyId
                      - company
                      - dueDate
                      - dueTime
                      - status
                      - pinned
                      - archived
                      - archivedAt
                      - completedAt
                      - createdAt
                      - updatedAt
                      - version
                      - checklistItems
                      - checklistSummary
                    properties:
                      id:
                        type: string
                      title:
                        type: string
                      notes:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      company:
                        type:
                          - object
                          - "null"
                        required:
                          - id
                          - name
                          - code
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                          code:
                            type: string
                        additionalProperties: false
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      dueTime:
                        type:
                          - string
                          - "null"
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      pinned:
                        type: boolean
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      checklistItems:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - text
                            - position
                            - completed
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            text:
                              type: string
                            position:
                              type: integer
                              minimum: 0
                            completed:
                              type: boolean
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      checklistSummary:
                        type: object
                        required:
                          - completed
                          - total
                        properties:
                          completed:
                            type: integer
                            minimum: 0
                          total:
                            type: integer
                            minimum: 0
                        additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /tasks/{taskId}/checklist-items/{checklistItemId}/complete:
    parameters:
      - $ref: "#/components/parameters/TaskId"
      - $ref: "#/components/parameters/ChecklistItemId"
    post:
      operationId: completeTaskChecklistItem
      tags:
        - Standalone tasks
      summary: Complete a standalone checklist item.
      x-parity-id: API-047
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Standalone task.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - title
                      - notes
                      - companyId
                      - company
                      - dueDate
                      - dueTime
                      - status
                      - pinned
                      - archived
                      - archivedAt
                      - completedAt
                      - createdAt
                      - updatedAt
                      - version
                      - checklistItems
                      - checklistSummary
                    properties:
                      id:
                        type: string
                      title:
                        type: string
                      notes:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      company:
                        type:
                          - object
                          - "null"
                        required:
                          - id
                          - name
                          - code
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                          code:
                            type: string
                        additionalProperties: false
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      dueTime:
                        type:
                          - string
                          - "null"
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      pinned:
                        type: boolean
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      checklistItems:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - text
                            - position
                            - completed
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            text:
                              type: string
                            position:
                              type: integer
                              minimum: 0
                            completed:
                              type: boolean
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      checklistSummary:
                        type: object
                        required:
                          - completed
                          - total
                        properties:
                          completed:
                            type: integer
                            minimum: 0
                          total:
                            type: integer
                            minimum: 0
                        additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /tasks/{taskId}/checklist-items/{checklistItemId}/reopen:
    parameters:
      - $ref: "#/components/parameters/TaskId"
      - $ref: "#/components/parameters/ChecklistItemId"
    post:
      operationId: reopenTaskChecklistItem
      tags:
        - Standalone tasks
      summary: Reopen a standalone checklist item.
      x-parity-id: API-047
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Standalone task.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - title
                      - notes
                      - companyId
                      - company
                      - dueDate
                      - dueTime
                      - status
                      - pinned
                      - archived
                      - archivedAt
                      - completedAt
                      - createdAt
                      - updatedAt
                      - version
                      - checklistItems
                      - checklistSummary
                    properties:
                      id:
                        type: string
                      title:
                        type: string
                      notes:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      company:
                        type:
                          - object
                          - "null"
                        required:
                          - id
                          - name
                          - code
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                          code:
                            type: string
                        additionalProperties: false
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      dueTime:
                        type:
                          - string
                          - "null"
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      pinned:
                        type: boolean
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      checklistItems:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - text
                            - position
                            - completed
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            text:
                              type: string
                            position:
                              type: integer
                              minimum: 0
                            completed:
                              type: boolean
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      checklistSummary:
                        type: object
                        required:
                          - completed
                          - total
                        properties:
                          completed:
                            type: integer
                            minimum: 0
                          total:
                            type: integer
                            minimum: 0
                        additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /company-fields:
    get:
      operationId: getCompanyFields
      tags:
        - Company configuration
      summary: Read company field definitions and card visibility.
      x-parity-id: API-051
      x-stability: stable
      x-scopes:
        - workspace:read
      x-destructive: false
      responses:
        "200":
          description: Exact getCompanyFields result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - fields
                      - updatedAt
                      - version
                    properties:
                      fields:
                        type: array
                        items:
                          type: object
                          additionalProperties: true
                      updatedAt:
                        type:
                          - string
                          - "null"
                        format: date-time
                      version:
                        type: integer
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "401":
          $ref: "#/components/responses/Unauthorized"
    put:
      operationId: replaceCompanyFields
      tags:
        - Company configuration
      summary: Replace company field/card configuration without changing related work.
      x-parity-id: API-051
      x-stability: stable
      x-scopes:
        - config:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - fields
              properties:
                fields:
                  type: array
                  maxItems: 100
                  items:
                    type: object
                    additionalProperties: true
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              fields: []
              expectedVersion: 1
      responses:
        "200":
          description: Exact replaceCompanyFields result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - fields
                      - updatedAt
                      - version
                    properties:
                      fields:
                        type: array
                        items:
                          type: object
                          additionalProperties: true
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "403":
          $ref: "#/components/responses/Forbidden"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /companies:
    get:
      operationId: listCompanies
      tags:
        - Companies
      summary: List lightweight company context with active/archive filters.
      x-parity-id: API-052
      x-stability: stable
      x-scopes:
        - workspace:read
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/Limit"
      responses:
        "200":
          description: Cursor-paginated companies.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - items
                      - nextCursor
                    properties:
                      items:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - name
                            - code
                            - defaultOrderTemplateKey
                            - customFields
                            - archived
                            - archivedAt
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            name:
                              type: string
                            code:
                              type: string
                            contactName:
                              type: string
                            contactEmail:
                              type: string
                            paymentTerms:
                              type: string
                            paymentNotes:
                              type: string
                            notes:
                              type: string
                            defaultOrderTemplateKey:
                              type:
                                - string
                                - "null"
                            customFields:
                              type: object
                              additionalProperties: true
                            archived:
                              type: boolean
                            archivedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      nextCursor:
                        type:
                          - string
                          - "null"
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "401":
          $ref: "#/components/responses/Unauthorized"
    post:
      operationId: createCompany
      tags:
        - Companies
      summary: Create lightweight company context.
      x-parity-id: API-053
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - name
                - code
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 200
                code:
                  type: string
                  maxLength: 50
                contactName:
                  type: string
                  maxLength: 200
                contactEmail:
                  type: string
                  format: email
                  maxLength: 320
                paymentTerms:
                  type: string
                  maxLength: 500
                paymentNotes:
                  type: string
                  maxLength: 20000
                notes:
                  type: string
                  maxLength: 20000
                customFields:
                  type: object
                  maxProperties: 100
                  additionalProperties: true
                defaultOrderTemplateKey:
                  type: string
                  maxLength: 128
              additionalProperties: false
            example:
              name: Northstar Supplies
              code: NORTHSTAR
      responses:
        "201":
          description: Company created.
          headers:
            Location:
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - name
                      - code
                      - defaultOrderTemplateKey
                      - customFields
                      - archived
                      - archivedAt
                      - createdAt
                      - updatedAt
                      - version
                    properties:
                      id:
                        type: string
                      name:
                        type: string
                      code:
                        type: string
                      contactName:
                        type: string
                      contactEmail:
                        type: string
                      paymentTerms:
                        type: string
                      paymentNotes:
                        type: string
                      notes:
                        type: string
                      defaultOrderTemplateKey:
                        type:
                          - string
                          - "null"
                      customFields:
                        type: object
                        additionalProperties: true
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "403":
          $ref: "#/components/responses/Forbidden"
        "409":
          $ref: "#/components/responses/Conflict"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /companies/{companyId}:
    parameters:
      - $ref: "#/components/parameters/CompanyId"
    get:
      operationId: getCompany
      tags:
        - Companies
      summary: Get company context, related-resource links, and allowed actions.
      x-parity-id: API-052
      x-stability: stable
      x-scopes:
        - workspace:read
      x-destructive: false
      responses:
        "200":
          description: Company.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - name
                      - code
                      - defaultOrderTemplateKey
                      - customFields
                      - archived
                      - archivedAt
                      - createdAt
                      - updatedAt
                      - version
                    properties:
                      id:
                        type: string
                      name:
                        type: string
                      code:
                        type: string
                      contactName:
                        type: string
                      contactEmail:
                        type: string
                      paymentTerms:
                        type: string
                      paymentNotes:
                        type: string
                      notes:
                        type: string
                      defaultOrderTemplateKey:
                        type:
                          - string
                          - "null"
                      customFields:
                        type: object
                        additionalProperties: true
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
    patch:
      operationId: updateCompany
      tags:
        - Companies
      summary: Update caller-writable company fields.
      x-parity-id: API-054
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              minProperties: 1
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 200
                code:
                  type: string
                  maxLength: 50
                contactName:
                  type: string
                  maxLength: 200
                contactEmail:
                  type: string
                  format: email
                  maxLength: 320
                paymentTerms:
                  type: string
                  maxLength: 500
                paymentNotes:
                  type: string
                  maxLength: 20000
                notes:
                  type: string
                  maxLength: 20000
                customFields:
                  type: object
                  maxProperties: 100
                  additionalProperties: true
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              paymentTerms: Net 30
              expectedVersion: 2
      responses:
        "200":
          description: Company.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - name
                      - code
                      - defaultOrderTemplateKey
                      - customFields
                      - archived
                      - archivedAt
                      - createdAt
                      - updatedAt
                      - version
                    properties:
                      id:
                        type: string
                      name:
                        type: string
                      code:
                        type: string
                      contactName:
                        type: string
                      contactEmail:
                        type: string
                      paymentTerms:
                        type: string
                      paymentNotes:
                        type: string
                      notes:
                        type: string
                      defaultOrderTemplateKey:
                        type:
                          - string
                          - "null"
                      customFields:
                        type: object
                        additionalProperties: true
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /companies/{companyId}/dashboard:
    parameters:
      - $ref: "#/components/parameters/CompanyId"
    get:
      operationId: getCompanyDashboard
      tags:
        - Companies
      summary: Read bounded summaries of work related to a company.
      x-parity-id: API-055
      x-stability: stable
      x-scopes:
        - workspace:read
      x-destructive: false
      responses:
        "200":
          description: Exact getCompanyDashboard result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - name
                      - code
                      - archived
                      - createdAt
                      - updatedAt
                      - version
                      - activeOrders
                      - activeProcessItems
                      - activeTasks
                    properties:
                      id:
                        type: string
                      name:
                        type: string
                      code:
                        type: string
                      contactName:
                        type: string
                      contactEmail:
                        type: string
                      paymentTerms:
                        type: string
                      paymentNotes:
                        type: string
                      notes:
                        type: string
                      defaultOrderTemplateKey:
                        type: string
                      customFields:
                        type: object
                        additionalProperties: true
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      activeOrders:
                        type: integer
                      activeProcessItems:
                        type: integer
                      activeTasks:
                        type: integer
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
  /companies/{companyId}/archive:
    parameters:
      - $ref: "#/components/parameters/CompanyId"
    post:
      operationId: archiveCompany
      tags:
        - Companies
        - Archive and history
      summary: Archive company context without archiving related work.
      x-parity-id: API-056
      x-stability: stable
      x-scopes:
        - archive:write
      x-destructive: true
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Company.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - name
                      - code
                      - defaultOrderTemplateKey
                      - customFields
                      - archived
                      - archivedAt
                      - createdAt
                      - updatedAt
                      - version
                    properties:
                      id:
                        type: string
                      name:
                        type: string
                      code:
                        type: string
                      contactName:
                        type: string
                      contactEmail:
                        type: string
                      paymentTerms:
                        type: string
                      paymentNotes:
                        type: string
                      notes:
                        type: string
                      defaultOrderTemplateKey:
                        type:
                          - string
                          - "null"
                      customFields:
                        type: object
                        additionalProperties: true
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /companies/{companyId}/restore:
    parameters:
      - $ref: "#/components/parameters/CompanyId"
    post:
      operationId: restoreCompany
      tags:
        - Companies
        - Archive and history
      summary: Restore archived company context.
      x-parity-id: API-056
      x-stability: stable
      x-scopes:
        - archive:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Company.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - name
                      - code
                      - defaultOrderTemplateKey
                      - customFields
                      - archived
                      - archivedAt
                      - createdAt
                      - updatedAt
                      - version
                    properties:
                      id:
                        type: string
                      name:
                        type: string
                      code:
                        type: string
                      contactName:
                        type: string
                      contactEmail:
                        type: string
                      paymentTerms:
                        type: string
                      paymentNotes:
                        type: string
                      notes:
                        type: string
                      defaultOrderTemplateKey:
                        type:
                          - string
                          - "null"
                      customFields:
                        type: object
                        additionalProperties: true
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /companies/{companyId}/delete-preview:
    parameters:
      - $ref: "#/components/parameters/CompanyId"
    post:
      operationId: previewCompanyDeletion
      tags:
        - Companies
        - Archive and history
      summary: Preview relationship effects without archiving or deleting related work.
      x-parity-id: API-057
      x-stability: stable
      x-scopes:
        - destructive:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              maxProperties: 0
              additionalProperties: false
            example: {}
      responses:
        "200":
          description: Exact previewCompanyDeletion result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - relatedOrders
                      - relatedTasks
                      - relatedProcessItems
                      - effect
                      - confirmationToken
                      - expiresAt
                      - effects
                    properties:
                      relatedOrders:
                        type: integer
                      relatedTasks:
                        type: integer
                      relatedProcessItems:
                        type: integer
                      effect:
                        type: string
                      confirmationToken:
                        type: string
                      expiresAt:
                        type: string
                        format: date-time
                      effects:
                        type: array
                        minItems: 1
                        maxItems: 1
                        items:
                          type: object
                          required:
                            - relatedOrders
                            - relatedTasks
                            - relatedProcessItems
                            - effect
                          properties:
                            relatedOrders:
                              type: integer
                            relatedTasks:
                              type: integer
                            relatedProcessItems:
                              type: integer
                            effect:
                              type: string
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /companies/{companyId}/permanent-delete:
    parameters:
      - $ref: "#/components/parameters/CompanyId"
    post:
      operationId: permanentlyDeleteCompany
      tags:
        - Companies
        - Archive and history
      summary: Permanently delete company context with a bound confirmation.
      x-parity-id: API-057
      x-stability: stable
      x-scopes:
        - archive:write
        - destructive:write
      x-destructive: true
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ConfirmationBody"
      responses:
        "200":
          description: Permanent deletion summary.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - deleted
                      - id
                    properties:
                      deleted:
                        const: true
                      id:
                        type: string
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /companies/{companyId}/order-template:
    parameters:
      - $ref: "#/components/parameters/CompanyId"
    put:
      operationId: setCompanyOrderTemplate
      tags:
        - Companies
      summary: Set or customise the template default for future orders only.
      description: Existing orders remain unchanged unless a separate explicit scoped update is previewed and applied.
      x-parity-id: API-058
      x-stability: stable
      x-scopes:
        - config:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              minProperties: 1
              properties:
                templateId:
                  $ref: "#/components/schemas/OpaqueId"
                templateKey:
                  type: string
                  maxLength: 128
                nameEn:
                  type: string
                  maxLength: 200
                nameRu:
                  type: string
                  maxLength: 200
                descriptionEn:
                  type: string
                  maxLength: 2000
                descriptionRu:
                  type: string
                  maxLength: 2000
                structure:
                  type: object
                  additionalProperties: true
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              templateKey: standard-order
              expectedVersion: 2
      responses:
        "200":
          description: Exact setCompanyOrderTemplate result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    oneOf:
                      - type: object
                        required:
                          - id
                          - name
                          - code
                          - defaultOrderTemplateKey
                          - customFields
                          - archived
                          - archivedAt
                          - createdAt
                          - updatedAt
                          - version
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                          code:
                            type: string
                          contactName:
                            type: string
                          contactEmail:
                            type: string
                          paymentTerms:
                            type: string
                          paymentNotes:
                            type: string
                          notes:
                            type: string
                          defaultOrderTemplateKey:
                            type:
                              - string
                              - "null"
                          customFields:
                            type: object
                            additionalProperties: true
                          archived:
                            type: boolean
                          archivedAt:
                            type: string
                            format: date-time
                          createdAt:
                            type: string
                            format: date-time
                          updatedAt:
                            type: string
                            format: date-time
                          version:
                            type: integer
                            minimum: 1
                        additionalProperties: false
                      - type: object
                        required:
                          - id
                          - templateVersion
                          - version
                        properties:
                          id:
                            type: string
                          templateVersion:
                            type: integer
                            minimum: 1
                          version:
                            type: integer
                            minimum: 1
                        additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /processes:
    get:
      operationId: listProcesses
      tags:
        - Processes
      summary: List processes in navigation order with lifecycle filters.
      x-parity-id: API-036
      x-stability: stable
      x-scopes:
        - workspace:read
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/Limit"
      responses:
        "200":
          description: Cursor-paginated processes.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - items
                      - nextCursor
                    properties:
                      items:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - slug
                            - nameEn
                            - nameRu
                            - singularEn
                            - singularRu
                            - pluralEn
                            - pluralRu
                            - icon
                            - color
                            - position
                            - isSystem
                            - archived
                            - archivedAt
                            - viewConfig
                            - createdAt
                            - updatedAt
                            - version
                            - allowedActions
                          properties:
                            id:
                              type: string
                            slug:
                              type: string
                            nameEn:
                              type: string
                            nameRu:
                              type: string
                            singularEn:
                              type: string
                            singularRu:
                              type: string
                            pluralEn:
                              type:
                                - string
                                - "null"
                            pluralRu:
                              type:
                                - string
                                - "null"
                            icon:
                              type: string
                            color:
                              type: string
                            position:
                              type: integer
                            isSystem:
                              type: boolean
                            archived:
                              type: boolean
                            archivedAt:
                              type: string
                              format: date-time
                            viewConfig:
                              type:
                                - object
                                - "null"
                              additionalProperties: true
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                            allowedActions:
                              type: array
                              items:
                                type: string
                            templates:
                              type: array
                              items:
                                type: object
                                required:
                                  - id
                                  - processId
                                  - companyId
                                  - basedOnTemplateId
                                  - nameEn
                                  - nameRu
                                  - descriptionEn
                                  - descriptionRu
                                  - version
                                  - status
                                  - isDefault
                                  - isSystem
                                  - structure
                                  - createdAt
                                  - updatedAt
                                  - allowedActions
                                properties:
                                  id:
                                    type: string
                                  processId:
                                    type: string
                                  companyId:
                                    type:
                                      - string
                                      - "null"
                                  basedOnTemplateId:
                                    type:
                                      - string
                                      - "null"
                                  nameEn:
                                    type: string
                                  nameRu:
                                    type: string
                                  descriptionEn:
                                    type: string
                                  descriptionRu:
                                    type: string
                                  version:
                                    type: integer
                                    minimum: 1
                                  status:
                                    type: string
                                    enum:
                                      - draft
                                      - published
                                      - archived
                                  isDefault:
                                    type: boolean
                                  isSystem:
                                    type: boolean
                                  structure:
                                    type: object
                                    additionalProperties: true
                                  createdAt:
                                    type: string
                                    format: date-time
                                  updatedAt:
                                    type: string
                                    format: date-time
                                  allowedActions:
                                    type: array
                                    items:
                                      type: string
                                additionalProperties: false
                            fields:
                              type: array
                              items:
                                type: object
                                additionalProperties: true
                            generatedViews:
                              type: object
                              additionalProperties: true
                          additionalProperties: false
                      nextCursor:
                        type:
                          - string
                          - "null"
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "401":
          $ref: "#/components/responses/Unauthorized"
    post:
      operationId: createProcess
      tags:
        - Processes
      summary: Create a process and its standard generated views; setup may be completed or explicitly skipped.
      x-parity-id: API-059
      x-stability: stable
      x-scopes:
        - config:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              anyOf:
                - required:
                    - name
                - required:
                    - nameEn
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 200
                nameEn:
                  type: string
                  maxLength: 200
                nameRu:
                  type: string
                  maxLength: 200
                singularEn:
                  type: string
                  maxLength: 100
                singularRu:
                  type: string
                  maxLength: 100
                pluralEn:
                  type: string
                  maxLength: 100
                pluralRu:
                  type: string
                  maxLength: 100
                icon:
                  type: string
                  maxLength: 100
                color:
                  type: string
                  pattern: ^#[0-9A-Fa-f]{6}$
                fields:
                  type: array
                  maxItems: 100
                  items:
                    type: object
                    additionalProperties: true
                stages:
                  type: array
                  maxItems: 100
                  items:
                    type: object
                    additionalProperties: true
                templates:
                  type: array
                  maxItems: 100
                  items:
                    type: object
                    additionalProperties: true
                viewConfig:
                  type: object
                  additionalProperties: true
              additionalProperties: false
            example:
              name: Product Development
              color: "#35648A"
      responses:
        "201":
          description: Process creation result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - process
                      - defaultTemplateId
                    properties:
                      process:
                        type: object
                        required:
                          - id
                          - slug
                          - nameEn
                          - nameRu
                          - singularEn
                          - singularRu
                          - pluralEn
                          - pluralRu
                          - icon
                          - color
                          - position
                          - isSystem
                          - archived
                          - archivedAt
                          - viewConfig
                          - createdAt
                          - updatedAt
                          - version
                          - allowedActions
                        properties:
                          id:
                            type: string
                          slug:
                            type: string
                          nameEn:
                            type: string
                          nameRu:
                            type: string
                          singularEn:
                            type: string
                          singularRu:
                            type: string
                          pluralEn:
                            type:
                              - string
                              - "null"
                          pluralRu:
                            type:
                              - string
                              - "null"
                          icon:
                            type: string
                          color:
                            type: string
                          position:
                            type: integer
                          isSystem:
                            type: boolean
                          archived:
                            type: boolean
                          archivedAt:
                            type: string
                            format: date-time
                          viewConfig:
                            type:
                              - object
                              - "null"
                            additionalProperties: true
                          createdAt:
                            type: string
                            format: date-time
                          updatedAt:
                            type: string
                            format: date-time
                          version:
                            type: integer
                            minimum: 1
                          allowedActions:
                            type: array
                            items:
                              type: string
                          templates:
                            type: array
                            items:
                              type: object
                              required:
                                - id
                                - processId
                                - companyId
                                - basedOnTemplateId
                                - nameEn
                                - nameRu
                                - descriptionEn
                                - descriptionRu
                                - version
                                - status
                                - isDefault
                                - isSystem
                                - structure
                                - createdAt
                                - updatedAt
                                - allowedActions
                              properties:
                                id:
                                  type: string
                                processId:
                                  type: string
                                companyId:
                                  type:
                                    - string
                                    - "null"
                                basedOnTemplateId:
                                  type:
                                    - string
                                    - "null"
                                nameEn:
                                  type: string
                                nameRu:
                                  type: string
                                descriptionEn:
                                  type: string
                                descriptionRu:
                                  type: string
                                version:
                                  type: integer
                                  minimum: 1
                                status:
                                  type: string
                                  enum:
                                    - draft
                                    - published
                                    - archived
                                isDefault:
                                  type: boolean
                                isSystem:
                                  type: boolean
                                structure:
                                  type: object
                                  additionalProperties: true
                                createdAt:
                                  type: string
                                  format: date-time
                                updatedAt:
                                  type: string
                                  format: date-time
                                allowedActions:
                                  type: array
                                  items:
                                    type: string
                              additionalProperties: false
                          fields:
                            type: array
                            items:
                              type: object
                              additionalProperties: true
                          generatedViews:
                            type: object
                            additionalProperties: true
                        additionalProperties: false
                      defaultTemplateId:
                        type: string
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "403":
          $ref: "#/components/responses/Forbidden"
        "409":
          $ref: "#/components/responses/Conflict"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /processes/bootstrap:
    post:
      operationId: ensureBaseConfiguration
      tags:
        - Getting started
        - Processes
      summary: Idempotently ensure the supported base Orders process for a new workspace.
      x-parity-id: API-034
      x-stability: stable
      x-scopes:
        - config:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              maxProperties: 0
              additionalProperties: false
            example: {}
      responses:
        "200":
          description: Exact ensureBaseConfiguration result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - created
                      - process
                    properties:
                      created:
                        type: boolean
                      process:
                        type: object
                        required:
                          - id
                          - slug
                          - nameEn
                          - nameRu
                          - singularEn
                          - singularRu
                          - pluralEn
                          - pluralRu
                          - icon
                          - color
                          - position
                          - isSystem
                          - archived
                          - archivedAt
                          - viewConfig
                          - createdAt
                          - updatedAt
                          - version
                          - allowedActions
                        properties:
                          id:
                            type: string
                          slug:
                            type: string
                          nameEn:
                            type: string
                          nameRu:
                            type: string
                          singularEn:
                            type: string
                          singularRu:
                            type: string
                          pluralEn:
                            type:
                              - string
                              - "null"
                          pluralRu:
                            type:
                              - string
                              - "null"
                          icon:
                            type: string
                          color:
                            type: string
                          position:
                            type: integer
                          isSystem:
                            type: boolean
                          archived:
                            type: boolean
                          archivedAt:
                            type: string
                            format: date-time
                          viewConfig:
                            type:
                              - object
                              - "null"
                            additionalProperties: true
                          createdAt:
                            type: string
                            format: date-time
                          updatedAt:
                            type: string
                            format: date-time
                          version:
                            type: integer
                            minimum: 1
                          allowedActions:
                            type: array
                            items:
                              type: string
                          templates:
                            type: array
                            items:
                              type: object
                              required:
                                - id
                                - processId
                                - companyId
                                - basedOnTemplateId
                                - nameEn
                                - nameRu
                                - descriptionEn
                                - descriptionRu
                                - version
                                - status
                                - isDefault
                                - isSystem
                                - structure
                                - createdAt
                                - updatedAt
                                - allowedActions
                              properties:
                                id:
                                  type: string
                                processId:
                                  type: string
                                companyId:
                                  type:
                                    - string
                                    - "null"
                                basedOnTemplateId:
                                  type:
                                    - string
                                    - "null"
                                nameEn:
                                  type: string
                                nameRu:
                                  type: string
                                descriptionEn:
                                  type: string
                                descriptionRu:
                                  type: string
                                version:
                                  type: integer
                                  minimum: 1
                                status:
                                  type: string
                                  enum:
                                    - draft
                                    - published
                                    - archived
                                isDefault:
                                  type: boolean
                                isSystem:
                                  type: boolean
                                structure:
                                  type: object
                                  additionalProperties: true
                                createdAt:
                                  type: string
                                  format: date-time
                                updatedAt:
                                  type: string
                                  format: date-time
                                allowedActions:
                                  type: array
                                  items:
                                    type: string
                              additionalProperties: false
                          fields:
                            type: array
                            items:
                              type: object
                              additionalProperties: true
                          generatedViews:
                            type: object
                            additionalProperties: true
                        additionalProperties: false
                      defaultTemplateId:
                        type: string
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "403":
          $ref: "#/components/responses/Forbidden"
        "409":
          $ref: "#/components/responses/Conflict"
  /processes/reorder:
    post:
      operationId: reorderProcesses
      tags:
        - Processes
      summary: Reorder process navigation without patching internal positions.
      x-parity-id: API-060
      x-stability: stable
      x-scopes:
        - config:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - itemIds
              properties:
                itemIds:
                  type: array
                  minItems: 1
                  maxItems: 100
                  uniqueItems: true
                  items:
                    $ref: "#/components/schemas/OpaqueId"
                expectedVersions:
                  type: object
                  additionalProperties:
                    type: integer
                    minimum: 1
              additionalProperties: false
            example:
              itemIds:
                - prc_product_development
              expectedVersions:
                prc_product_development: 2
      responses:
        "200":
          description: Reorder summary.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - reordered
                    properties:
                      reordered:
                        type: integer
                        minimum: 0
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /processes/{processId}:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
    get:
      operationId: getProcess
      tags:
        - Processes
      summary: Get process identity, configuration links, views, and allowed actions.
      x-parity-id: API-060
      x-stability: stable
      x-scopes:
        - workspace:read
      x-destructive: false
      responses:
        "200":
          description: Process.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - slug
                      - nameEn
                      - nameRu
                      - singularEn
                      - singularRu
                      - pluralEn
                      - pluralRu
                      - icon
                      - color
                      - position
                      - isSystem
                      - archived
                      - archivedAt
                      - viewConfig
                      - createdAt
                      - updatedAt
                      - version
                      - allowedActions
                    properties:
                      id:
                        type: string
                      slug:
                        type: string
                      nameEn:
                        type: string
                      nameRu:
                        type: string
                      singularEn:
                        type: string
                      singularRu:
                        type: string
                      pluralEn:
                        type:
                          - string
                          - "null"
                      pluralRu:
                        type:
                          - string
                          - "null"
                      icon:
                        type: string
                      color:
                        type: string
                      position:
                        type: integer
                      isSystem:
                        type: boolean
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      viewConfig:
                        type:
                          - object
                          - "null"
                        additionalProperties: true
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      allowedActions:
                        type: array
                        items:
                          type: string
                      templates:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - processId
                            - companyId
                            - basedOnTemplateId
                            - nameEn
                            - nameRu
                            - descriptionEn
                            - descriptionRu
                            - version
                            - status
                            - isDefault
                            - isSystem
                            - structure
                            - createdAt
                            - updatedAt
                            - allowedActions
                          properties:
                            id:
                              type: string
                            processId:
                              type: string
                            companyId:
                              type:
                                - string
                                - "null"
                            basedOnTemplateId:
                              type:
                                - string
                                - "null"
                            nameEn:
                              type: string
                            nameRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            version:
                              type: integer
                              minimum: 1
                            status:
                              type: string
                              enum:
                                - draft
                                - published
                                - archived
                            isDefault:
                              type: boolean
                            isSystem:
                              type: boolean
                            structure:
                              type: object
                              additionalProperties: true
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            allowedActions:
                              type: array
                              items:
                                type: string
                          additionalProperties: false
                      fields:
                        type: array
                        items:
                          type: object
                          additionalProperties: true
                      generatedViews:
                        type: object
                        additionalProperties: true
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
    patch:
      operationId: updateProcess
      tags:
        - Processes
      summary: Update process name, icon, colour, and supported identity fields.
      x-parity-id: API-060
      x-stability: stable
      x-scopes:
        - config:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              minProperties: 1
              properties:
                nameEn:
                  type: string
                  maxLength: 200
                nameRu:
                  type: string
                  maxLength: 200
                singularEn:
                  type: string
                  maxLength: 100
                singularRu:
                  type: string
                  maxLength: 100
                pluralEn:
                  type: string
                  maxLength: 100
                pluralRu:
                  type: string
                  maxLength: 100
                icon:
                  type: string
                  maxLength: 100
                color:
                  type: string
                  pattern: ^#[0-9A-Fa-f]{6}$
                position:
                  type: integer
                  minimum: 0
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              nameEn: Product Development
              expectedVersion: 2
      responses:
        "200":
          description: Process.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - slug
                      - nameEn
                      - nameRu
                      - singularEn
                      - singularRu
                      - pluralEn
                      - pluralRu
                      - icon
                      - color
                      - position
                      - isSystem
                      - archived
                      - archivedAt
                      - viewConfig
                      - createdAt
                      - updatedAt
                      - version
                      - allowedActions
                    properties:
                      id:
                        type: string
                      slug:
                        type: string
                      nameEn:
                        type: string
                      nameRu:
                        type: string
                      singularEn:
                        type: string
                      singularRu:
                        type: string
                      pluralEn:
                        type:
                          - string
                          - "null"
                      pluralRu:
                        type:
                          - string
                          - "null"
                      icon:
                        type: string
                      color:
                        type: string
                      position:
                        type: integer
                      isSystem:
                        type: boolean
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      viewConfig:
                        type:
                          - object
                          - "null"
                        additionalProperties: true
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      allowedActions:
                        type: array
                        items:
                          type: string
                      templates:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - processId
                            - companyId
                            - basedOnTemplateId
                            - nameEn
                            - nameRu
                            - descriptionEn
                            - descriptionRu
                            - version
                            - status
                            - isDefault
                            - isSystem
                            - structure
                            - createdAt
                            - updatedAt
                            - allowedActions
                          properties:
                            id:
                              type: string
                            processId:
                              type: string
                            companyId:
                              type:
                                - string
                                - "null"
                            basedOnTemplateId:
                              type:
                                - string
                                - "null"
                            nameEn:
                              type: string
                            nameRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            version:
                              type: integer
                              minimum: 1
                            status:
                              type: string
                              enum:
                                - draft
                                - published
                                - archived
                            isDefault:
                              type: boolean
                            isSystem:
                              type: boolean
                            structure:
                              type: object
                              additionalProperties: true
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            allowedActions:
                              type: array
                              items:
                                type: string
                          additionalProperties: false
                      fields:
                        type: array
                        items:
                          type: object
                          additionalProperties: true
                      generatedViews:
                        type: object
                        additionalProperties: true
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /processes/{processId}/fields:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
    post:
      operationId: createProcessField
      tags:
        - Process fields and views
      summary: Add a validated field definition for future and explicitly edited items.
      x-parity-id: API-061
      x-stability: stable
      x-scopes:
        - config:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - field
              properties:
                field:
                  type: object
                  required:
                    - key
                    - type
                  properties:
                    key:
                      type: string
                      pattern: ^[A-Za-z][A-Za-z0-9_]{0,63}$
                    type:
                      type: string
                      enum:
                        - text
                        - number
                        - date
                        - boolean
                        - select
                    labelEn:
                      type: string
                      maxLength: 200
                    labelRu:
                      type: string
                      maxLength: 200
                  additionalProperties: true
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              field:
                key: sku
                type: text
                labelEn: SKU
              expectedVersion: 2
      responses:
        "201":
          description: Exact createProcessField result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - key
                      - version
                    properties:
                      key:
                        type: string
                      type:
                        type: string
                      labelEn:
                        type: string
                      labelRu:
                        type: string
                      hidden:
                        type: boolean
                      version:
                        type: integer
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /processes/{processId}/fields/{fieldId}:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/FieldId"
    patch:
      operationId: updateProcessField
      tags:
        - Process fields and views
      summary: Update a field definition without deleting stored values.
      x-parity-id: API-061
      x-stability: stable
      x-scopes:
        - config:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - field
              properties:
                field:
                  type: object
                  required:
                    - key
                    - type
                  properties:
                    key:
                      type: string
                      pattern: ^[A-Za-z][A-Za-z0-9_]{0,63}$
                    type:
                      type: string
                      enum:
                        - text
                        - number
                        - date
                        - boolean
                        - select
                    labelEn:
                      type: string
                      maxLength: 200
                    labelRu:
                      type: string
                      maxLength: 200
                  additionalProperties: true
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              field:
                key: sku
                type: text
                labelEn: Product code
              expectedVersion: 3
      responses:
        "200":
          description: Exact updateProcessField result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - key
                      - version
                    properties:
                      key:
                        type: string
                      type:
                        type: string
                      labelEn:
                        type: string
                      labelRu:
                        type: string
                      hidden:
                        type: boolean
                      version:
                        type: integer
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /processes/{processId}/fields/{fieldId}/hide:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/FieldId"
    post:
      operationId: hideProcessField
      tags:
        - Process fields and views
      summary: Hide a field while retaining stored item values.
      x-parity-id: API-061
      x-stability: stable
      x-scopes:
        - config:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Exact hideProcessField result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - key
                      - version
                    properties:
                      key:
                        type: string
                      type:
                        type: string
                      labelEn:
                        type: string
                      labelRu:
                        type: string
                      hidden:
                        type: boolean
                      version:
                        type: integer
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /processes/{processId}/fields/{fieldId}/delete-preview:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/FieldId"
    post:
      operationId: previewProcessFieldDeletion
      tags:
        - Process fields and views
      summary: Preview field definition and stored-item-data deletion.
      x-parity-id: API-061
      x-stability: stable
      x-scopes:
        - destructive:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              maxProperties: 0
              additionalProperties: false
            example: {}
      responses:
        "200":
          description: Exact previewProcessFieldDeletion result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - fieldKey
                      - affectedItems
                      - processVersion
                      - confirmationToken
                      - expiresAt
                      - effects
                    properties:
                      fieldKey:
                        type: string
                      affectedItems:
                        type: integer
                      processVersion:
                        type: integer
                      confirmationToken:
                        type: string
                      expiresAt:
                        type: string
                        format: date-time
                      effects:
                        type: array
                        minItems: 1
                        maxItems: 1
                        items:
                          type: object
                          required:
                            - fieldKey
                            - affectedItems
                            - processVersion
                          properties:
                            fieldKey:
                              type: string
                            affectedItems:
                              type: integer
                            processVersion:
                              type: integer
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /processes/{processId}/fields/{fieldId}/permanent-delete:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/FieldId"
    post:
      operationId: permanentlyDeleteProcessField
      tags:
        - Process fields and views
      summary: Permanently delete a field and its stored item values after confirmation.
      x-parity-id: API-061
      x-stability: stable
      x-scopes:
        - config:write
        - destructive:write
      x-destructive: true
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ConfirmationBody"
      responses:
        "200":
          description: Permanent deletion summary.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - deleted
                      - id
                    properties:
                      deleted:
                        const: true
                      id:
                        type: string
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /processes/{processId}/views:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
    get:
      operationId: getProcessViews
      tags:
        - Process fields and views
      summary: Read generated table, dashboard, and detail display configuration.
      x-parity-id: API-062
      x-stability: stable
      x-scopes:
        - workspace:read
      x-destructive: false
      responses:
        "200":
          description: Exact getProcessViews result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - processId
                      - version
                      - viewConfig
                    properties:
                      processId:
                        type: string
                      version:
                        type: integer
                      viewConfig:
                        type: object
                        additionalProperties: true
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
    put:
      operationId: updateProcessViews
      tags:
        - Process fields and views
      summary: Replace generated view display configuration.
      x-parity-id: API-062
      x-stability: stable
      x-scopes:
        - config:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              minProperties: 1
              properties:
                viewConfig:
                  type: object
                  additionalProperties: true
                pageSettings:
                  type: object
                  additionalProperties: true
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              viewConfig:
                tableFields:
                  - title
                  - sku
              expectedVersion: 3
      responses:
        "200":
          description: Exact updateProcessViews result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - processId
                      - version
                      - viewConfig
                    properties:
                      processId:
                        type: string
                      version:
                        type: integer
                      viewConfig:
                        type: object
                        additionalProperties: true
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /processes/{processId}/archive-preview:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
    post:
      operationId: previewProcessArchive
      tags:
        - Processes
        - Archive and history
      summary: Preview active-item and navigation effects of archiving a process.
      x-parity-id: API-063
      x-stability: stable
      x-scopes:
        - archive:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Exact previewProcessArchive result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - processId
                      - activeItemsAffected
                      - itemIds
                      - version
                      - confirmationToken
                      - expiresAt
                      - effects
                    properties:
                      processId:
                        type: string
                      activeItemsAffected:
                        type: integer
                      itemIds:
                        type: array
                        items:
                          type: string
                      version:
                        type: integer
                      confirmationToken:
                        type: string
                      expiresAt:
                        type: string
                        format: date-time
                      effects:
                        type: array
                        minItems: 1
                        maxItems: 1
                        items:
                          type: object
                          required:
                            - processId
                            - activeItemsAffected
                            - itemIds
                            - version
                          properties:
                            processId:
                              type: string
                            activeItemsAffected:
                              type: integer
                            itemIds:
                              type: array
                              items:
                                type: string
                            version:
                              type: integer
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /processes/{processId}/archive:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
    post:
      operationId: archiveProcess
      tags:
        - Processes
        - Archive and history
      summary: Archive a process using the exact previewed scope.
      x-parity-id: API-063
      x-stability: stable
      x-scopes:
        - archive:write
      x-destructive: true
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ConfirmationBody"
      responses:
        "200":
          description: Process.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - slug
                      - nameEn
                      - nameRu
                      - singularEn
                      - singularRu
                      - pluralEn
                      - pluralRu
                      - icon
                      - color
                      - position
                      - isSystem
                      - archived
                      - archivedAt
                      - viewConfig
                      - createdAt
                      - updatedAt
                      - version
                      - allowedActions
                    properties:
                      id:
                        type: string
                      slug:
                        type: string
                      nameEn:
                        type: string
                      nameRu:
                        type: string
                      singularEn:
                        type: string
                      singularRu:
                        type: string
                      pluralEn:
                        type:
                          - string
                          - "null"
                      pluralRu:
                        type:
                          - string
                          - "null"
                      icon:
                        type: string
                      color:
                        type: string
                      position:
                        type: integer
                      isSystem:
                        type: boolean
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      viewConfig:
                        type:
                          - object
                          - "null"
                        additionalProperties: true
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      allowedActions:
                        type: array
                        items:
                          type: string
                      templates:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - processId
                            - companyId
                            - basedOnTemplateId
                            - nameEn
                            - nameRu
                            - descriptionEn
                            - descriptionRu
                            - version
                            - status
                            - isDefault
                            - isSystem
                            - structure
                            - createdAt
                            - updatedAt
                            - allowedActions
                          properties:
                            id:
                              type: string
                            processId:
                              type: string
                            companyId:
                              type:
                                - string
                                - "null"
                            basedOnTemplateId:
                              type:
                                - string
                                - "null"
                            nameEn:
                              type: string
                            nameRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            version:
                              type: integer
                              minimum: 1
                            status:
                              type: string
                              enum:
                                - draft
                                - published
                                - archived
                            isDefault:
                              type: boolean
                            isSystem:
                              type: boolean
                            structure:
                              type: object
                              additionalProperties: true
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            allowedActions:
                              type: array
                              items:
                                type: string
                          additionalProperties: false
                      fields:
                        type: array
                        items:
                          type: object
                          additionalProperties: true
                      generatedViews:
                        type: object
                        additionalProperties: true
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /processes/{processId}/restore:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
    post:
      operationId: restoreProcess
      tags:
        - Processes
        - Archive and history
      summary: Restore an archived process and its recoverable structure.
      x-parity-id: API-064
      x-stability: stable
      x-scopes:
        - archive:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Process.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - slug
                      - nameEn
                      - nameRu
                      - singularEn
                      - singularRu
                      - pluralEn
                      - pluralRu
                      - icon
                      - color
                      - position
                      - isSystem
                      - archived
                      - archivedAt
                      - viewConfig
                      - createdAt
                      - updatedAt
                      - version
                      - allowedActions
                    properties:
                      id:
                        type: string
                      slug:
                        type: string
                      nameEn:
                        type: string
                      nameRu:
                        type: string
                      singularEn:
                        type: string
                      singularRu:
                        type: string
                      pluralEn:
                        type:
                          - string
                          - "null"
                      pluralRu:
                        type:
                          - string
                          - "null"
                      icon:
                        type: string
                      color:
                        type: string
                      position:
                        type: integer
                      isSystem:
                        type: boolean
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      viewConfig:
                        type:
                          - object
                          - "null"
                        additionalProperties: true
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      allowedActions:
                        type: array
                        items:
                          type: string
                      templates:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - processId
                            - companyId
                            - basedOnTemplateId
                            - nameEn
                            - nameRu
                            - descriptionEn
                            - descriptionRu
                            - version
                            - status
                            - isDefault
                            - isSystem
                            - structure
                            - createdAt
                            - updatedAt
                            - allowedActions
                          properties:
                            id:
                              type: string
                            processId:
                              type: string
                            companyId:
                              type:
                                - string
                                - "null"
                            basedOnTemplateId:
                              type:
                                - string
                                - "null"
                            nameEn:
                              type: string
                            nameRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            version:
                              type: integer
                              minimum: 1
                            status:
                              type: string
                              enum:
                                - draft
                                - published
                                - archived
                            isDefault:
                              type: boolean
                            isSystem:
                              type: boolean
                            structure:
                              type: object
                              additionalProperties: true
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            allowedActions:
                              type: array
                              items:
                                type: string
                          additionalProperties: false
                      fields:
                        type: array
                        items:
                          type: object
                          additionalProperties: true
                      generatedViews:
                        type: object
                        additionalProperties: true
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /processes/{processId}/delete-preview:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
    post:
      operationId: previewProcessDeletion
      tags:
        - Processes
        - Archive and history
      summary: Preview process, item, workflow, and snapshot deletion effects.
      x-parity-id: API-065
      x-stability: stable
      x-scopes:
        - destructive:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              maxProperties: 0
              additionalProperties: false
            example: {}
      responses:
        "200":
          description: Exact previewProcessDeletion result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - processId
                      - processVersion
                      - affectedItems
                      - affectedTemplates
                      - retainedReadOnlyHistory
                      - confirmationToken
                      - expiresAt
                      - effects
                    properties:
                      processId:
                        type: string
                      processVersion:
                        type: integer
                      affectedItems:
                        type: integer
                      affectedTemplates:
                        type: integer
                      retainedReadOnlyHistory:
                        type: integer
                      confirmationToken:
                        type: string
                      expiresAt:
                        type: string
                        format: date-time
                      effects:
                        type: array
                        minItems: 1
                        maxItems: 1
                        items:
                          type: object
                          required:
                            - processId
                            - processVersion
                            - affectedItems
                            - affectedTemplates
                            - retainedReadOnlyHistory
                          properties:
                            processId:
                              type: string
                            processVersion:
                              type: integer
                            affectedItems:
                              type: integer
                            affectedTemplates:
                              type: integer
                            retainedReadOnlyHistory:
                              type: integer
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /processes/{processId}/permanent-delete:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
    post:
      operationId: permanentlyDeleteProcess
      tags:
        - Processes
        - Archive and history
      summary: Permanently delete a process and confirmed snapshots.
      x-parity-id: API-065
      x-stability: stable
      x-scopes:
        - archive:write
        - destructive:write
      x-destructive: true
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ConfirmationBody"
      responses:
        "200":
          description: Permanent deletion summary.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - deleted
                      - id
                    properties:
                      deleted:
                        const: true
                      id:
                        type: string
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /processes/{processId}/templates:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
    get:
      operationId: listProcessTemplates
      tags:
        - Process templates
      summary: List draft, published, and archived process templates.
      x-parity-id: API-066
      x-stability: stable
      x-scopes:
        - workspace:read
      x-destructive: false
      responses:
        "200":
          description: Cursor-paginated templates.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - items
                      - nextCursor
                    properties:
                      items:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - processId
                            - companyId
                            - basedOnTemplateId
                            - nameEn
                            - nameRu
                            - descriptionEn
                            - descriptionRu
                            - version
                            - status
                            - isDefault
                            - isSystem
                            - structure
                            - createdAt
                            - updatedAt
                            - allowedActions
                          properties:
                            id:
                              type: string
                            processId:
                              type: string
                            companyId:
                              type:
                                - string
                                - "null"
                            basedOnTemplateId:
                              type:
                                - string
                                - "null"
                            nameEn:
                              type: string
                            nameRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            version:
                              type: integer
                              minimum: 1
                            status:
                              type: string
                              enum:
                                - draft
                                - published
                                - archived
                            isDefault:
                              type: boolean
                            isSystem:
                              type: boolean
                            structure:
                              type: object
                              additionalProperties: true
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            allowedActions:
                              type: array
                              items:
                                type: string
                          additionalProperties: false
                      nextCursor:
                        type:
                          - string
                          - "null"
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
    post:
      operationId: createProcessTemplate
      tags:
        - Process templates
      summary: Create a draft template for future tracked items.
      x-parity-id: API-067
      x-stability: stable
      x-scopes:
        - config:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - nameEn
                - structure
              properties:
                processId:
                  $ref: "#/components/schemas/OpaqueId"
                companyId:
                  $ref: "#/components/schemas/OpaqueId"
                nameEn:
                  type: string
                  minLength: 1
                  maxLength: 200
                nameRu:
                  type: string
                  maxLength: 200
                descriptionEn:
                  type: string
                  maxLength: 2000
                descriptionRu:
                  type: string
                  maxLength: 2000
                structure:
                  type: object
                  additionalProperties: true
              additionalProperties: false
            example:
              nameEn: Standard launch
              structure:
                stages: []
      responses:
        "201":
          description: Process template created.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - processId
                      - companyId
                      - basedOnTemplateId
                      - nameEn
                      - nameRu
                      - descriptionEn
                      - descriptionRu
                      - version
                      - status
                      - isDefault
                      - isSystem
                      - structure
                      - createdAt
                      - updatedAt
                      - allowedActions
                    properties:
                      id:
                        type: string
                      processId:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      basedOnTemplateId:
                        type:
                          - string
                          - "null"
                      nameEn:
                        type: string
                      nameRu:
                        type: string
                      descriptionEn:
                        type: string
                      descriptionRu:
                        type: string
                      version:
                        type: integer
                        minimum: 1
                      status:
                        type: string
                        enum:
                          - draft
                          - published
                          - archived
                      isDefault:
                        type: boolean
                      isSystem:
                        type: boolean
                      structure:
                        type: object
                        additionalProperties: true
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      allowedActions:
                        type: array
                        items:
                          type: string
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /processes/{processId}/templates/{templateId}:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/TemplateId"
    get:
      operationId: getProcessTemplate
      tags:
        - Process templates
      summary: Get a versioned template structure and allowed actions.
      x-parity-id: API-066
      x-stability: stable
      x-scopes:
        - workspace:read
      x-destructive: false
      responses:
        "200":
          description: Process template.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - processId
                      - companyId
                      - basedOnTemplateId
                      - nameEn
                      - nameRu
                      - descriptionEn
                      - descriptionRu
                      - version
                      - status
                      - isDefault
                      - isSystem
                      - structure
                      - createdAt
                      - updatedAt
                      - allowedActions
                    properties:
                      id:
                        type: string
                      processId:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      basedOnTemplateId:
                        type:
                          - string
                          - "null"
                      nameEn:
                        type: string
                      nameRu:
                        type: string
                      descriptionEn:
                        type: string
                      descriptionRu:
                        type: string
                      version:
                        type: integer
                        minimum: 1
                      status:
                        type: string
                        enum:
                          - draft
                          - published
                          - archived
                      isDefault:
                        type: boolean
                      isSystem:
                        type: boolean
                      structure:
                        type: object
                        additionalProperties: true
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      allowedActions:
                        type: array
                        items:
                          type: string
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
    patch:
      operationId: updateProcessTemplate
      tags:
        - Process templates
      summary: Update a template; existing tracked items remain unchanged.
      x-parity-id: API-068
      x-stability: stable
      x-scopes:
        - config:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              minProperties: 1
              properties:
                nameEn:
                  type: string
                  maxLength: 200
                nameRu:
                  type: string
                  maxLength: 200
                descriptionEn:
                  type: string
                  maxLength: 2000
                descriptionRu:
                  type: string
                  maxLength: 2000
                structure:
                  type: object
                  additionalProperties: true
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              descriptionEn: Standard product launch checklist
              expectedVersion: 2
      responses:
        "200":
          description: Process template.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - processId
                      - companyId
                      - basedOnTemplateId
                      - nameEn
                      - nameRu
                      - descriptionEn
                      - descriptionRu
                      - version
                      - status
                      - isDefault
                      - isSystem
                      - structure
                      - createdAt
                      - updatedAt
                      - allowedActions
                    properties:
                      id:
                        type: string
                      processId:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      basedOnTemplateId:
                        type:
                          - string
                          - "null"
                      nameEn:
                        type: string
                      nameRu:
                        type: string
                      descriptionEn:
                        type: string
                      descriptionRu:
                        type: string
                      version:
                        type: integer
                        minimum: 1
                      status:
                        type: string
                        enum:
                          - draft
                          - published
                          - archived
                      isDefault:
                        type: boolean
                      isSystem:
                        type: boolean
                      structure:
                        type: object
                        additionalProperties: true
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      allowedActions:
                        type: array
                        items:
                          type: string
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /processes/{processId}/templates/{templateId}/duplicate:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/TemplateId"
    post:
      operationId: duplicateProcessTemplate
      tags:
        - Process templates
      summary: Duplicate a template into an independent draft.
      x-parity-id: API-067
      x-stability: stable
      x-scopes:
        - config:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "201":
          description: Process template created.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - processId
                      - companyId
                      - basedOnTemplateId
                      - nameEn
                      - nameRu
                      - descriptionEn
                      - descriptionRu
                      - version
                      - status
                      - isDefault
                      - isSystem
                      - structure
                      - createdAt
                      - updatedAt
                      - allowedActions
                    properties:
                      id:
                        type: string
                      processId:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      basedOnTemplateId:
                        type:
                          - string
                          - "null"
                      nameEn:
                        type: string
                      nameRu:
                        type: string
                      descriptionEn:
                        type: string
                      descriptionRu:
                        type: string
                      version:
                        type: integer
                        minimum: 1
                      status:
                        type: string
                        enum:
                          - draft
                          - published
                          - archived
                      isDefault:
                        type: boolean
                      isSystem:
                        type: boolean
                      structure:
                        type: object
                        additionalProperties: true
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      allowedActions:
                        type: array
                        items:
                          type: string
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /processes/{processId}/templates/{templateId}/publish:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/TemplateId"
    post:
      operationId: publishProcessTemplate
      tags:
        - Process templates
      summary: Publish a validated template version for future items.
      x-parity-id: API-068
      x-stability: stable
      x-scopes:
        - config:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Process template.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - processId
                      - companyId
                      - basedOnTemplateId
                      - nameEn
                      - nameRu
                      - descriptionEn
                      - descriptionRu
                      - version
                      - status
                      - isDefault
                      - isSystem
                      - structure
                      - createdAt
                      - updatedAt
                      - allowedActions
                    properties:
                      id:
                        type: string
                      processId:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      basedOnTemplateId:
                        type:
                          - string
                          - "null"
                      nameEn:
                        type: string
                      nameRu:
                        type: string
                      descriptionEn:
                        type: string
                      descriptionRu:
                        type: string
                      version:
                        type: integer
                        minimum: 1
                      status:
                        type: string
                        enum:
                          - draft
                          - published
                          - archived
                      isDefault:
                        type: boolean
                      isSystem:
                        type: boolean
                      structure:
                        type: object
                        additionalProperties: true
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      allowedActions:
                        type: array
                        items:
                          type: string
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /processes/{processId}/templates/{templateId}/archive:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/TemplateId"
    post:
      operationId: archiveProcessTemplate
      tags:
        - Process templates
      summary: Archive a template without changing existing item snapshots.
      x-parity-id: API-068
      x-stability: stable
      x-scopes:
        - config:write
        - archive:write
      x-destructive: true
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Process template.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - processId
                      - companyId
                      - basedOnTemplateId
                      - nameEn
                      - nameRu
                      - descriptionEn
                      - descriptionRu
                      - version
                      - status
                      - isDefault
                      - isSystem
                      - structure
                      - createdAt
                      - updatedAt
                      - allowedActions
                    properties:
                      id:
                        type: string
                      processId:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      basedOnTemplateId:
                        type:
                          - string
                          - "null"
                      nameEn:
                        type: string
                      nameRu:
                        type: string
                      descriptionEn:
                        type: string
                      descriptionRu:
                        type: string
                      version:
                        type: integer
                        minimum: 1
                      status:
                        type: string
                        enum:
                          - draft
                          - published
                          - archived
                      isDefault:
                        type: boolean
                      isSystem:
                        type: boolean
                      structure:
                        type: object
                        additionalProperties: true
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      allowedActions:
                        type: array
                        items:
                          type: string
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /processes/{processId}/templates/{templateId}/set-default:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/TemplateId"
    post:
      operationId: setDefaultProcessTemplate
      tags:
        - Process templates
      summary: Select the default for future items only.
      x-parity-id: API-069
      x-stability: stable
      x-scopes:
        - config:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Process template.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - processId
                      - companyId
                      - basedOnTemplateId
                      - nameEn
                      - nameRu
                      - descriptionEn
                      - descriptionRu
                      - version
                      - status
                      - isDefault
                      - isSystem
                      - structure
                      - createdAt
                      - updatedAt
                      - allowedActions
                    properties:
                      id:
                        type: string
                      processId:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      basedOnTemplateId:
                        type:
                          - string
                          - "null"
                      nameEn:
                        type: string
                      nameRu:
                        type: string
                      descriptionEn:
                        type: string
                      descriptionRu:
                        type: string
                      version:
                        type: integer
                        minimum: 1
                      status:
                        type: string
                        enum:
                          - draft
                          - published
                          - archived
                      isDefault:
                        type: boolean
                      isSystem:
                        type: boolean
                      structure:
                        type: object
                        additionalProperties: true
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      allowedActions:
                        type: array
                        items:
                          type: string
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /processes/{processId}/templates/{templateId}/apply-preview:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/TemplateId"
    post:
      operationId: previewTemplateApplication
      tags:
        - Process templates
      summary: Preview selected template changes against an explicit tracked-item scope.
      x-parity-id: API-070
      x-stability: stable
      x-scopes:
        - config:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - itemIds
                - changes
              properties:
                itemIds:
                  type: array
                  minItems: 1
                  maxItems: 100
                  uniqueItems: true
                  items:
                    $ref: "#/components/schemas/OpaqueId"
                changes:
                  type: array
                  minItems: 1
                  maxItems: 500
                  items:
                    type: object
                    additionalProperties: true
                confirmationToken:
                  type: string
                  minLength: 32
                  maxLength: 4096
                  writeOnly: true
              additionalProperties: false
            example:
              itemIds:
                - itm_ceramic_lamp
              changes:
                - action: add_task
                  key: final-review
      responses:
        "200":
          description: Exact previewTemplateApplication result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - templateId
                      - templateVersion
                      - affectedItems
                      - changes
                      - confirmationToken
                      - expiresAt
                      - effects
                    properties:
                      templateId:
                        type: string
                      templateVersion:
                        type: integer
                      affectedItems:
                        type: array
                        items:
                          type: object
                          additionalProperties: true
                      changes: {}
                      confirmationToken:
                        type: string
                      expiresAt:
                        type: string
                        format: date-time
                      effects:
                        type: array
                        minItems: 1
                        maxItems: 1
                        items:
                          type: object
                          required:
                            - templateId
                            - templateVersion
                            - affectedItems
                            - changes
                          properties:
                            templateId:
                              type: string
                            templateVersion:
                              type: integer
                            affectedItems:
                              type: array
                              items:
                                type: object
                                additionalProperties: true
                            changes: {}
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /processes/{processId}/templates/{templateId}/apply:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/TemplateId"
    post:
      operationId: applyTemplateToItems
      tags:
        - Process templates
      summary: Apply only previewed changes to the confirmed selected item scope.
      x-parity-id: API-071
      x-stability: stable
      x-scopes:
        - config:write
        - workspace:write
      x-destructive: true
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ConfirmationBody"
      responses:
        "200":
          description: Exact applyTemplateToItems result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - updated
                      - itemIds
                      - templateVersion
                    properties:
                      updated:
                        type: integer
                      itemIds:
                        type: array
                        items:
                          type: string
                      templateVersion:
                        type: integer
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /processes/{processId}/items:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
    get:
      operationId: listProcessItems
      tags:
        - Process items
      summary: List tracked items with stable filters and pagination.
      x-parity-id: API-072
      x-stability: stable
      x-scopes:
        - workspace:read
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/Limit"
      responses:
        "200":
          description: Cursor-paginated tracked items.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - items
                      - nextCursor
                    properties:
                      items:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - processId
                            - templateId
                            - companyId
                            - title
                            - status
                            - archived
                            - archivedAt
                            - archivedReason
                            - readOnly
                            - fieldValues
                            - templateSnapshot
                            - templateVersion
                            - workflowCustomizedAt
                            - sortPosition
                            - createdAt
                            - updatedAt
                            - completedAt
                            - version
                            - allowedActions
                          properties:
                            id:
                              type: string
                            processId:
                              type: string
                            templateId:
                              type:
                                - string
                                - "null"
                            companyId:
                              type:
                                - string
                                - "null"
                            title:
                              type: string
                            status:
                              type: string
                              enum:
                                - active
                                - completed
                            archived:
                              type: boolean
                            archivedAt:
                              type: string
                              format: date-time
                            archivedReason:
                              type:
                                - string
                                - "null"
                            readOnly:
                              type: boolean
                            fieldValues:
                              type: object
                              additionalProperties: true
                            templateSnapshot:
                              type:
                                - object
                                - "null"
                              additionalProperties: true
                            templateVersion:
                              type:
                                - integer
                                - "null"
                            workflowCustomizedAt:
                              type: string
                              format: date-time
                            sortPosition:
                              type: number
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            completedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                            allowedActions:
                              type: array
                              items:
                                type: string
                            stages:
                              type: array
                              items:
                                type: object
                                required:
                                  - id
                                  - processInstanceId
                                  - titleEn
                                  - titleRu
                                  - position
                                  - status
                                  - createdAt
                                  - updatedAt
                                  - version
                                properties:
                                  id:
                                    type: string
                                  processInstanceId:
                                    type: string
                                  titleEn:
                                    type: string
                                  titleRu:
                                    type: string
                                  descriptionEn:
                                    type: string
                                  descriptionRu:
                                    type: string
                                  position:
                                    type: integer
                                  status:
                                    type: string
                                    enum:
                                      - pending
                                      - open
                                      - completed
                                      - not_required
                                  durationWorkingDays:
                                    type:
                                      - integer
                                      - "null"
                                  startedAt:
                                    type: string
                                    format: date-time
                                  dueDate:
                                    type:
                                      - string
                                      - "null"
                                    format: date
                                  completedAt:
                                    type: string
                                    format: date-time
                                  createdAt:
                                    type: string
                                    format: date-time
                                  updatedAt:
                                    type: string
                                    format: date-time
                                  version:
                                    type: integer
                                    minimum: 1
                                additionalProperties: false
                            tasks:
                              type: array
                              items:
                                type: object
                                required:
                                  - id
                                  - processInstanceId
                                  - stageId
                                  - titleEn
                                  - titleRu
                                  - position
                                  - status
                                  - pinned
                                  - scheduleType
                                  - createdAt
                                  - updatedAt
                                  - version
                                properties:
                                  id:
                                    type: string
                                  processInstanceId:
                                    type: string
                                  stageId:
                                    type: string
                                  titleEn:
                                    type: string
                                  titleRu:
                                    type: string
                                  descriptionEn:
                                    type: string
                                  descriptionRu:
                                    type: string
                                  notes:
                                    type: string
                                  position:
                                    type: integer
                                  status:
                                    type: string
                                    enum:
                                      - open
                                      - done
                                  pinned:
                                    type: boolean
                                  scheduleType:
                                    type: string
                                  dueDate:
                                    type:
                                      - string
                                      - "null"
                                    format: date
                                  recurrence: {}
                                  completedAt:
                                    type: string
                                    format: date-time
                                  createdAt:
                                    type: string
                                    format: date-time
                                  updatedAt:
                                    type: string
                                    format: date-time
                                  version:
                                    type: integer
                                    minimum: 1
                                additionalProperties: false
                          additionalProperties: false
                      nextCursor:
                        type:
                          - string
                          - "null"
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
    post:
      operationId: createProcessItem
      tags:
        - Process items
      summary: Create a tracked item with an independent selected/default template snapshot.
      x-parity-id: API-073
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - processId
                - title
              properties:
                processId:
                  $ref: "#/components/schemas/OpaqueId"
                templateId:
                  $ref: "#/components/schemas/OpaqueId"
                companyId:
                  $ref: "#/components/schemas/OpaqueId"
                title:
                  type: string
                  minLength: 1
                  maxLength: 200
                fieldValues:
                  type: object
                  maxProperties: 100
                  additionalProperties: true
              additionalProperties: false
            example:
              processId: prc_product_development
              title: Ceramic lamp
              templateId: tpl_standard_launch
      responses:
        "201":
          description: Tracked item created.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - processId
                      - templateId
                      - companyId
                      - title
                      - status
                      - archived
                      - archivedAt
                      - archivedReason
                      - readOnly
                      - fieldValues
                      - templateSnapshot
                      - templateVersion
                      - workflowCustomizedAt
                      - sortPosition
                      - createdAt
                      - updatedAt
                      - completedAt
                      - version
                      - allowedActions
                    properties:
                      id:
                        type: string
                      processId:
                        type: string
                      templateId:
                        type:
                          - string
                          - "null"
                      companyId:
                        type:
                          - string
                          - "null"
                      title:
                        type: string
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      archivedReason:
                        type:
                          - string
                          - "null"
                      readOnly:
                        type: boolean
                      fieldValues:
                        type: object
                        additionalProperties: true
                      templateSnapshot:
                        type:
                          - object
                          - "null"
                        additionalProperties: true
                      templateVersion:
                        type:
                          - integer
                          - "null"
                      workflowCustomizedAt:
                        type: string
                        format: date-time
                      sortPosition:
                        type: number
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      allowedActions:
                        type: array
                        items:
                          type: string
                      stages:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - processInstanceId
                            - titleEn
                            - titleRu
                            - position
                            - status
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            processInstanceId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - pending
                                - open
                                - completed
                                - not_required
                            durationWorkingDays:
                              type:
                                - integer
                                - "null"
                            startedAt:
                              type: string
                              format: date-time
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      tasks:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - processInstanceId
                            - stageId
                            - titleEn
                            - titleRu
                            - position
                            - status
                            - pinned
                            - scheduleType
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            processInstanceId:
                              type: string
                            stageId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            notes:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - open
                                - done
                            pinned:
                              type: boolean
                            scheduleType:
                              type: string
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            recurrence: {}
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /processes/{processId}/items/reorder:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
    post:
      operationId: reorderProcessItems
      tags:
        - Process items
      summary: Reorder tracked items.
      x-parity-id: API-075
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - itemIds
              properties:
                itemIds:
                  type: array
                  minItems: 1
                  maxItems: 100
                  uniqueItems: true
                  items:
                    $ref: "#/components/schemas/OpaqueId"
                expectedVersions:
                  type: object
                  additionalProperties:
                    type: integer
                    minimum: 1
              additionalProperties: false
            example:
              itemIds:
                - itm_ceramic_lamp
              expectedVersions:
                itm_ceramic_lamp: 4
      responses:
        "200":
          description: Reorder summary.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - reordered
                    properties:
                      reordered:
                        type: integer
                        minimum: 0
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /processes/{processId}/items/{itemId}:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/ItemId"
    get:
      operationId: getProcessItem
      tags:
        - Process items
      summary: Get item fields, template snapshot, workflow, history links, and allowed actions.
      x-parity-id: API-072
      x-stability: stable
      x-scopes:
        - workspace:read
      x-destructive: false
      responses:
        "200":
          description: Tracked item.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - processId
                      - templateId
                      - companyId
                      - title
                      - status
                      - archived
                      - archivedAt
                      - archivedReason
                      - readOnly
                      - fieldValues
                      - templateSnapshot
                      - templateVersion
                      - workflowCustomizedAt
                      - sortPosition
                      - createdAt
                      - updatedAt
                      - completedAt
                      - version
                      - allowedActions
                    properties:
                      id:
                        type: string
                      processId:
                        type: string
                      templateId:
                        type:
                          - string
                          - "null"
                      companyId:
                        type:
                          - string
                          - "null"
                      title:
                        type: string
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      archivedReason:
                        type:
                          - string
                          - "null"
                      readOnly:
                        type: boolean
                      fieldValues:
                        type: object
                        additionalProperties: true
                      templateSnapshot:
                        type:
                          - object
                          - "null"
                        additionalProperties: true
                      templateVersion:
                        type:
                          - integer
                          - "null"
                      workflowCustomizedAt:
                        type: string
                        format: date-time
                      sortPosition:
                        type: number
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      allowedActions:
                        type: array
                        items:
                          type: string
                      stages:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - processInstanceId
                            - titleEn
                            - titleRu
                            - position
                            - status
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            processInstanceId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - pending
                                - open
                                - completed
                                - not_required
                            durationWorkingDays:
                              type:
                                - integer
                                - "null"
                            startedAt:
                              type: string
                              format: date-time
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      tasks:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - processInstanceId
                            - stageId
                            - titleEn
                            - titleRu
                            - position
                            - status
                            - pinned
                            - scheduleType
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            processInstanceId:
                              type: string
                            stageId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            notes:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - open
                                - done
                            pinned:
                              type: boolean
                            scheduleType:
                              type: string
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            recurrence: {}
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
    patch:
      operationId: updateProcessItem
      tags:
        - Process items
      summary: Update item core/custom fields without changing its source template.
      x-parity-id: API-074
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              minProperties: 1
              properties:
                title:
                  type: string
                  minLength: 1
                  maxLength: 200
                companyId:
                  $ref: "#/components/schemas/OpaqueId"
                clearCompany:
                  type: boolean
                fieldValues:
                  type: object
                  maxProperties: 100
                  additionalProperties: true
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              title: Ceramic lamp launch
              expectedVersion: 4
      responses:
        "200":
          description: Tracked item.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - processId
                      - templateId
                      - companyId
                      - title
                      - status
                      - archived
                      - archivedAt
                      - archivedReason
                      - readOnly
                      - fieldValues
                      - templateSnapshot
                      - templateVersion
                      - workflowCustomizedAt
                      - sortPosition
                      - createdAt
                      - updatedAt
                      - completedAt
                      - version
                      - allowedActions
                    properties:
                      id:
                        type: string
                      processId:
                        type: string
                      templateId:
                        type:
                          - string
                          - "null"
                      companyId:
                        type:
                          - string
                          - "null"
                      title:
                        type: string
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      archivedReason:
                        type:
                          - string
                          - "null"
                      readOnly:
                        type: boolean
                      fieldValues:
                        type: object
                        additionalProperties: true
                      templateSnapshot:
                        type:
                          - object
                          - "null"
                        additionalProperties: true
                      templateVersion:
                        type:
                          - integer
                          - "null"
                      workflowCustomizedAt:
                        type: string
                        format: date-time
                      sortPosition:
                        type: number
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      allowedActions:
                        type: array
                        items:
                          type: string
                      stages:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - processInstanceId
                            - titleEn
                            - titleRu
                            - position
                            - status
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            processInstanceId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - pending
                                - open
                                - completed
                                - not_required
                            durationWorkingDays:
                              type:
                                - integer
                                - "null"
                            startedAt:
                              type: string
                              format: date-time
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      tasks:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - processInstanceId
                            - stageId
                            - titleEn
                            - titleRu
                            - position
                            - status
                            - pinned
                            - scheduleType
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            processInstanceId:
                              type: string
                            stageId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            notes:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - open
                                - done
                            pinned:
                              type: boolean
                            scheduleType:
                              type: string
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            recurrence: {}
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /processes/{processId}/items/{itemId}/complete:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/ItemId"
    post:
      operationId: completeProcessItem
      tags:
        - Process items
      summary: Complete a tracked item.
      x-parity-id: API-076
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Tracked item.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - processId
                      - templateId
                      - companyId
                      - title
                      - status
                      - archived
                      - archivedAt
                      - archivedReason
                      - readOnly
                      - fieldValues
                      - templateSnapshot
                      - templateVersion
                      - workflowCustomizedAt
                      - sortPosition
                      - createdAt
                      - updatedAt
                      - completedAt
                      - version
                      - allowedActions
                    properties:
                      id:
                        type: string
                      processId:
                        type: string
                      templateId:
                        type:
                          - string
                          - "null"
                      companyId:
                        type:
                          - string
                          - "null"
                      title:
                        type: string
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      archivedReason:
                        type:
                          - string
                          - "null"
                      readOnly:
                        type: boolean
                      fieldValues:
                        type: object
                        additionalProperties: true
                      templateSnapshot:
                        type:
                          - object
                          - "null"
                        additionalProperties: true
                      templateVersion:
                        type:
                          - integer
                          - "null"
                      workflowCustomizedAt:
                        type: string
                        format: date-time
                      sortPosition:
                        type: number
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      allowedActions:
                        type: array
                        items:
                          type: string
                      stages:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - processInstanceId
                            - titleEn
                            - titleRu
                            - position
                            - status
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            processInstanceId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - pending
                                - open
                                - completed
                                - not_required
                            durationWorkingDays:
                              type:
                                - integer
                                - "null"
                            startedAt:
                              type: string
                              format: date-time
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      tasks:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - processInstanceId
                            - stageId
                            - titleEn
                            - titleRu
                            - position
                            - status
                            - pinned
                            - scheduleType
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            processInstanceId:
                              type: string
                            stageId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            notes:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - open
                                - done
                            pinned:
                              type: boolean
                            scheduleType:
                              type: string
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            recurrence: {}
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /processes/{processId}/items/{itemId}/reopen:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/ItemId"
    post:
      operationId: reopenProcessItem
      tags:
        - Process items
      summary: Reopen a completed tracked item.
      x-parity-id: API-076
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Tracked item.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - processId
                      - templateId
                      - companyId
                      - title
                      - status
                      - archived
                      - archivedAt
                      - archivedReason
                      - readOnly
                      - fieldValues
                      - templateSnapshot
                      - templateVersion
                      - workflowCustomizedAt
                      - sortPosition
                      - createdAt
                      - updatedAt
                      - completedAt
                      - version
                      - allowedActions
                    properties:
                      id:
                        type: string
                      processId:
                        type: string
                      templateId:
                        type:
                          - string
                          - "null"
                      companyId:
                        type:
                          - string
                          - "null"
                      title:
                        type: string
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      archivedReason:
                        type:
                          - string
                          - "null"
                      readOnly:
                        type: boolean
                      fieldValues:
                        type: object
                        additionalProperties: true
                      templateSnapshot:
                        type:
                          - object
                          - "null"
                        additionalProperties: true
                      templateVersion:
                        type:
                          - integer
                          - "null"
                      workflowCustomizedAt:
                        type: string
                        format: date-time
                      sortPosition:
                        type: number
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      allowedActions:
                        type: array
                        items:
                          type: string
                      stages:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - processInstanceId
                            - titleEn
                            - titleRu
                            - position
                            - status
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            processInstanceId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - pending
                                - open
                                - completed
                                - not_required
                            durationWorkingDays:
                              type:
                                - integer
                                - "null"
                            startedAt:
                              type: string
                              format: date-time
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      tasks:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - processInstanceId
                            - stageId
                            - titleEn
                            - titleRu
                            - position
                            - status
                            - pinned
                            - scheduleType
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            processInstanceId:
                              type: string
                            stageId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            notes:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - open
                                - done
                            pinned:
                              type: boolean
                            scheduleType:
                              type: string
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            recurrence: {}
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /processes/{processId}/items/{itemId}/duplicate:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/ItemId"
    post:
      operationId: duplicateProcessItem
      tags:
        - Process items
      summary: Duplicate an item and its workflow snapshot independently.
      x-parity-id: API-077
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "201":
          description: Tracked item created.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - processId
                      - templateId
                      - companyId
                      - title
                      - status
                      - archived
                      - archivedAt
                      - archivedReason
                      - readOnly
                      - fieldValues
                      - templateSnapshot
                      - templateVersion
                      - workflowCustomizedAt
                      - sortPosition
                      - createdAt
                      - updatedAt
                      - completedAt
                      - version
                      - allowedActions
                    properties:
                      id:
                        type: string
                      processId:
                        type: string
                      templateId:
                        type:
                          - string
                          - "null"
                      companyId:
                        type:
                          - string
                          - "null"
                      title:
                        type: string
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      archivedReason:
                        type:
                          - string
                          - "null"
                      readOnly:
                        type: boolean
                      fieldValues:
                        type: object
                        additionalProperties: true
                      templateSnapshot:
                        type:
                          - object
                          - "null"
                        additionalProperties: true
                      templateVersion:
                        type:
                          - integer
                          - "null"
                      workflowCustomizedAt:
                        type: string
                        format: date-time
                      sortPosition:
                        type: number
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      allowedActions:
                        type: array
                        items:
                          type: string
                      stages:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - processInstanceId
                            - titleEn
                            - titleRu
                            - position
                            - status
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            processInstanceId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - pending
                                - open
                                - completed
                                - not_required
                            durationWorkingDays:
                              type:
                                - integer
                                - "null"
                            startedAt:
                              type: string
                              format: date-time
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      tasks:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - processInstanceId
                            - stageId
                            - titleEn
                            - titleRu
                            - position
                            - status
                            - pinned
                            - scheduleType
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            processInstanceId:
                              type: string
                            stageId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            notes:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - open
                                - done
                            pinned:
                              type: boolean
                            scheduleType:
                              type: string
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            recurrence: {}
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /processes/{processId}/items/{itemId}/divide-preview:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/ItemId"
    post:
      operationId: previewProcessItemDivision
      tags:
        - Process items
      summary: Preview division results without side effects.
      x-parity-id: API-078
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - titles
              properties:
                titles:
                  type: array
                  minItems: 2
                  maxItems: 50
                  items:
                    type: string
                    minLength: 1
                    maxLength: 200
                confirmationToken:
                  type: string
                  minLength: 32
                  maxLength: 4096
                  writeOnly: true
              additionalProperties: false
            example:
              titles:
                - Ceramic lamp - A
                - Ceramic lamp - B
      responses:
        "200":
          description: Exact previewProcessItemDivision result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - source
                      - titles
                      - copies
                      - exactWorkflowCopy
                      - confirmationToken
                      - expiresAt
                      - effects
                    properties:
                      source:
                        type: object
                        required:
                          - id
                          - processId
                          - templateId
                          - companyId
                          - title
                          - status
                          - archived
                          - archivedAt
                          - archivedReason
                          - readOnly
                          - fieldValues
                          - templateSnapshot
                          - templateVersion
                          - workflowCustomizedAt
                          - sortPosition
                          - createdAt
                          - updatedAt
                          - completedAt
                          - version
                          - allowedActions
                        properties:
                          id:
                            type: string
                          processId:
                            type: string
                          templateId:
                            type:
                              - string
                              - "null"
                          companyId:
                            type:
                              - string
                              - "null"
                          title:
                            type: string
                          status:
                            type: string
                            enum:
                              - active
                              - completed
                          archived:
                            type: boolean
                          archivedAt:
                            type: string
                            format: date-time
                          archivedReason:
                            type:
                              - string
                              - "null"
                          readOnly:
                            type: boolean
                          fieldValues:
                            type: object
                            additionalProperties: true
                          templateSnapshot:
                            type:
                              - object
                              - "null"
                            additionalProperties: true
                          templateVersion:
                            type:
                              - integer
                              - "null"
                          workflowCustomizedAt:
                            type: string
                            format: date-time
                          sortPosition:
                            type: number
                          createdAt:
                            type: string
                            format: date-time
                          updatedAt:
                            type: string
                            format: date-time
                          completedAt:
                            type: string
                            format: date-time
                          version:
                            type: integer
                            minimum: 1
                          allowedActions:
                            type: array
                            items:
                              type: string
                          stages:
                            type: array
                            items:
                              type: object
                              required:
                                - id
                                - processInstanceId
                                - titleEn
                                - titleRu
                                - position
                                - status
                                - createdAt
                                - updatedAt
                                - version
                              properties:
                                id:
                                  type: string
                                processInstanceId:
                                  type: string
                                titleEn:
                                  type: string
                                titleRu:
                                  type: string
                                descriptionEn:
                                  type: string
                                descriptionRu:
                                  type: string
                                position:
                                  type: integer
                                status:
                                  type: string
                                  enum:
                                    - pending
                                    - open
                                    - completed
                                    - not_required
                                durationWorkingDays:
                                  type:
                                    - integer
                                    - "null"
                                startedAt:
                                  type: string
                                  format: date-time
                                dueDate:
                                  type:
                                    - string
                                    - "null"
                                  format: date
                                completedAt:
                                  type: string
                                  format: date-time
                                createdAt:
                                  type: string
                                  format: date-time
                                updatedAt:
                                  type: string
                                  format: date-time
                                version:
                                  type: integer
                                  minimum: 1
                              additionalProperties: false
                          tasks:
                            type: array
                            items:
                              type: object
                              required:
                                - id
                                - processInstanceId
                                - stageId
                                - titleEn
                                - titleRu
                                - position
                                - status
                                - pinned
                                - scheduleType
                                - createdAt
                                - updatedAt
                                - version
                              properties:
                                id:
                                  type: string
                                processInstanceId:
                                  type: string
                                stageId:
                                  type: string
                                titleEn:
                                  type: string
                                titleRu:
                                  type: string
                                descriptionEn:
                                  type: string
                                descriptionRu:
                                  type: string
                                notes:
                                  type: string
                                position:
                                  type: integer
                                status:
                                  type: string
                                  enum:
                                    - open
                                    - done
                                pinned:
                                  type: boolean
                                scheduleType:
                                  type: string
                                dueDate:
                                  type:
                                    - string
                                    - "null"
                                  format: date
                                recurrence: {}
                                completedAt:
                                  type: string
                                  format: date-time
                                createdAt:
                                  type: string
                                  format: date-time
                                updatedAt:
                                  type: string
                                  format: date-time
                                version:
                                  type: integer
                                  minimum: 1
                              additionalProperties: false
                        additionalProperties: false
                      titles:
                        type: array
                        items:
                          type: string
                      copies:
                        type: integer
                      exactWorkflowCopy:
                        type: boolean
                      confirmationToken:
                        type: string
                      expiresAt:
                        type: string
                        format: date-time
                      effects:
                        type: array
                        minItems: 1
                        maxItems: 1
                        items:
                          type: object
                          required:
                            - source
                            - titles
                            - copies
                            - exactWorkflowCopy
                          properties:
                            source:
                              type: object
                              required:
                                - id
                                - processId
                                - templateId
                                - companyId
                                - title
                                - status
                                - archived
                                - archivedAt
                                - archivedReason
                                - readOnly
                                - fieldValues
                                - templateSnapshot
                                - templateVersion
                                - workflowCustomizedAt
                                - sortPosition
                                - createdAt
                                - updatedAt
                                - completedAt
                                - version
                                - allowedActions
                              properties:
                                id:
                                  type: string
                                processId:
                                  type: string
                                templateId:
                                  type:
                                    - string
                                    - "null"
                                companyId:
                                  type:
                                    - string
                                    - "null"
                                title:
                                  type: string
                                status:
                                  type: string
                                  enum:
                                    - active
                                    - completed
                                archived:
                                  type: boolean
                                archivedAt:
                                  type: string
                                  format: date-time
                                archivedReason:
                                  type:
                                    - string
                                    - "null"
                                readOnly:
                                  type: boolean
                                fieldValues:
                                  type: object
                                  additionalProperties: true
                                templateSnapshot:
                                  type:
                                    - object
                                    - "null"
                                  additionalProperties: true
                                templateVersion:
                                  type:
                                    - integer
                                    - "null"
                                workflowCustomizedAt:
                                  type: string
                                  format: date-time
                                sortPosition:
                                  type: number
                                createdAt:
                                  type: string
                                  format: date-time
                                updatedAt:
                                  type: string
                                  format: date-time
                                completedAt:
                                  type: string
                                  format: date-time
                                version:
                                  type: integer
                                  minimum: 1
                                allowedActions:
                                  type: array
                                  items:
                                    type: string
                                stages:
                                  type: array
                                  items:
                                    type: object
                                    required:
                                      - id
                                      - processInstanceId
                                      - titleEn
                                      - titleRu
                                      - position
                                      - status
                                      - createdAt
                                      - updatedAt
                                      - version
                                    properties:
                                      id:
                                        type: string
                                      processInstanceId:
                                        type: string
                                      titleEn:
                                        type: string
                                      titleRu:
                                        type: string
                                      descriptionEn:
                                        type: string
                                      descriptionRu:
                                        type: string
                                      position:
                                        type: integer
                                      status:
                                        type: string
                                        enum:
                                          - pending
                                          - open
                                          - completed
                                          - not_required
                                      durationWorkingDays:
                                        type:
                                          - integer
                                          - "null"
                                      startedAt:
                                        type: string
                                        format: date-time
                                      dueDate:
                                        type:
                                          - string
                                          - "null"
                                        format: date
                                      completedAt:
                                        type: string
                                        format: date-time
                                      createdAt:
                                        type: string
                                        format: date-time
                                      updatedAt:
                                        type: string
                                        format: date-time
                                      version:
                                        type: integer
                                        minimum: 1
                                    additionalProperties: false
                                tasks:
                                  type: array
                                  items:
                                    type: object
                                    required:
                                      - id
                                      - processInstanceId
                                      - stageId
                                      - titleEn
                                      - titleRu
                                      - position
                                      - status
                                      - pinned
                                      - scheduleType
                                      - createdAt
                                      - updatedAt
                                      - version
                                    properties:
                                      id:
                                        type: string
                                      processInstanceId:
                                        type: string
                                      stageId:
                                        type: string
                                      titleEn:
                                        type: string
                                      titleRu:
                                        type: string
                                      descriptionEn:
                                        type: string
                                      descriptionRu:
                                        type: string
                                      notes:
                                        type: string
                                      position:
                                        type: integer
                                      status:
                                        type: string
                                        enum:
                                          - open
                                          - done
                                      pinned:
                                        type: boolean
                                      scheduleType:
                                        type: string
                                      dueDate:
                                        type:
                                          - string
                                          - "null"
                                        format: date
                                      recurrence: {}
                                      completedAt:
                                        type: string
                                        format: date-time
                                      createdAt:
                                        type: string
                                        format: date-time
                                      updatedAt:
                                        type: string
                                        format: date-time
                                      version:
                                        type: integer
                                        minimum: 1
                                    additionalProperties: false
                              additionalProperties: false
                            titles:
                              type: array
                              items:
                                type: string
                            copies:
                              type: integer
                            exactWorkflowCopy:
                              type: boolean
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /processes/{processId}/items/{itemId}/divide:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/ItemId"
    post:
      operationId: divideProcessItem
      tags:
        - Process items
      summary: Divide an item using an approved preview.
      x-parity-id: API-078
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: true
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ConfirmationBody"
      responses:
        "200":
          description: Exact divideProcessItem result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - sourceId
                      - items
                    properties:
                      sourceId:
                        type: string
                      items:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - processId
                            - templateId
                            - companyId
                            - title
                            - status
                            - archived
                            - archivedAt
                            - archivedReason
                            - readOnly
                            - fieldValues
                            - templateSnapshot
                            - templateVersion
                            - workflowCustomizedAt
                            - sortPosition
                            - createdAt
                            - updatedAt
                            - completedAt
                            - version
                            - allowedActions
                          properties:
                            id:
                              type: string
                            processId:
                              type: string
                            templateId:
                              type:
                                - string
                                - "null"
                            companyId:
                              type:
                                - string
                                - "null"
                            title:
                              type: string
                            status:
                              type: string
                              enum:
                                - active
                                - completed
                            archived:
                              type: boolean
                            archivedAt:
                              type: string
                              format: date-time
                            archivedReason:
                              type:
                                - string
                                - "null"
                            readOnly:
                              type: boolean
                            fieldValues:
                              type: object
                              additionalProperties: true
                            templateSnapshot:
                              type:
                                - object
                                - "null"
                              additionalProperties: true
                            templateVersion:
                              type:
                                - integer
                                - "null"
                            workflowCustomizedAt:
                              type: string
                              format: date-time
                            sortPosition:
                              type: number
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            completedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                            allowedActions:
                              type: array
                              items:
                                type: string
                            stages:
                              type: array
                              items:
                                type: object
                                required:
                                  - id
                                  - processInstanceId
                                  - titleEn
                                  - titleRu
                                  - position
                                  - status
                                  - createdAt
                                  - updatedAt
                                  - version
                                properties:
                                  id:
                                    type: string
                                  processInstanceId:
                                    type: string
                                  titleEn:
                                    type: string
                                  titleRu:
                                    type: string
                                  descriptionEn:
                                    type: string
                                  descriptionRu:
                                    type: string
                                  position:
                                    type: integer
                                  status:
                                    type: string
                                    enum:
                                      - pending
                                      - open
                                      - completed
                                      - not_required
                                  durationWorkingDays:
                                    type:
                                      - integer
                                      - "null"
                                  startedAt:
                                    type: string
                                    format: date-time
                                  dueDate:
                                    type:
                                      - string
                                      - "null"
                                    format: date
                                  completedAt:
                                    type: string
                                    format: date-time
                                  createdAt:
                                    type: string
                                    format: date-time
                                  updatedAt:
                                    type: string
                                    format: date-time
                                  version:
                                    type: integer
                                    minimum: 1
                                additionalProperties: false
                            tasks:
                              type: array
                              items:
                                type: object
                                required:
                                  - id
                                  - processInstanceId
                                  - stageId
                                  - titleEn
                                  - titleRu
                                  - position
                                  - status
                                  - pinned
                                  - scheduleType
                                  - createdAt
                                  - updatedAt
                                  - version
                                properties:
                                  id:
                                    type: string
                                  processInstanceId:
                                    type: string
                                  stageId:
                                    type: string
                                  titleEn:
                                    type: string
                                  titleRu:
                                    type: string
                                  descriptionEn:
                                    type: string
                                  descriptionRu:
                                    type: string
                                  notes:
                                    type: string
                                  position:
                                    type: integer
                                  status:
                                    type: string
                                    enum:
                                      - open
                                      - done
                                  pinned:
                                    type: boolean
                                  scheduleType:
                                    type: string
                                  dueDate:
                                    type:
                                      - string
                                      - "null"
                                    format: date
                                  recurrence: {}
                                  completedAt:
                                    type: string
                                    format: date-time
                                  createdAt:
                                    type: string
                                    format: date-time
                                  updatedAt:
                                    type: string
                                    format: date-time
                                  version:
                                    type: integer
                                    minimum: 1
                                additionalProperties: false
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /processes/{processId}/items/{itemId}/archive:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/ItemId"
    post:
      operationId: archiveProcessItem
      tags:
        - Process items
        - Archive and history
      summary: Archive a tracked item.
      x-parity-id: API-079
      x-stability: stable
      x-scopes:
        - archive:write
      x-destructive: true
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Tracked item.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - processId
                      - templateId
                      - companyId
                      - title
                      - status
                      - archived
                      - archivedAt
                      - archivedReason
                      - readOnly
                      - fieldValues
                      - templateSnapshot
                      - templateVersion
                      - workflowCustomizedAt
                      - sortPosition
                      - createdAt
                      - updatedAt
                      - completedAt
                      - version
                      - allowedActions
                    properties:
                      id:
                        type: string
                      processId:
                        type: string
                      templateId:
                        type:
                          - string
                          - "null"
                      companyId:
                        type:
                          - string
                          - "null"
                      title:
                        type: string
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      archivedReason:
                        type:
                          - string
                          - "null"
                      readOnly:
                        type: boolean
                      fieldValues:
                        type: object
                        additionalProperties: true
                      templateSnapshot:
                        type:
                          - object
                          - "null"
                        additionalProperties: true
                      templateVersion:
                        type:
                          - integer
                          - "null"
                      workflowCustomizedAt:
                        type: string
                        format: date-time
                      sortPosition:
                        type: number
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      allowedActions:
                        type: array
                        items:
                          type: string
                      stages:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - processInstanceId
                            - titleEn
                            - titleRu
                            - position
                            - status
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            processInstanceId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - pending
                                - open
                                - completed
                                - not_required
                            durationWorkingDays:
                              type:
                                - integer
                                - "null"
                            startedAt:
                              type: string
                              format: date-time
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      tasks:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - processInstanceId
                            - stageId
                            - titleEn
                            - titleRu
                            - position
                            - status
                            - pinned
                            - scheduleType
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            processInstanceId:
                              type: string
                            stageId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            notes:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - open
                                - done
                            pinned:
                              type: boolean
                            scheduleType:
                              type: string
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            recurrence: {}
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /processes/{processId}/items/{itemId}/restore:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/ItemId"
    post:
      operationId: restoreProcessItem
      tags:
        - Process items
        - Archive and history
      summary: Restore an archived tracked item.
      x-parity-id: API-079
      x-stability: stable
      x-scopes:
        - archive:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Tracked item.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - processId
                      - templateId
                      - companyId
                      - title
                      - status
                      - archived
                      - archivedAt
                      - archivedReason
                      - readOnly
                      - fieldValues
                      - templateSnapshot
                      - templateVersion
                      - workflowCustomizedAt
                      - sortPosition
                      - createdAt
                      - updatedAt
                      - completedAt
                      - version
                      - allowedActions
                    properties:
                      id:
                        type: string
                      processId:
                        type: string
                      templateId:
                        type:
                          - string
                          - "null"
                      companyId:
                        type:
                          - string
                          - "null"
                      title:
                        type: string
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      archivedReason:
                        type:
                          - string
                          - "null"
                      readOnly:
                        type: boolean
                      fieldValues:
                        type: object
                        additionalProperties: true
                      templateSnapshot:
                        type:
                          - object
                          - "null"
                        additionalProperties: true
                      templateVersion:
                        type:
                          - integer
                          - "null"
                      workflowCustomizedAt:
                        type: string
                        format: date-time
                      sortPosition:
                        type: number
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      allowedActions:
                        type: array
                        items:
                          type: string
                      stages:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - processInstanceId
                            - titleEn
                            - titleRu
                            - position
                            - status
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            processInstanceId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - pending
                                - open
                                - completed
                                - not_required
                            durationWorkingDays:
                              type:
                                - integer
                                - "null"
                            startedAt:
                              type: string
                              format: date-time
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      tasks:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - processInstanceId
                            - stageId
                            - titleEn
                            - titleRu
                            - position
                            - status
                            - pinned
                            - scheduleType
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            processInstanceId:
                              type: string
                            stageId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            notes:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - open
                                - done
                            pinned:
                              type: boolean
                            scheduleType:
                              type: string
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            recurrence: {}
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /processes/{processId}/items/{itemId}/delete-preview:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/ItemId"
    post:
      operationId: previewProcessItemDeletion
      tags:
        - Process items
        - Archive and history
      summary: Preview item/workflow/history deletion.
      x-parity-id: API-080
      x-stability: stable
      x-scopes:
        - destructive:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              maxProperties: 0
              additionalProperties: false
            example: {}
      responses:
        "200":
          description: Exact previewProcessItemDeletion result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - itemId
                      - stages
                      - tasks
                      - version
                      - confirmationToken
                      - expiresAt
                      - effects
                    properties:
                      itemId:
                        type: string
                      stages:
                        type: integer
                      tasks:
                        type: integer
                      version:
                        type: integer
                      confirmationToken:
                        type: string
                      expiresAt:
                        type: string
                        format: date-time
                      effects:
                        type: array
                        minItems: 1
                        maxItems: 1
                        items:
                          type: object
                          required:
                            - itemId
                            - stages
                            - tasks
                            - version
                          properties:
                            itemId:
                              type: string
                            stages:
                              type: integer
                            tasks:
                              type: integer
                            version:
                              type: integer
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /processes/{processId}/items/{itemId}/permanent-delete:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/ItemId"
    post:
      operationId: permanentlyDeleteProcessItem
      tags:
        - Process items
        - Archive and history
      summary: Permanently delete an archived item after confirmation.
      x-parity-id: API-080
      x-stability: stable
      x-scopes:
        - archive:write
        - destructive:write
      x-destructive: true
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ConfirmationBody"
      responses:
        "200":
          description: Permanent deletion summary.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - deleted
                      - id
                    properties:
                      deleted:
                        const: true
                      id:
                        type: string
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /processes/{processId}/items/{itemId}/stages:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/ItemId"
    post:
      operationId: createProcessItemStage
      tags:
        - Process-item workflow
      summary: Add an item-specific stage without editing its source template.
      x-parity-id: API-081
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - titleEn
                - titleRu
              properties:
                titleEn:
                  type: string
                  minLength: 1
                  maxLength: 200
                titleRu:
                  type: string
                  minLength: 1
                  maxLength: 200
                descriptionEn:
                  type: string
                  maxLength: 2000
                descriptionRu:
                  type: string
                  maxLength: 2000
                durationWorkingDays:
                  type: integer
                  minimum: 0
                  maximum: 3650
                position:
                  type: integer
                  minimum: 0
              additionalProperties: false
            example:
              titleEn: Final review
              titleRu: Р В¤Р С‘Р Р…Р В°Р В»РЎРЉР Р…Р В°РЎРЏ Р С—РЎР‚Р С•Р Р†Р ВµРЎР‚Р С”Р В°
              durationWorkingDays: 2
      responses:
        "201":
          description: Created child identifier.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                    properties:
                      id:
                        type: string
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /processes/{processId}/items/{itemId}/stages/{stageId}:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/ItemId"
      - $ref: "#/components/parameters/StageId"
    patch:
      operationId: updateProcessItemStage
      tags:
        - Process-item workflow
      summary: Update an item-specific stage.
      x-parity-id: API-081
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              minProperties: 1
              properties:
                titleEn:
                  type: string
                  minLength: 1
                  maxLength: 200
                titleRu:
                  type: string
                  minLength: 1
                  maxLength: 200
                descriptionEn:
                  type: string
                  maxLength: 2000
                descriptionRu:
                  type: string
                  maxLength: 2000
                durationWorkingDays:
                  type: integer
                  minimum: 0
                  maximum: 3650
                position:
                  type: integer
                  minimum: 0
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              durationWorkingDays: 3
              expectedVersion: 4
      responses:
        "200":
          description: Tracked-item stage.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - processInstanceId
                      - titleEn
                      - titleRu
                      - position
                      - status
                      - createdAt
                      - updatedAt
                      - version
                    properties:
                      id:
                        type: string
                      processInstanceId:
                        type: string
                      titleEn:
                        type: string
                      titleRu:
                        type: string
                      descriptionEn:
                        type: string
                      descriptionRu:
                        type: string
                      position:
                        type: integer
                      status:
                        type: string
                        enum:
                          - pending
                          - open
                          - completed
                          - not_required
                      durationWorkingDays:
                        type:
                          - integer
                          - "null"
                      startedAt:
                        type: string
                        format: date-time
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /processes/{processId}/items/{itemId}/stages/{stageId}/complete:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/ItemId"
      - $ref: "#/components/parameters/StageId"
    post:
      operationId: completeProcessItemStage
      tags:
        - Process-item workflow
      summary: Complete an allowed item stage.
      x-parity-id: API-082
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Tracked-item stage.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - processInstanceId
                      - titleEn
                      - titleRu
                      - position
                      - status
                      - createdAt
                      - updatedAt
                      - version
                    properties:
                      id:
                        type: string
                      processInstanceId:
                        type: string
                      titleEn:
                        type: string
                      titleRu:
                        type: string
                      descriptionEn:
                        type: string
                      descriptionRu:
                        type: string
                      position:
                        type: integer
                      status:
                        type: string
                        enum:
                          - pending
                          - open
                          - completed
                          - not_required
                      durationWorkingDays:
                        type:
                          - integer
                          - "null"
                      startedAt:
                        type: string
                        format: date-time
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /processes/{processId}/items/{itemId}/stages/{stageId}/reopen:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/ItemId"
      - $ref: "#/components/parameters/StageId"
    post:
      operationId: reopenProcessItemStage
      tags:
        - Process-item workflow
      summary: Reopen a completed item stage.
      x-parity-id: API-082
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Tracked-item stage.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - processInstanceId
                      - titleEn
                      - titleRu
                      - position
                      - status
                      - createdAt
                      - updatedAt
                      - version
                    properties:
                      id:
                        type: string
                      processInstanceId:
                        type: string
                      titleEn:
                        type: string
                      titleRu:
                        type: string
                      descriptionEn:
                        type: string
                      descriptionRu:
                        type: string
                      position:
                        type: integer
                      status:
                        type: string
                        enum:
                          - pending
                          - open
                          - completed
                          - not_required
                      durationWorkingDays:
                        type:
                          - integer
                          - "null"
                      startedAt:
                        type: string
                        format: date-time
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /processes/{processId}/items/{itemId}/stages/{stageId}/tasks:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/ItemId"
      - $ref: "#/components/parameters/StageId"
    post:
      operationId: createProcessItemTask
      tags:
        - Process-item workflow
      summary: Add an item-specific checklist task.
      x-parity-id: API-083
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - titleEn
                - titleRu
              properties:
                titleEn:
                  type: string
                  minLength: 1
                  maxLength: 200
                titleRu:
                  type: string
                  minLength: 1
                  maxLength: 200
                descriptionEn:
                  type: string
                  maxLength: 2000
                descriptionRu:
                  type: string
                  maxLength: 2000
                notes:
                  type: string
                  maxLength: 20000
                status:
                  type: string
                  enum:
                    - open
                    - done
                    - not_required
                scheduleType:
                  type: string
                  enum:
                    - none
                    - fixed_date
                    - shipment_relative
                    - weekly_until
                dueDate:
                  $ref: "#/components/schemas/LocalDate"
                shipmentOffsetDays:
                  type: integer
                  minimum: -3650
                  maximum: 3650
                weeklyStopOffsetDays:
                  type: integer
                  minimum: -3650
                  maximum: 3650
                recurrence:
                  type: object
                  additionalProperties: true
                position:
                  type: integer
                  minimum: 0
              additionalProperties: false
            example:
              titleEn: Confirm sample
              titleRu: Р СџР С•Р Т‘РЎвЂљР Р†Р ВµРЎР‚Р Т‘Р С‘РЎвЂљРЎРЉ Р С•Р В±РЎР‚Р В°Р В·Р ВµРЎвЂ 
              scheduleType: fixed_date
              dueDate: 2026-08-25
      responses:
        "201":
          description: Created child identifier.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                    properties:
                      id:
                        type: string
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /processes/{processId}/items/{itemId}/stages/{stageId}/tasks/reorder:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/ItemId"
      - $ref: "#/components/parameters/StageId"
    post:
      operationId: reorderProcessItemTasks
      tags:
        - Process-item workflow
      summary: Reorder tasks in an item stage.
      x-parity-id: API-084
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - taskIds
              properties:
                taskIds:
                  type: array
                  minItems: 1
                  maxItems: 100
                  uniqueItems: true
                  items:
                    $ref: "#/components/schemas/OpaqueId"
                expectedVersions:
                  type: object
                  additionalProperties:
                    type: integer
                    minimum: 1
              additionalProperties: false
            example:
              taskIds:
                - wft_confirm_sample
              expectedVersions:
                wft_confirm_sample: 2
      responses:
        "200":
          description: Reorder summary.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - reordered
                    properties:
                      reordered:
                        type: integer
                        minimum: 0
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /processes/{processId}/items/{itemId}/stages/{stageId}/tasks/{workflowTaskId}:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/ItemId"
      - $ref: "#/components/parameters/StageId"
      - $ref: "#/components/parameters/WorkflowTaskId"
    patch:
      operationId: updateProcessItemTask
      tags:
        - Process-item workflow
      summary: Update an item-specific checklist task and schedule.
      x-parity-id: API-083
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              minProperties: 1
              properties:
                titleEn:
                  type: string
                  minLength: 1
                  maxLength: 200
                titleRu:
                  type: string
                  minLength: 1
                  maxLength: 200
                descriptionEn:
                  type: string
                  maxLength: 2000
                descriptionRu:
                  type: string
                  maxLength: 2000
                notes:
                  type: string
                  maxLength: 20000
                scheduleType:
                  type: string
                  enum:
                    - none
                    - fixed_date
                    - shipment_relative
                    - weekly_until
                dueDate:
                  $ref: "#/components/schemas/LocalDate"
                shipmentOffsetDays:
                  type: integer
                  minimum: -3650
                  maximum: 3650
                weeklyStopOffsetDays:
                  type: integer
                  minimum: -3650
                  maximum: 3650
                recurrence:
                  type: object
                  additionalProperties: true
                position:
                  type: integer
                  minimum: 0
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              notes: Ask for written approval
              expectedVersion: 2
      responses:
        "200":
          description: Tracked-item task.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - processInstanceId
                      - stageId
                      - titleEn
                      - titleRu
                      - position
                      - status
                      - pinned
                      - scheduleType
                      - createdAt
                      - updatedAt
                      - version
                    properties:
                      id:
                        type: string
                      processInstanceId:
                        type: string
                      stageId:
                        type: string
                      titleEn:
                        type: string
                      titleRu:
                        type: string
                      descriptionEn:
                        type: string
                      descriptionRu:
                        type: string
                      notes:
                        type: string
                      position:
                        type: integer
                      status:
                        type: string
                        enum:
                          - open
                          - done
                      pinned:
                        type: boolean
                      scheduleType:
                        type: string
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      recurrence: {}
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /processes/{processId}/items/{itemId}/stages/{stageId}/tasks/{workflowTaskId}/complete:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/ItemId"
      - $ref: "#/components/parameters/StageId"
      - $ref: "#/components/parameters/WorkflowTaskId"
    post:
      operationId: completeProcessItemTask
      tags:
        - Process-item workflow
      summary: Complete an allowed item checklist task.
      x-parity-id: API-084
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Tracked-item task.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - processInstanceId
                      - stageId
                      - titleEn
                      - titleRu
                      - position
                      - status
                      - pinned
                      - scheduleType
                      - createdAt
                      - updatedAt
                      - version
                    properties:
                      id:
                        type: string
                      processInstanceId:
                        type: string
                      stageId:
                        type: string
                      titleEn:
                        type: string
                      titleRu:
                        type: string
                      descriptionEn:
                        type: string
                      descriptionRu:
                        type: string
                      notes:
                        type: string
                      position:
                        type: integer
                      status:
                        type: string
                        enum:
                          - open
                          - done
                      pinned:
                        type: boolean
                      scheduleType:
                        type: string
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      recurrence: {}
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /processes/{processId}/items/{itemId}/stages/{stageId}/tasks/{workflowTaskId}/reopen:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/ItemId"
      - $ref: "#/components/parameters/StageId"
      - $ref: "#/components/parameters/WorkflowTaskId"
    post:
      operationId: reopenProcessItemTask
      tags:
        - Process-item workflow
      summary: Reopen a completed item checklist task.
      x-parity-id: API-084
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Tracked-item task.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - processInstanceId
                      - stageId
                      - titleEn
                      - titleRu
                      - position
                      - status
                      - pinned
                      - scheduleType
                      - createdAt
                      - updatedAt
                      - version
                    properties:
                      id:
                        type: string
                      processInstanceId:
                        type: string
                      stageId:
                        type: string
                      titleEn:
                        type: string
                      titleRu:
                        type: string
                      descriptionEn:
                        type: string
                      descriptionRu:
                        type: string
                      notes:
                        type: string
                      position:
                        type: integer
                      status:
                        type: string
                        enum:
                          - open
                          - done
                      pinned:
                        type: boolean
                      scheduleType:
                        type: string
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      recurrence: {}
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /processes/{processId}/items/{itemId}/stages/{stageId}/tasks/{workflowTaskId}/pin:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/ItemId"
      - $ref: "#/components/parameters/StageId"
      - $ref: "#/components/parameters/WorkflowTaskId"
    post:
      operationId: pinProcessItemTask
      tags:
        - Process-item workflow
      summary: Pin an item checklist task.
      x-parity-id: API-084
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Tracked-item task.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - processInstanceId
                      - stageId
                      - titleEn
                      - titleRu
                      - position
                      - status
                      - pinned
                      - scheduleType
                      - createdAt
                      - updatedAt
                      - version
                    properties:
                      id:
                        type: string
                      processInstanceId:
                        type: string
                      stageId:
                        type: string
                      titleEn:
                        type: string
                      titleRu:
                        type: string
                      descriptionEn:
                        type: string
                      descriptionRu:
                        type: string
                      notes:
                        type: string
                      position:
                        type: integer
                      status:
                        type: string
                        enum:
                          - open
                          - done
                      pinned:
                        type: boolean
                      scheduleType:
                        type: string
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      recurrence: {}
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /processes/{processId}/items/{itemId}/stages/{stageId}/tasks/{workflowTaskId}/unpin:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/ItemId"
      - $ref: "#/components/parameters/StageId"
      - $ref: "#/components/parameters/WorkflowTaskId"
    post:
      operationId: unpinProcessItemTask
      tags:
        - Process-item workflow
      summary: Unpin an item checklist task.
      x-parity-id: API-084
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Tracked-item task.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - processInstanceId
                      - stageId
                      - titleEn
                      - titleRu
                      - position
                      - status
                      - pinned
                      - scheduleType
                      - createdAt
                      - updatedAt
                      - version
                    properties:
                      id:
                        type: string
                      processInstanceId:
                        type: string
                      stageId:
                        type: string
                      titleEn:
                        type: string
                      titleRu:
                        type: string
                      descriptionEn:
                        type: string
                      descriptionRu:
                        type: string
                      notes:
                        type: string
                      position:
                        type: integer
                      status:
                        type: string
                        enum:
                          - open
                          - done
                      pinned:
                        type: boolean
                      scheduleType:
                        type: string
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      recurrence: {}
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /orders:
    get:
      operationId: listOrders
      tags:
        - Orders
      summary: List active, completed, or archived orders with stable filters.
      x-parity-id: API-085
      x-stability: stable
      x-scopes:
        - workspace:read
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/Limit"
      responses:
        "200":
          description: Cursor-paginated orders.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - items
                      - nextCursor
                    properties:
                      items:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - companyId
                            - templateKey
                            - templateName
                            - important
                            - fieldValues
                            - specNo
                            - supplier
                            - invoiceNumber
                            - orderNumber
                            - containerQty
                            - plannedShipmentDate
                            - deliveryDays
                            - estimatedArrivalDate
                            - comment
                            - status
                            - archived
                            - archivedAt
                            - sortPosition
                            - createdAt
                            - updatedAt
                            - completedAt
                            - version
                            - company
                            - stages
                            - tasks
                            - progress
                            - availableActions
                          properties:
                            id:
                              type: string
                            companyId:
                              type:
                                - string
                                - "null"
                            templateKey:
                              type:
                                - string
                                - "null"
                            templateName:
                              type:
                                - string
                                - "null"
                            important:
                              type: boolean
                            fieldValues:
                              type: object
                              additionalProperties: true
                            specNo:
                              type: string
                            supplier:
                              type: string
                            invoiceNumber:
                              type: string
                            orderNumber:
                              type: string
                            containerQty:
                              type: number
                            plannedShipmentDate:
                              type: string
                              format: date
                            deliveryDays:
                              type: integer
                            estimatedArrivalDate:
                              type: string
                              format: date
                            comment:
                              type: string
                            status:
                              type: string
                              enum:
                                - active
                                - completed
                            archived:
                              type: boolean
                            archivedAt:
                              type: string
                              format: date-time
                            sortPosition:
                              type:
                                - number
                                - "null"
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            completedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                            company:
                              type:
                                - object
                                - "null"
                              additionalProperties: true
                            stages:
                              type: array
                              items:
                                type: object
                                required:
                                  - id
                                  - orderId
                                  - titleEn
                                  - titleRu
                                  - descriptionEn
                                  - descriptionRu
                                  - position
                                  - status
                                  - durationWorkingDays
                                  - startedAt
                                  - dueDate
                                  - completedAt
                                  - createdAt
                                  - updatedAt
                                  - version
                                properties:
                                  id:
                                    type: string
                                  orderId:
                                    type: string
                                  titleEn:
                                    type: string
                                  titleRu:
                                    type: string
                                  descriptionEn:
                                    type: string
                                  descriptionRu:
                                    type: string
                                  position:
                                    type: integer
                                  status:
                                    type: string
                                    enum:
                                      - pending
                                      - open
                                      - completed
                                      - not_required
                                  durationWorkingDays:
                                    type:
                                      - integer
                                      - "null"
                                  startedAt:
                                    type: string
                                    format: date-time
                                  dueDate:
                                    type:
                                      - string
                                      - "null"
                                    format: date
                                  completedAt:
                                    type: string
                                    format: date-time
                                  createdAt:
                                    type: string
                                    format: date-time
                                  updatedAt:
                                    type: string
                                    format: date-time
                                  version:
                                    type: integer
                                    minimum: 1
                                additionalProperties: false
                            tasks:
                              type: array
                              items:
                                type: object
                                required:
                                  - id
                                  - orderId
                                  - stageId
                                  - titleEn
                                  - titleRu
                                  - descriptionEn
                                  - descriptionRu
                                  - notes
                                  - position
                                  - status
                                  - pinned
                                  - scheduleType
                                  - dueDate
                                  - shipmentOffsetDays
                                  - weeklyStopOffsetDays
                                  - completedAt
                                  - createdAt
                                  - updatedAt
                                  - version
                                properties:
                                  id:
                                    type: string
                                  orderId:
                                    type: string
                                  stageId:
                                    type: string
                                  titleEn:
                                    type: string
                                  titleRu:
                                    type: string
                                  descriptionEn:
                                    type: string
                                  descriptionRu:
                                    type: string
                                  notes:
                                    type: string
                                  position:
                                    type: integer
                                  status:
                                    type: string
                                    enum:
                                      - open
                                      - done
                                      - not_required
                                  pinned:
                                    type: boolean
                                  scheduleType:
                                    type: string
                                    enum:
                                      - none
                                      - stage_deadline
                                      - weekly
                                      - shipment_relative
                                      - manual
                                  dueDate:
                                    type:
                                      - string
                                      - "null"
                                    format: date
                                  shipmentOffsetDays:
                                    type:
                                      - integer
                                      - "null"
                                  weeklyStopOffsetDays:
                                    type:
                                      - integer
                                      - "null"
                                  completedAt:
                                    type: string
                                    format: date-time
                                  createdAt:
                                    type: string
                                    format: date-time
                                  updatedAt:
                                    type: string
                                    format: date-time
                                  version:
                                    type: integer
                                    minimum: 1
                                additionalProperties: false
                            progress:
                              type: object
                              required:
                                - completedTasks
                                - totalTasks
                                - percent
                              properties:
                                completedTasks:
                                  type: integer
                                totalTasks:
                                  type: integer
                                percent:
                                  type: integer
                              additionalProperties: false
                            availableActions:
                              type: array
                              items:
                                type: string
                            activity:
                              type: array
                              items:
                                type: object
                                required:
                                  - id
                                  - orderId
                                  - kind
                                  - labelEn
                                  - labelRu
                                  - createdAt
                                properties:
                                  id:
                                    type: string
                                  orderId:
                                    type: string
                                  kind:
                                    type: string
                                  labelEn:
                                    type: string
                                  labelRu:
                                    type: string
                                  createdAt:
                                    type: string
                                    format: date-time
                                  order:
                                    type: object
                                    additionalProperties: true
                                    description: Order summary attached only by the weekly-activity projection.
                                additionalProperties: false
                          additionalProperties: false
                      nextCursor:
                        type:
                          - string
                          - "null"
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "401":
          $ref: "#/components/responses/Unauthorized"
    post:
      operationId: createOrder
      tags:
        - Orders
      summary: Create an order from explicit, company-future-default, or process-default template precedence.
      description: The order receives an independent workflow snapshot and derived purchase dates.
      x-parity-id: API-086
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - specNo
                - supplier
                - invoiceNumber
                - orderNumber
                - containerQty
                - plannedShipmentDate
                - comment
              properties:
                specNo:
                  type: string
                  minLength: 1
                  maxLength: 200
                supplier:
                  type: string
                  minLength: 1
                  maxLength: 200
                invoiceNumber:
                  type: string
                  maxLength: 200
                orderNumber:
                  type: string
                  maxLength: 200
                containerQty:
                  type: number
                  minimum: 0
                  maximum: 1000000
                plannedShipmentDate:
                  $ref: "#/components/schemas/LocalDate"
                comment:
                  type: string
                  maxLength: 20000
                templateId:
                  $ref: "#/components/schemas/OpaqueId"
                templateKey:
                  type: string
                  maxLength: 128
                companyId:
                  $ref: "#/components/schemas/OpaqueId"
                fieldValues:
                  type: object
                  maxProperties: 100
                  additionalProperties: true
              additionalProperties: false
            example:
              specNo: SPEC-104
              supplier: Northstar Supplies
              invoiceNumber: INV-204
              orderNumber: PO-304
              containerQty: 1
              plannedShipmentDate: 2026-08-20
              comment: Summer samples
              companyId: cmp_northstar_supplies
      responses:
        "201":
          description: Order created.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - companyId
                      - templateKey
                      - templateName
                      - important
                      - fieldValues
                      - specNo
                      - supplier
                      - invoiceNumber
                      - orderNumber
                      - containerQty
                      - plannedShipmentDate
                      - deliveryDays
                      - estimatedArrivalDate
                      - comment
                      - status
                      - archived
                      - archivedAt
                      - sortPosition
                      - createdAt
                      - updatedAt
                      - completedAt
                      - version
                      - company
                      - stages
                      - tasks
                      - progress
                      - availableActions
                    properties:
                      id:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      templateKey:
                        type:
                          - string
                          - "null"
                      templateName:
                        type:
                          - string
                          - "null"
                      important:
                        type: boolean
                      fieldValues:
                        type: object
                        additionalProperties: true
                      specNo:
                        type: string
                      supplier:
                        type: string
                      invoiceNumber:
                        type: string
                      orderNumber:
                        type: string
                      containerQty:
                        type: number
                      plannedShipmentDate:
                        type: string
                        format: date
                      deliveryDays:
                        type: integer
                      estimatedArrivalDate:
                        type: string
                        format: date
                      comment:
                        type: string
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      sortPosition:
                        type:
                          - number
                          - "null"
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      company:
                        type:
                          - object
                          - "null"
                        additionalProperties: true
                      stages:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - titleEn
                            - titleRu
                            - descriptionEn
                            - descriptionRu
                            - position
                            - status
                            - durationWorkingDays
                            - startedAt
                            - dueDate
                            - completedAt
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - pending
                                - open
                                - completed
                                - not_required
                            durationWorkingDays:
                              type:
                                - integer
                                - "null"
                            startedAt:
                              type: string
                              format: date-time
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      tasks:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - stageId
                            - titleEn
                            - titleRu
                            - descriptionEn
                            - descriptionRu
                            - notes
                            - position
                            - status
                            - pinned
                            - scheduleType
                            - dueDate
                            - shipmentOffsetDays
                            - weeklyStopOffsetDays
                            - completedAt
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            stageId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            notes:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - open
                                - done
                                - not_required
                            pinned:
                              type: boolean
                            scheduleType:
                              type: string
                              enum:
                                - none
                                - stage_deadline
                                - weekly
                                - shipment_relative
                                - manual
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            shipmentOffsetDays:
                              type:
                                - integer
                                - "null"
                            weeklyStopOffsetDays:
                              type:
                                - integer
                                - "null"
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      progress:
                        type: object
                        required:
                          - completedTasks
                          - totalTasks
                          - percent
                        properties:
                          completedTasks:
                            type: integer
                          totalTasks:
                            type: integer
                          percent:
                            type: integer
                        additionalProperties: false
                      availableActions:
                        type: array
                        items:
                          type: string
                      activity:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - kind
                            - labelEn
                            - labelRu
                            - createdAt
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            kind:
                              type: string
                            labelEn:
                              type: string
                            labelRu:
                              type: string
                            createdAt:
                              type: string
                              format: date-time
                            order:
                              type: object
                              additionalProperties: true
                              description: Order summary attached only by the weekly-activity projection.
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "409":
          $ref: "#/components/responses/Conflict"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /orders/reorder:
    post:
      operationId: reorderOrders
      tags:
        - Orders
      summary: Reorder orders without patching internal positions.
      x-parity-id: API-088
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - orderId
                - targetOrderId
              properties:
                orderId:
                  $ref: "#/components/schemas/OpaqueId"
                targetOrderId:
                  $ref: "#/components/schemas/OpaqueId"
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              orderId: ord_summer_samples
              targetOrderId: ord_autumn_samples
              expectedVersion: 3
      responses:
        "200":
          description: Reorder summary.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - reordered
                    properties:
                      reordered:
                        type: integer
                        minimum: 0
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /orders/{orderId}:
    parameters:
      - $ref: "#/components/parameters/OrderId"
    get:
      operationId: getOrder
      tags:
        - Orders
      summary: Get specialised purchase fields, workflow snapshot, derived dates, and allowed actions.
      x-parity-id: API-085
      x-stability: stable
      x-scopes:
        - workspace:read
      x-destructive: false
      responses:
        "200":
          description: Order aggregate.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - companyId
                      - templateKey
                      - templateName
                      - important
                      - fieldValues
                      - specNo
                      - supplier
                      - invoiceNumber
                      - orderNumber
                      - containerQty
                      - plannedShipmentDate
                      - deliveryDays
                      - estimatedArrivalDate
                      - comment
                      - status
                      - archived
                      - archivedAt
                      - sortPosition
                      - createdAt
                      - updatedAt
                      - completedAt
                      - version
                      - company
                      - stages
                      - tasks
                      - progress
                      - availableActions
                    properties:
                      id:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      templateKey:
                        type:
                          - string
                          - "null"
                      templateName:
                        type:
                          - string
                          - "null"
                      important:
                        type: boolean
                      fieldValues:
                        type: object
                        additionalProperties: true
                      specNo:
                        type: string
                      supplier:
                        type: string
                      invoiceNumber:
                        type: string
                      orderNumber:
                        type: string
                      containerQty:
                        type: number
                      plannedShipmentDate:
                        type: string
                        format: date
                      deliveryDays:
                        type: integer
                      estimatedArrivalDate:
                        type: string
                        format: date
                      comment:
                        type: string
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      sortPosition:
                        type:
                          - number
                          - "null"
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      company:
                        type:
                          - object
                          - "null"
                        additionalProperties: true
                      stages:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - titleEn
                            - titleRu
                            - descriptionEn
                            - descriptionRu
                            - position
                            - status
                            - durationWorkingDays
                            - startedAt
                            - dueDate
                            - completedAt
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - pending
                                - open
                                - completed
                                - not_required
                            durationWorkingDays:
                              type:
                                - integer
                                - "null"
                            startedAt:
                              type: string
                              format: date-time
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      tasks:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - stageId
                            - titleEn
                            - titleRu
                            - descriptionEn
                            - descriptionRu
                            - notes
                            - position
                            - status
                            - pinned
                            - scheduleType
                            - dueDate
                            - shipmentOffsetDays
                            - weeklyStopOffsetDays
                            - completedAt
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            stageId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            notes:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - open
                                - done
                                - not_required
                            pinned:
                              type: boolean
                            scheduleType:
                              type: string
                              enum:
                                - none
                                - stage_deadline
                                - weekly
                                - shipment_relative
                                - manual
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            shipmentOffsetDays:
                              type:
                                - integer
                                - "null"
                            weeklyStopOffsetDays:
                              type:
                                - integer
                                - "null"
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      progress:
                        type: object
                        required:
                          - completedTasks
                          - totalTasks
                          - percent
                        properties:
                          completedTasks:
                            type: integer
                          totalTasks:
                            type: integer
                          percent:
                            type: integer
                        additionalProperties: false
                      availableActions:
                        type: array
                        items:
                          type: string
                      activity:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - kind
                            - labelEn
                            - labelRu
                            - createdAt
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            kind:
                              type: string
                            labelEn:
                              type: string
                            labelRu:
                              type: string
                            createdAt:
                              type: string
                              format: date-time
                            order:
                              type: object
                              additionalProperties: true
                              description: Order summary attached only by the weekly-activity projection.
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
    patch:
      operationId: updateOrder
      tags:
        - Orders
      summary: Update caller-writable order fields and recalculate documented derived dates.
      x-parity-id: API-087
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              minProperties: 1
              properties:
                specNo:
                  type: string
                  maxLength: 200
                supplier:
                  type: string
                  maxLength: 200
                invoiceNumber:
                  type: string
                  maxLength: 200
                orderNumber:
                  type: string
                  maxLength: 200
                containerQty:
                  type: number
                  minimum: 0
                  maximum: 1000000
                plannedShipmentDate:
                  $ref: "#/components/schemas/LocalDate"
                deliveryDays:
                  type: integer
                  minimum: 0
                  maximum: 3650
                comment:
                  type: string
                  maxLength: 20000
                important:
                  type: boolean
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              deliveryDays: 45
              important: true
              expectedVersion: 3
      responses:
        "200":
          description: Order aggregate.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - companyId
                      - templateKey
                      - templateName
                      - important
                      - fieldValues
                      - specNo
                      - supplier
                      - invoiceNumber
                      - orderNumber
                      - containerQty
                      - plannedShipmentDate
                      - deliveryDays
                      - estimatedArrivalDate
                      - comment
                      - status
                      - archived
                      - archivedAt
                      - sortPosition
                      - createdAt
                      - updatedAt
                      - completedAt
                      - version
                      - company
                      - stages
                      - tasks
                      - progress
                      - availableActions
                    properties:
                      id:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      templateKey:
                        type:
                          - string
                          - "null"
                      templateName:
                        type:
                          - string
                          - "null"
                      important:
                        type: boolean
                      fieldValues:
                        type: object
                        additionalProperties: true
                      specNo:
                        type: string
                      supplier:
                        type: string
                      invoiceNumber:
                        type: string
                      orderNumber:
                        type: string
                      containerQty:
                        type: number
                      plannedShipmentDate:
                        type: string
                        format: date
                      deliveryDays:
                        type: integer
                      estimatedArrivalDate:
                        type: string
                        format: date
                      comment:
                        type: string
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      sortPosition:
                        type:
                          - number
                          - "null"
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      company:
                        type:
                          - object
                          - "null"
                        additionalProperties: true
                      stages:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - titleEn
                            - titleRu
                            - descriptionEn
                            - descriptionRu
                            - position
                            - status
                            - durationWorkingDays
                            - startedAt
                            - dueDate
                            - completedAt
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - pending
                                - open
                                - completed
                                - not_required
                            durationWorkingDays:
                              type:
                                - integer
                                - "null"
                            startedAt:
                              type: string
                              format: date-time
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      tasks:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - stageId
                            - titleEn
                            - titleRu
                            - descriptionEn
                            - descriptionRu
                            - notes
                            - position
                            - status
                            - pinned
                            - scheduleType
                            - dueDate
                            - shipmentOffsetDays
                            - weeklyStopOffsetDays
                            - completedAt
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            stageId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            notes:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - open
                                - done
                                - not_required
                            pinned:
                              type: boolean
                            scheduleType:
                              type: string
                              enum:
                                - none
                                - stage_deadline
                                - weekly
                                - shipment_relative
                                - manual
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            shipmentOffsetDays:
                              type:
                                - integer
                                - "null"
                            weeklyStopOffsetDays:
                              type:
                                - integer
                                - "null"
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      progress:
                        type: object
                        required:
                          - completedTasks
                          - totalTasks
                          - percent
                        properties:
                          completedTasks:
                            type: integer
                          totalTasks:
                            type: integer
                          percent:
                            type: integer
                        additionalProperties: false
                      availableActions:
                        type: array
                        items:
                          type: string
                      activity:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - kind
                            - labelEn
                            - labelRu
                            - createdAt
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            kind:
                              type: string
                            labelEn:
                              type: string
                            labelRu:
                              type: string
                            createdAt:
                              type: string
                              format: date-time
                            order:
                              type: object
                              additionalProperties: true
                              description: Order summary attached only by the weekly-activity projection.
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /orders/{orderId}/complete:
    parameters:
      - $ref: "#/components/parameters/OrderId"
    post:
      operationId: completeOrder
      tags:
        - Orders
      summary: Complete an order when workflow preconditions allow.
      x-parity-id: API-089
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Order aggregate.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - companyId
                      - templateKey
                      - templateName
                      - important
                      - fieldValues
                      - specNo
                      - supplier
                      - invoiceNumber
                      - orderNumber
                      - containerQty
                      - plannedShipmentDate
                      - deliveryDays
                      - estimatedArrivalDate
                      - comment
                      - status
                      - archived
                      - archivedAt
                      - sortPosition
                      - createdAt
                      - updatedAt
                      - completedAt
                      - version
                      - company
                      - stages
                      - tasks
                      - progress
                      - availableActions
                    properties:
                      id:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      templateKey:
                        type:
                          - string
                          - "null"
                      templateName:
                        type:
                          - string
                          - "null"
                      important:
                        type: boolean
                      fieldValues:
                        type: object
                        additionalProperties: true
                      specNo:
                        type: string
                      supplier:
                        type: string
                      invoiceNumber:
                        type: string
                      orderNumber:
                        type: string
                      containerQty:
                        type: number
                      plannedShipmentDate:
                        type: string
                        format: date
                      deliveryDays:
                        type: integer
                      estimatedArrivalDate:
                        type: string
                        format: date
                      comment:
                        type: string
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      sortPosition:
                        type:
                          - number
                          - "null"
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      company:
                        type:
                          - object
                          - "null"
                        additionalProperties: true
                      stages:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - titleEn
                            - titleRu
                            - descriptionEn
                            - descriptionRu
                            - position
                            - status
                            - durationWorkingDays
                            - startedAt
                            - dueDate
                            - completedAt
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - pending
                                - open
                                - completed
                                - not_required
                            durationWorkingDays:
                              type:
                                - integer
                                - "null"
                            startedAt:
                              type: string
                              format: date-time
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      tasks:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - stageId
                            - titleEn
                            - titleRu
                            - descriptionEn
                            - descriptionRu
                            - notes
                            - position
                            - status
                            - pinned
                            - scheduleType
                            - dueDate
                            - shipmentOffsetDays
                            - weeklyStopOffsetDays
                            - completedAt
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            stageId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            notes:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - open
                                - done
                                - not_required
                            pinned:
                              type: boolean
                            scheduleType:
                              type: string
                              enum:
                                - none
                                - stage_deadline
                                - weekly
                                - shipment_relative
                                - manual
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            shipmentOffsetDays:
                              type:
                                - integer
                                - "null"
                            weeklyStopOffsetDays:
                              type:
                                - integer
                                - "null"
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      progress:
                        type: object
                        required:
                          - completedTasks
                          - totalTasks
                          - percent
                        properties:
                          completedTasks:
                            type: integer
                          totalTasks:
                            type: integer
                          percent:
                            type: integer
                        additionalProperties: false
                      availableActions:
                        type: array
                        items:
                          type: string
                      activity:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - kind
                            - labelEn
                            - labelRu
                            - createdAt
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            kind:
                              type: string
                            labelEn:
                              type: string
                            labelRu:
                              type: string
                            createdAt:
                              type: string
                              format: date-time
                            order:
                              type: object
                              additionalProperties: true
                              description: Order summary attached only by the weekly-activity projection.
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /orders/{orderId}/reopen:
    parameters:
      - $ref: "#/components/parameters/OrderId"
    post:
      operationId: reopenOrder
      tags:
        - Orders
      summary: Reopen a completed order.
      x-parity-id: API-089
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Order aggregate.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - companyId
                      - templateKey
                      - templateName
                      - important
                      - fieldValues
                      - specNo
                      - supplier
                      - invoiceNumber
                      - orderNumber
                      - containerQty
                      - plannedShipmentDate
                      - deliveryDays
                      - estimatedArrivalDate
                      - comment
                      - status
                      - archived
                      - archivedAt
                      - sortPosition
                      - createdAt
                      - updatedAt
                      - completedAt
                      - version
                      - company
                      - stages
                      - tasks
                      - progress
                      - availableActions
                    properties:
                      id:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      templateKey:
                        type:
                          - string
                          - "null"
                      templateName:
                        type:
                          - string
                          - "null"
                      important:
                        type: boolean
                      fieldValues:
                        type: object
                        additionalProperties: true
                      specNo:
                        type: string
                      supplier:
                        type: string
                      invoiceNumber:
                        type: string
                      orderNumber:
                        type: string
                      containerQty:
                        type: number
                      plannedShipmentDate:
                        type: string
                        format: date
                      deliveryDays:
                        type: integer
                      estimatedArrivalDate:
                        type: string
                        format: date
                      comment:
                        type: string
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      sortPosition:
                        type:
                          - number
                          - "null"
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      company:
                        type:
                          - object
                          - "null"
                        additionalProperties: true
                      stages:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - titleEn
                            - titleRu
                            - descriptionEn
                            - descriptionRu
                            - position
                            - status
                            - durationWorkingDays
                            - startedAt
                            - dueDate
                            - completedAt
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - pending
                                - open
                                - completed
                                - not_required
                            durationWorkingDays:
                              type:
                                - integer
                                - "null"
                            startedAt:
                              type: string
                              format: date-time
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      tasks:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - stageId
                            - titleEn
                            - titleRu
                            - descriptionEn
                            - descriptionRu
                            - notes
                            - position
                            - status
                            - pinned
                            - scheduleType
                            - dueDate
                            - shipmentOffsetDays
                            - weeklyStopOffsetDays
                            - completedAt
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            stageId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            notes:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - open
                                - done
                                - not_required
                            pinned:
                              type: boolean
                            scheduleType:
                              type: string
                              enum:
                                - none
                                - stage_deadline
                                - weekly
                                - shipment_relative
                                - manual
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            shipmentOffsetDays:
                              type:
                                - integer
                                - "null"
                            weeklyStopOffsetDays:
                              type:
                                - integer
                                - "null"
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      progress:
                        type: object
                        required:
                          - completedTasks
                          - totalTasks
                          - percent
                        properties:
                          completedTasks:
                            type: integer
                          totalTasks:
                            type: integer
                          percent:
                            type: integer
                        additionalProperties: false
                      availableActions:
                        type: array
                        items:
                          type: string
                      activity:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - kind
                            - labelEn
                            - labelRu
                            - createdAt
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            kind:
                              type: string
                            labelEn:
                              type: string
                            labelRu:
                              type: string
                            createdAt:
                              type: string
                              format: date-time
                            order:
                              type: object
                              additionalProperties: true
                              description: Order summary attached only by the weekly-activity projection.
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /orders/{orderId}/duplicate:
    parameters:
      - $ref: "#/components/parameters/OrderId"
    post:
      operationId: duplicateOrder
      tags:
        - Orders
      summary: Duplicate an order and workflow snapshot independently.
      x-parity-id: API-090
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "201":
          description: Order created.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - companyId
                      - templateKey
                      - templateName
                      - important
                      - fieldValues
                      - specNo
                      - supplier
                      - invoiceNumber
                      - orderNumber
                      - containerQty
                      - plannedShipmentDate
                      - deliveryDays
                      - estimatedArrivalDate
                      - comment
                      - status
                      - archived
                      - archivedAt
                      - sortPosition
                      - createdAt
                      - updatedAt
                      - completedAt
                      - version
                      - company
                      - stages
                      - tasks
                      - progress
                      - availableActions
                    properties:
                      id:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      templateKey:
                        type:
                          - string
                          - "null"
                      templateName:
                        type:
                          - string
                          - "null"
                      important:
                        type: boolean
                      fieldValues:
                        type: object
                        additionalProperties: true
                      specNo:
                        type: string
                      supplier:
                        type: string
                      invoiceNumber:
                        type: string
                      orderNumber:
                        type: string
                      containerQty:
                        type: number
                      plannedShipmentDate:
                        type: string
                        format: date
                      deliveryDays:
                        type: integer
                      estimatedArrivalDate:
                        type: string
                        format: date
                      comment:
                        type: string
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      sortPosition:
                        type:
                          - number
                          - "null"
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      company:
                        type:
                          - object
                          - "null"
                        additionalProperties: true
                      stages:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - titleEn
                            - titleRu
                            - descriptionEn
                            - descriptionRu
                            - position
                            - status
                            - durationWorkingDays
                            - startedAt
                            - dueDate
                            - completedAt
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - pending
                                - open
                                - completed
                                - not_required
                            durationWorkingDays:
                              type:
                                - integer
                                - "null"
                            startedAt:
                              type: string
                              format: date-time
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      tasks:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - stageId
                            - titleEn
                            - titleRu
                            - descriptionEn
                            - descriptionRu
                            - notes
                            - position
                            - status
                            - pinned
                            - scheduleType
                            - dueDate
                            - shipmentOffsetDays
                            - weeklyStopOffsetDays
                            - completedAt
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            stageId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            notes:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - open
                                - done
                                - not_required
                            pinned:
                              type: boolean
                            scheduleType:
                              type: string
                              enum:
                                - none
                                - stage_deadline
                                - weekly
                                - shipment_relative
                                - manual
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            shipmentOffsetDays:
                              type:
                                - integer
                                - "null"
                            weeklyStopOffsetDays:
                              type:
                                - integer
                                - "null"
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      progress:
                        type: object
                        required:
                          - completedTasks
                          - totalTasks
                          - percent
                        properties:
                          completedTasks:
                            type: integer
                          totalTasks:
                            type: integer
                          percent:
                            type: integer
                        additionalProperties: false
                      availableActions:
                        type: array
                        items:
                          type: string
                      activity:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - kind
                            - labelEn
                            - labelRu
                            - createdAt
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            kind:
                              type: string
                            labelEn:
                              type: string
                            labelRu:
                              type: string
                            createdAt:
                              type: string
                              format: date-time
                            order:
                              type: object
                              additionalProperties: true
                              description: Order summary attached only by the weekly-activity projection.
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /orders/{orderId}/divide-preview:
    parameters:
      - $ref: "#/components/parameters/OrderId"
    post:
      operationId: previewOrderDivision
      tags:
        - Orders
      summary: Preview order division and resulting quantities/workflows.
      x-parity-id: API-090
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              maxProperties: 0
              additionalProperties: false
            example: {}
      responses:
        "200":
          description: Exact previewOrderDivision result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - orderId
                      - version
                      - resultingOrders
                      - workflowCopied
                      - confirmationToken
                      - expiresAt
                      - effects
                    properties:
                      orderId:
                        type: string
                      version:
                        type: integer
                      resultingOrders:
                        type: integer
                      workflowCopied:
                        type: boolean
                      confirmationToken:
                        type: string
                      expiresAt:
                        type: string
                        format: date-time
                      effects:
                        type: array
                        minItems: 1
                        maxItems: 1
                        items:
                          type: object
                          required:
                            - orderId
                            - version
                            - resultingOrders
                            - workflowCopied
                          properties:
                            orderId:
                              type: string
                            version:
                              type: integer
                            resultingOrders:
                              type: integer
                            workflowCopied:
                              type: boolean
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /orders/{orderId}/divide:
    parameters:
      - $ref: "#/components/parameters/OrderId"
    post:
      operationId: divideOrder
      tags:
        - Orders
      summary: Divide an order using an approved preview.
      x-parity-id: API-090
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: true
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ConfirmationBody"
      responses:
        "200":
          description: Exact divideOrder result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - source
                      - created
                    properties:
                      source:
                        type: object
                        required:
                          - id
                          - companyId
                          - templateKey
                          - templateName
                          - important
                          - fieldValues
                          - specNo
                          - supplier
                          - invoiceNumber
                          - orderNumber
                          - containerQty
                          - plannedShipmentDate
                          - deliveryDays
                          - estimatedArrivalDate
                          - comment
                          - status
                          - archived
                          - archivedAt
                          - sortPosition
                          - createdAt
                          - updatedAt
                          - completedAt
                          - version
                          - company
                          - stages
                          - tasks
                          - progress
                          - availableActions
                        properties:
                          id:
                            type: string
                          companyId:
                            type:
                              - string
                              - "null"
                          templateKey:
                            type:
                              - string
                              - "null"
                          templateName:
                            type:
                              - string
                              - "null"
                          important:
                            type: boolean
                          fieldValues:
                            type: object
                            additionalProperties: true
                          specNo:
                            type: string
                          supplier:
                            type: string
                          invoiceNumber:
                            type: string
                          orderNumber:
                            type: string
                          containerQty:
                            type: number
                          plannedShipmentDate:
                            type: string
                            format: date
                          deliveryDays:
                            type: integer
                          estimatedArrivalDate:
                            type: string
                            format: date
                          comment:
                            type: string
                          status:
                            type: string
                            enum:
                              - active
                              - completed
                          archived:
                            type: boolean
                          archivedAt:
                            type: string
                            format: date-time
                          sortPosition:
                            type:
                              - number
                              - "null"
                          createdAt:
                            type: string
                            format: date-time
                          updatedAt:
                            type: string
                            format: date-time
                          completedAt:
                            type: string
                            format: date-time
                          version:
                            type: integer
                            minimum: 1
                          company:
                            type:
                              - object
                              - "null"
                            additionalProperties: true
                          stages:
                            type: array
                            items:
                              type: object
                              required:
                                - id
                                - orderId
                                - titleEn
                                - titleRu
                                - descriptionEn
                                - descriptionRu
                                - position
                                - status
                                - durationWorkingDays
                                - startedAt
                                - dueDate
                                - completedAt
                                - createdAt
                                - updatedAt
                                - version
                              properties:
                                id:
                                  type: string
                                orderId:
                                  type: string
                                titleEn:
                                  type: string
                                titleRu:
                                  type: string
                                descriptionEn:
                                  type: string
                                descriptionRu:
                                  type: string
                                position:
                                  type: integer
                                status:
                                  type: string
                                  enum:
                                    - pending
                                    - open
                                    - completed
                                    - not_required
                                durationWorkingDays:
                                  type:
                                    - integer
                                    - "null"
                                startedAt:
                                  type: string
                                  format: date-time
                                dueDate:
                                  type:
                                    - string
                                    - "null"
                                  format: date
                                completedAt:
                                  type: string
                                  format: date-time
                                createdAt:
                                  type: string
                                  format: date-time
                                updatedAt:
                                  type: string
                                  format: date-time
                                version:
                                  type: integer
                                  minimum: 1
                              additionalProperties: false
                          tasks:
                            type: array
                            items:
                              type: object
                              required:
                                - id
                                - orderId
                                - stageId
                                - titleEn
                                - titleRu
                                - descriptionEn
                                - descriptionRu
                                - notes
                                - position
                                - status
                                - pinned
                                - scheduleType
                                - dueDate
                                - shipmentOffsetDays
                                - weeklyStopOffsetDays
                                - completedAt
                                - createdAt
                                - updatedAt
                                - version
                              properties:
                                id:
                                  type: string
                                orderId:
                                  type: string
                                stageId:
                                  type: string
                                titleEn:
                                  type: string
                                titleRu:
                                  type: string
                                descriptionEn:
                                  type: string
                                descriptionRu:
                                  type: string
                                notes:
                                  type: string
                                position:
                                  type: integer
                                status:
                                  type: string
                                  enum:
                                    - open
                                    - done
                                    - not_required
                                pinned:
                                  type: boolean
                                scheduleType:
                                  type: string
                                  enum:
                                    - none
                                    - stage_deadline
                                    - weekly
                                    - shipment_relative
                                    - manual
                                dueDate:
                                  type:
                                    - string
                                    - "null"
                                  format: date
                                shipmentOffsetDays:
                                  type:
                                    - integer
                                    - "null"
                                weeklyStopOffsetDays:
                                  type:
                                    - integer
                                    - "null"
                                completedAt:
                                  type: string
                                  format: date-time
                                createdAt:
                                  type: string
                                  format: date-time
                                updatedAt:
                                  type: string
                                  format: date-time
                                version:
                                  type: integer
                                  minimum: 1
                              additionalProperties: false
                          progress:
                            type: object
                            required:
                              - completedTasks
                              - totalTasks
                              - percent
                            properties:
                              completedTasks:
                                type: integer
                              totalTasks:
                                type: integer
                              percent:
                                type: integer
                            additionalProperties: false
                          availableActions:
                            type: array
                            items:
                              type: string
                          activity:
                            type: array
                            items:
                              type: object
                              required:
                                - id
                                - orderId
                                - kind
                                - labelEn
                                - labelRu
                                - createdAt
                              properties:
                                id:
                                  type: string
                                orderId:
                                  type: string
                                kind:
                                  type: string
                                labelEn:
                                  type: string
                                labelRu:
                                  type: string
                                createdAt:
                                  type: string
                                  format: date-time
                                order:
                                  type: object
                                  additionalProperties: true
                                  description: Order summary attached only by the weekly-activity projection.
                              additionalProperties: false
                        additionalProperties: false
                      created:
                        type: object
                        required:
                          - id
                          - companyId
                          - templateKey
                          - templateName
                          - important
                          - fieldValues
                          - specNo
                          - supplier
                          - invoiceNumber
                          - orderNumber
                          - containerQty
                          - plannedShipmentDate
                          - deliveryDays
                          - estimatedArrivalDate
                          - comment
                          - status
                          - archived
                          - archivedAt
                          - sortPosition
                          - createdAt
                          - updatedAt
                          - completedAt
                          - version
                          - company
                          - stages
                          - tasks
                          - progress
                          - availableActions
                        properties:
                          id:
                            type: string
                          companyId:
                            type:
                              - string
                              - "null"
                          templateKey:
                            type:
                              - string
                              - "null"
                          templateName:
                            type:
                              - string
                              - "null"
                          important:
                            type: boolean
                          fieldValues:
                            type: object
                            additionalProperties: true
                          specNo:
                            type: string
                          supplier:
                            type: string
                          invoiceNumber:
                            type: string
                          orderNumber:
                            type: string
                          containerQty:
                            type: number
                          plannedShipmentDate:
                            type: string
                            format: date
                          deliveryDays:
                            type: integer
                          estimatedArrivalDate:
                            type: string
                            format: date
                          comment:
                            type: string
                          status:
                            type: string
                            enum:
                              - active
                              - completed
                          archived:
                            type: boolean
                          archivedAt:
                            type: string
                            format: date-time
                          sortPosition:
                            type:
                              - number
                              - "null"
                          createdAt:
                            type: string
                            format: date-time
                          updatedAt:
                            type: string
                            format: date-time
                          completedAt:
                            type: string
                            format: date-time
                          version:
                            type: integer
                            minimum: 1
                          company:
                            type:
                              - object
                              - "null"
                            additionalProperties: true
                          stages:
                            type: array
                            items:
                              type: object
                              required:
                                - id
                                - orderId
                                - titleEn
                                - titleRu
                                - descriptionEn
                                - descriptionRu
                                - position
                                - status
                                - durationWorkingDays
                                - startedAt
                                - dueDate
                                - completedAt
                                - createdAt
                                - updatedAt
                                - version
                              properties:
                                id:
                                  type: string
                                orderId:
                                  type: string
                                titleEn:
                                  type: string
                                titleRu:
                                  type: string
                                descriptionEn:
                                  type: string
                                descriptionRu:
                                  type: string
                                position:
                                  type: integer
                                status:
                                  type: string
                                  enum:
                                    - pending
                                    - open
                                    - completed
                                    - not_required
                                durationWorkingDays:
                                  type:
                                    - integer
                                    - "null"
                                startedAt:
                                  type: string
                                  format: date-time
                                dueDate:
                                  type:
                                    - string
                                    - "null"
                                  format: date
                                completedAt:
                                  type: string
                                  format: date-time
                                createdAt:
                                  type: string
                                  format: date-time
                                updatedAt:
                                  type: string
                                  format: date-time
                                version:
                                  type: integer
                                  minimum: 1
                              additionalProperties: false
                          tasks:
                            type: array
                            items:
                              type: object
                              required:
                                - id
                                - orderId
                                - stageId
                                - titleEn
                                - titleRu
                                - descriptionEn
                                - descriptionRu
                                - notes
                                - position
                                - status
                                - pinned
                                - scheduleType
                                - dueDate
                                - shipmentOffsetDays
                                - weeklyStopOffsetDays
                                - completedAt
                                - createdAt
                                - updatedAt
                                - version
                              properties:
                                id:
                                  type: string
                                orderId:
                                  type: string
                                stageId:
                                  type: string
                                titleEn:
                                  type: string
                                titleRu:
                                  type: string
                                descriptionEn:
                                  type: string
                                descriptionRu:
                                  type: string
                                notes:
                                  type: string
                                position:
                                  type: integer
                                status:
                                  type: string
                                  enum:
                                    - open
                                    - done
                                    - not_required
                                pinned:
                                  type: boolean
                                scheduleType:
                                  type: string
                                  enum:
                                    - none
                                    - stage_deadline
                                    - weekly
                                    - shipment_relative
                                    - manual
                                dueDate:
                                  type:
                                    - string
                                    - "null"
                                  format: date
                                shipmentOffsetDays:
                                  type:
                                    - integer
                                    - "null"
                                weeklyStopOffsetDays:
                                  type:
                                    - integer
                                    - "null"
                                completedAt:
                                  type: string
                                  format: date-time
                                createdAt:
                                  type: string
                                  format: date-time
                                updatedAt:
                                  type: string
                                  format: date-time
                                version:
                                  type: integer
                                  minimum: 1
                              additionalProperties: false
                          progress:
                            type: object
                            required:
                              - completedTasks
                              - totalTasks
                              - percent
                            properties:
                              completedTasks:
                                type: integer
                              totalTasks:
                                type: integer
                              percent:
                                type: integer
                            additionalProperties: false
                          availableActions:
                            type: array
                            items:
                              type: string
                          activity:
                            type: array
                            items:
                              type: object
                              required:
                                - id
                                - orderId
                                - kind
                                - labelEn
                                - labelRu
                                - createdAt
                              properties:
                                id:
                                  type: string
                                orderId:
                                  type: string
                                kind:
                                  type: string
                                labelEn:
                                  type: string
                                labelRu:
                                  type: string
                                createdAt:
                                  type: string
                                  format: date-time
                                order:
                                  type: object
                                  additionalProperties: true
                                  description: Order summary attached only by the weekly-activity projection.
                              additionalProperties: false
                        additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /orders/{orderId}/archive:
    parameters:
      - $ref: "#/components/parameters/OrderId"
    post:
      operationId: archiveOrder
      tags:
        - Orders
        - Archive and history
      summary: Archive an order while retaining workflow and history.
      x-parity-id: API-093
      x-stability: stable
      x-scopes:
        - archive:write
      x-destructive: true
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Order aggregate.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - companyId
                      - templateKey
                      - templateName
                      - important
                      - fieldValues
                      - specNo
                      - supplier
                      - invoiceNumber
                      - orderNumber
                      - containerQty
                      - plannedShipmentDate
                      - deliveryDays
                      - estimatedArrivalDate
                      - comment
                      - status
                      - archived
                      - archivedAt
                      - sortPosition
                      - createdAt
                      - updatedAt
                      - completedAt
                      - version
                      - company
                      - stages
                      - tasks
                      - progress
                      - availableActions
                    properties:
                      id:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      templateKey:
                        type:
                          - string
                          - "null"
                      templateName:
                        type:
                          - string
                          - "null"
                      important:
                        type: boolean
                      fieldValues:
                        type: object
                        additionalProperties: true
                      specNo:
                        type: string
                      supplier:
                        type: string
                      invoiceNumber:
                        type: string
                      orderNumber:
                        type: string
                      containerQty:
                        type: number
                      plannedShipmentDate:
                        type: string
                        format: date
                      deliveryDays:
                        type: integer
                      estimatedArrivalDate:
                        type: string
                        format: date
                      comment:
                        type: string
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      sortPosition:
                        type:
                          - number
                          - "null"
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      company:
                        type:
                          - object
                          - "null"
                        additionalProperties: true
                      stages:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - titleEn
                            - titleRu
                            - descriptionEn
                            - descriptionRu
                            - position
                            - status
                            - durationWorkingDays
                            - startedAt
                            - dueDate
                            - completedAt
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - pending
                                - open
                                - completed
                                - not_required
                            durationWorkingDays:
                              type:
                                - integer
                                - "null"
                            startedAt:
                              type: string
                              format: date-time
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      tasks:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - stageId
                            - titleEn
                            - titleRu
                            - descriptionEn
                            - descriptionRu
                            - notes
                            - position
                            - status
                            - pinned
                            - scheduleType
                            - dueDate
                            - shipmentOffsetDays
                            - weeklyStopOffsetDays
                            - completedAt
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            stageId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            notes:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - open
                                - done
                                - not_required
                            pinned:
                              type: boolean
                            scheduleType:
                              type: string
                              enum:
                                - none
                                - stage_deadline
                                - weekly
                                - shipment_relative
                                - manual
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            shipmentOffsetDays:
                              type:
                                - integer
                                - "null"
                            weeklyStopOffsetDays:
                              type:
                                - integer
                                - "null"
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      progress:
                        type: object
                        required:
                          - completedTasks
                          - totalTasks
                          - percent
                        properties:
                          completedTasks:
                            type: integer
                          totalTasks:
                            type: integer
                          percent:
                            type: integer
                        additionalProperties: false
                      availableActions:
                        type: array
                        items:
                          type: string
                      activity:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - kind
                            - labelEn
                            - labelRu
                            - createdAt
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            kind:
                              type: string
                            labelEn:
                              type: string
                            labelRu:
                              type: string
                            createdAt:
                              type: string
                              format: date-time
                            order:
                              type: object
                              additionalProperties: true
                              description: Order summary attached only by the weekly-activity projection.
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /orders/{orderId}/restore:
    parameters:
      - $ref: "#/components/parameters/OrderId"
    post:
      operationId: restoreOrder
      tags:
        - Orders
        - Archive and history
      summary: Restore an archived order.
      x-parity-id: API-093
      x-stability: stable
      x-scopes:
        - archive:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Order aggregate.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - companyId
                      - templateKey
                      - templateName
                      - important
                      - fieldValues
                      - specNo
                      - supplier
                      - invoiceNumber
                      - orderNumber
                      - containerQty
                      - plannedShipmentDate
                      - deliveryDays
                      - estimatedArrivalDate
                      - comment
                      - status
                      - archived
                      - archivedAt
                      - sortPosition
                      - createdAt
                      - updatedAt
                      - completedAt
                      - version
                      - company
                      - stages
                      - tasks
                      - progress
                      - availableActions
                    properties:
                      id:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      templateKey:
                        type:
                          - string
                          - "null"
                      templateName:
                        type:
                          - string
                          - "null"
                      important:
                        type: boolean
                      fieldValues:
                        type: object
                        additionalProperties: true
                      specNo:
                        type: string
                      supplier:
                        type: string
                      invoiceNumber:
                        type: string
                      orderNumber:
                        type: string
                      containerQty:
                        type: number
                      plannedShipmentDate:
                        type: string
                        format: date
                      deliveryDays:
                        type: integer
                      estimatedArrivalDate:
                        type: string
                        format: date
                      comment:
                        type: string
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      sortPosition:
                        type:
                          - number
                          - "null"
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      company:
                        type:
                          - object
                          - "null"
                        additionalProperties: true
                      stages:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - titleEn
                            - titleRu
                            - descriptionEn
                            - descriptionRu
                            - position
                            - status
                            - durationWorkingDays
                            - startedAt
                            - dueDate
                            - completedAt
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - pending
                                - open
                                - completed
                                - not_required
                            durationWorkingDays:
                              type:
                                - integer
                                - "null"
                            startedAt:
                              type: string
                              format: date-time
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      tasks:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - stageId
                            - titleEn
                            - titleRu
                            - descriptionEn
                            - descriptionRu
                            - notes
                            - position
                            - status
                            - pinned
                            - scheduleType
                            - dueDate
                            - shipmentOffsetDays
                            - weeklyStopOffsetDays
                            - completedAt
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            stageId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            notes:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - open
                                - done
                                - not_required
                            pinned:
                              type: boolean
                            scheduleType:
                              type: string
                              enum:
                                - none
                                - stage_deadline
                                - weekly
                                - shipment_relative
                                - manual
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            shipmentOffsetDays:
                              type:
                                - integer
                                - "null"
                            weeklyStopOffsetDays:
                              type:
                                - integer
                                - "null"
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      progress:
                        type: object
                        required:
                          - completedTasks
                          - totalTasks
                          - percent
                        properties:
                          completedTasks:
                            type: integer
                          totalTasks:
                            type: integer
                          percent:
                            type: integer
                        additionalProperties: false
                      availableActions:
                        type: array
                        items:
                          type: string
                      activity:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - kind
                            - labelEn
                            - labelRu
                            - createdAt
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            kind:
                              type: string
                            labelEn:
                              type: string
                            labelRu:
                              type: string
                            createdAt:
                              type: string
                              format: date-time
                            order:
                              type: object
                              additionalProperties: true
                              description: Order summary attached only by the weekly-activity projection.
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /orders/{orderId}/delete-preview:
    parameters:
      - $ref: "#/components/parameters/OrderId"
    post:
      operationId: previewOrderDeletion
      tags:
        - Orders
        - Archive and history
      summary: Preview permanent order/workflow/history deletion.
      x-parity-id: API-094
      x-stability: stable
      x-scopes:
        - destructive:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              maxProperties: 0
              additionalProperties: false
            example: {}
      responses:
        "200":
          description: Exact previewOrderDeletion result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - orderId
                      - version
                      - stages
                      - tasks
                      - confirmationToken
                      - expiresAt
                      - effects
                    properties:
                      orderId:
                        type: string
                      version:
                        type: integer
                      stages:
                        type: integer
                      tasks:
                        type: integer
                      confirmationToken:
                        type: string
                      expiresAt:
                        type: string
                        format: date-time
                      effects:
                        type: array
                        minItems: 1
                        maxItems: 1
                        items:
                          type: object
                          required:
                            - orderId
                            - version
                            - stages
                            - tasks
                          properties:
                            orderId:
                              type: string
                            version:
                              type: integer
                            stages:
                              type: integer
                            tasks:
                              type: integer
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /orders/{orderId}/permanent-delete:
    parameters:
      - $ref: "#/components/parameters/OrderId"
    post:
      operationId: permanentlyDeleteOrder
      tags:
        - Orders
        - Archive and history
      summary: Permanently delete an archived order after confirmation.
      x-parity-id: API-094
      x-stability: stable
      x-scopes:
        - archive:write
        - destructive:write
      x-destructive: true
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ConfirmationBody"
      responses:
        "200":
          description: Permanent deletion summary.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - deleted
                      - id
                    properties:
                      deleted:
                        const: true
                      id:
                        type: string
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /orders/{orderId}/stages:
    parameters:
      - $ref: "#/components/parameters/OrderId"
    post:
      operationId: createOrderStage
      tags:
        - Order workflow
      summary: Add an order-specific stage without changing its template.
      x-parity-id: API-091
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - titleEn
                - titleRu
              properties:
                titleEn:
                  type: string
                  minLength: 1
                  maxLength: 200
                titleRu:
                  type: string
                  minLength: 1
                  maxLength: 200
                descriptionEn:
                  type: string
                  maxLength: 2000
                descriptionRu:
                  type: string
                  maxLength: 2000
                durationWorkingDays:
                  type: integer
                  minimum: 0
                  maximum: 3650
                position:
                  type: integer
                  minimum: 0
              additionalProperties: false
            example:
              titleEn: Final inspection
              titleRu: Р В¤Р С‘Р Р…Р В°Р В»РЎРЉР Р…Р В°РЎРЏ Р С—РЎР‚Р С•Р Р†Р ВµРЎР‚Р С”Р В°
              durationWorkingDays: 2
      responses:
        "201":
          description: Order stage.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - orderId
                      - titleEn
                      - titleRu
                      - descriptionEn
                      - descriptionRu
                      - position
                      - status
                      - durationWorkingDays
                      - startedAt
                      - dueDate
                      - completedAt
                      - createdAt
                      - updatedAt
                      - version
                    properties:
                      id:
                        type: string
                      orderId:
                        type: string
                      titleEn:
                        type: string
                      titleRu:
                        type: string
                      descriptionEn:
                        type: string
                      descriptionRu:
                        type: string
                      position:
                        type: integer
                      status:
                        type: string
                        enum:
                          - pending
                          - open
                          - completed
                          - not_required
                      durationWorkingDays:
                        type:
                          - integer
                          - "null"
                      startedAt:
                        type: string
                        format: date-time
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /orders/{orderId}/stages/{stageId}:
    parameters:
      - $ref: "#/components/parameters/OrderId"
      - $ref: "#/components/parameters/StageId"
    patch:
      operationId: updateOrderStage
      tags:
        - Order workflow
      summary: Update order-stage fields and derived scheduling.
      x-parity-id: API-091
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              minProperties: 1
              properties:
                titleEn:
                  type: string
                  minLength: 1
                  maxLength: 200
                titleRu:
                  type: string
                  minLength: 1
                  maxLength: 200
                descriptionEn:
                  type: string
                  maxLength: 2000
                descriptionRu:
                  type: string
                  maxLength: 2000
                durationWorkingDays:
                  type: integer
                  minimum: 0
                  maximum: 3650
                position:
                  type: integer
                  minimum: 0
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              durationWorkingDays: 3
              expectedVersion: 4
      responses:
        "200":
          description: Order stage.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - orderId
                      - titleEn
                      - titleRu
                      - descriptionEn
                      - descriptionRu
                      - position
                      - status
                      - durationWorkingDays
                      - startedAt
                      - dueDate
                      - completedAt
                      - createdAt
                      - updatedAt
                      - version
                    properties:
                      id:
                        type: string
                      orderId:
                        type: string
                      titleEn:
                        type: string
                      titleRu:
                        type: string
                      descriptionEn:
                        type: string
                      descriptionRu:
                        type: string
                      position:
                        type: integer
                      status:
                        type: string
                        enum:
                          - pending
                          - open
                          - completed
                          - not_required
                      durationWorkingDays:
                        type:
                          - integer
                          - "null"
                      startedAt:
                        type: string
                        format: date-time
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /orders/{orderId}/stages/{stageId}/complete:
    parameters:
      - $ref: "#/components/parameters/OrderId"
      - $ref: "#/components/parameters/StageId"
    post:
      operationId: completeOrderStage
      tags:
        - Order workflow
      summary: Complete an allowed order stage and open eligible successors.
      x-parity-id: API-091
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Order aggregate.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - companyId
                      - templateKey
                      - templateName
                      - important
                      - fieldValues
                      - specNo
                      - supplier
                      - invoiceNumber
                      - orderNumber
                      - containerQty
                      - plannedShipmentDate
                      - deliveryDays
                      - estimatedArrivalDate
                      - comment
                      - status
                      - archived
                      - archivedAt
                      - sortPosition
                      - createdAt
                      - updatedAt
                      - completedAt
                      - version
                      - company
                      - stages
                      - tasks
                      - progress
                      - availableActions
                    properties:
                      id:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      templateKey:
                        type:
                          - string
                          - "null"
                      templateName:
                        type:
                          - string
                          - "null"
                      important:
                        type: boolean
                      fieldValues:
                        type: object
                        additionalProperties: true
                      specNo:
                        type: string
                      supplier:
                        type: string
                      invoiceNumber:
                        type: string
                      orderNumber:
                        type: string
                      containerQty:
                        type: number
                      plannedShipmentDate:
                        type: string
                        format: date
                      deliveryDays:
                        type: integer
                      estimatedArrivalDate:
                        type: string
                        format: date
                      comment:
                        type: string
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      sortPosition:
                        type:
                          - number
                          - "null"
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      company:
                        type:
                          - object
                          - "null"
                        additionalProperties: true
                      stages:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - titleEn
                            - titleRu
                            - descriptionEn
                            - descriptionRu
                            - position
                            - status
                            - durationWorkingDays
                            - startedAt
                            - dueDate
                            - completedAt
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - pending
                                - open
                                - completed
                                - not_required
                            durationWorkingDays:
                              type:
                                - integer
                                - "null"
                            startedAt:
                              type: string
                              format: date-time
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      tasks:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - stageId
                            - titleEn
                            - titleRu
                            - descriptionEn
                            - descriptionRu
                            - notes
                            - position
                            - status
                            - pinned
                            - scheduleType
                            - dueDate
                            - shipmentOffsetDays
                            - weeklyStopOffsetDays
                            - completedAt
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            stageId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            notes:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - open
                                - done
                                - not_required
                            pinned:
                              type: boolean
                            scheduleType:
                              type: string
                              enum:
                                - none
                                - stage_deadline
                                - weekly
                                - shipment_relative
                                - manual
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            shipmentOffsetDays:
                              type:
                                - integer
                                - "null"
                            weeklyStopOffsetDays:
                              type:
                                - integer
                                - "null"
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      progress:
                        type: object
                        required:
                          - completedTasks
                          - totalTasks
                          - percent
                        properties:
                          completedTasks:
                            type: integer
                          totalTasks:
                            type: integer
                          percent:
                            type: integer
                        additionalProperties: false
                      availableActions:
                        type: array
                        items:
                          type: string
                      activity:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - kind
                            - labelEn
                            - labelRu
                            - createdAt
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            kind:
                              type: string
                            labelEn:
                              type: string
                            labelRu:
                              type: string
                            createdAt:
                              type: string
                              format: date-time
                            order:
                              type: object
                              additionalProperties: true
                              description: Order summary attached only by the weekly-activity projection.
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /orders/{orderId}/stages/{stageId}/reopen:
    parameters:
      - $ref: "#/components/parameters/OrderId"
      - $ref: "#/components/parameters/StageId"
    post:
      operationId: reopenOrderStage
      tags:
        - Order workflow
      summary: Reopen a completed order stage.
      x-parity-id: API-091
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Order aggregate.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - companyId
                      - templateKey
                      - templateName
                      - important
                      - fieldValues
                      - specNo
                      - supplier
                      - invoiceNumber
                      - orderNumber
                      - containerQty
                      - plannedShipmentDate
                      - deliveryDays
                      - estimatedArrivalDate
                      - comment
                      - status
                      - archived
                      - archivedAt
                      - sortPosition
                      - createdAt
                      - updatedAt
                      - completedAt
                      - version
                      - company
                      - stages
                      - tasks
                      - progress
                      - availableActions
                    properties:
                      id:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      templateKey:
                        type:
                          - string
                          - "null"
                      templateName:
                        type:
                          - string
                          - "null"
                      important:
                        type: boolean
                      fieldValues:
                        type: object
                        additionalProperties: true
                      specNo:
                        type: string
                      supplier:
                        type: string
                      invoiceNumber:
                        type: string
                      orderNumber:
                        type: string
                      containerQty:
                        type: number
                      plannedShipmentDate:
                        type: string
                        format: date
                      deliveryDays:
                        type: integer
                      estimatedArrivalDate:
                        type: string
                        format: date
                      comment:
                        type: string
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      sortPosition:
                        type:
                          - number
                          - "null"
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      company:
                        type:
                          - object
                          - "null"
                        additionalProperties: true
                      stages:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - titleEn
                            - titleRu
                            - descriptionEn
                            - descriptionRu
                            - position
                            - status
                            - durationWorkingDays
                            - startedAt
                            - dueDate
                            - completedAt
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - pending
                                - open
                                - completed
                                - not_required
                            durationWorkingDays:
                              type:
                                - integer
                                - "null"
                            startedAt:
                              type: string
                              format: date-time
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      tasks:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - stageId
                            - titleEn
                            - titleRu
                            - descriptionEn
                            - descriptionRu
                            - notes
                            - position
                            - status
                            - pinned
                            - scheduleType
                            - dueDate
                            - shipmentOffsetDays
                            - weeklyStopOffsetDays
                            - completedAt
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            stageId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            notes:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - open
                                - done
                                - not_required
                            pinned:
                              type: boolean
                            scheduleType:
                              type: string
                              enum:
                                - none
                                - stage_deadline
                                - weekly
                                - shipment_relative
                                - manual
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            shipmentOffsetDays:
                              type:
                                - integer
                                - "null"
                            weeklyStopOffsetDays:
                              type:
                                - integer
                                - "null"
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      progress:
                        type: object
                        required:
                          - completedTasks
                          - totalTasks
                          - percent
                        properties:
                          completedTasks:
                            type: integer
                          totalTasks:
                            type: integer
                          percent:
                            type: integer
                        additionalProperties: false
                      availableActions:
                        type: array
                        items:
                          type: string
                      activity:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - kind
                            - labelEn
                            - labelRu
                            - createdAt
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            kind:
                              type: string
                            labelEn:
                              type: string
                            labelRu:
                              type: string
                            createdAt:
                              type: string
                              format: date-time
                            order:
                              type: object
                              additionalProperties: true
                              description: Order summary attached only by the weekly-activity projection.
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /orders/{orderId}/stages/{stageId}/skip:
    parameters:
      - $ref: "#/components/parameters/OrderId"
      - $ref: "#/components/parameters/StageId"
    post:
      operationId: skipOrderStage
      tags:
        - Order workflow
      summary: Mark an allowed order stage not required.
      x-parity-id: API-091
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Order aggregate.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - companyId
                      - templateKey
                      - templateName
                      - important
                      - fieldValues
                      - specNo
                      - supplier
                      - invoiceNumber
                      - orderNumber
                      - containerQty
                      - plannedShipmentDate
                      - deliveryDays
                      - estimatedArrivalDate
                      - comment
                      - status
                      - archived
                      - archivedAt
                      - sortPosition
                      - createdAt
                      - updatedAt
                      - completedAt
                      - version
                      - company
                      - stages
                      - tasks
                      - progress
                      - availableActions
                    properties:
                      id:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      templateKey:
                        type:
                          - string
                          - "null"
                      templateName:
                        type:
                          - string
                          - "null"
                      important:
                        type: boolean
                      fieldValues:
                        type: object
                        additionalProperties: true
                      specNo:
                        type: string
                      supplier:
                        type: string
                      invoiceNumber:
                        type: string
                      orderNumber:
                        type: string
                      containerQty:
                        type: number
                      plannedShipmentDate:
                        type: string
                        format: date
                      deliveryDays:
                        type: integer
                      estimatedArrivalDate:
                        type: string
                        format: date
                      comment:
                        type: string
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      sortPosition:
                        type:
                          - number
                          - "null"
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      company:
                        type:
                          - object
                          - "null"
                        additionalProperties: true
                      stages:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - titleEn
                            - titleRu
                            - descriptionEn
                            - descriptionRu
                            - position
                            - status
                            - durationWorkingDays
                            - startedAt
                            - dueDate
                            - completedAt
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - pending
                                - open
                                - completed
                                - not_required
                            durationWorkingDays:
                              type:
                                - integer
                                - "null"
                            startedAt:
                              type: string
                              format: date-time
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      tasks:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - stageId
                            - titleEn
                            - titleRu
                            - descriptionEn
                            - descriptionRu
                            - notes
                            - position
                            - status
                            - pinned
                            - scheduleType
                            - dueDate
                            - shipmentOffsetDays
                            - weeklyStopOffsetDays
                            - completedAt
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            stageId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            notes:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - open
                                - done
                                - not_required
                            pinned:
                              type: boolean
                            scheduleType:
                              type: string
                              enum:
                                - none
                                - stage_deadline
                                - weekly
                                - shipment_relative
                                - manual
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            shipmentOffsetDays:
                              type:
                                - integer
                                - "null"
                            weeklyStopOffsetDays:
                              type:
                                - integer
                                - "null"
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      progress:
                        type: object
                        required:
                          - completedTasks
                          - totalTasks
                          - percent
                        properties:
                          completedTasks:
                            type: integer
                          totalTasks:
                            type: integer
                          percent:
                            type: integer
                        additionalProperties: false
                      availableActions:
                        type: array
                        items:
                          type: string
                      activity:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - kind
                            - labelEn
                            - labelRu
                            - createdAt
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            kind:
                              type: string
                            labelEn:
                              type: string
                            labelRu:
                              type: string
                            createdAt:
                              type: string
                              format: date-time
                            order:
                              type: object
                              additionalProperties: true
                              description: Order summary attached only by the weekly-activity projection.
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /orders/{orderId}/stages/{stageId}/unskip:
    parameters:
      - $ref: "#/components/parameters/OrderId"
      - $ref: "#/components/parameters/StageId"
    post:
      operationId: unskipOrderStage
      tags:
        - Order workflow
      summary: Restore a skipped order stage to required work.
      x-parity-id: API-091
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Order aggregate.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - companyId
                      - templateKey
                      - templateName
                      - important
                      - fieldValues
                      - specNo
                      - supplier
                      - invoiceNumber
                      - orderNumber
                      - containerQty
                      - plannedShipmentDate
                      - deliveryDays
                      - estimatedArrivalDate
                      - comment
                      - status
                      - archived
                      - archivedAt
                      - sortPosition
                      - createdAt
                      - updatedAt
                      - completedAt
                      - version
                      - company
                      - stages
                      - tasks
                      - progress
                      - availableActions
                    properties:
                      id:
                        type: string
                      companyId:
                        type:
                          - string
                          - "null"
                      templateKey:
                        type:
                          - string
                          - "null"
                      templateName:
                        type:
                          - string
                          - "null"
                      important:
                        type: boolean
                      fieldValues:
                        type: object
                        additionalProperties: true
                      specNo:
                        type: string
                      supplier:
                        type: string
                      invoiceNumber:
                        type: string
                      orderNumber:
                        type: string
                      containerQty:
                        type: number
                      plannedShipmentDate:
                        type: string
                        format: date
                      deliveryDays:
                        type: integer
                      estimatedArrivalDate:
                        type: string
                        format: date
                      comment:
                        type: string
                      status:
                        type: string
                        enum:
                          - active
                          - completed
                      archived:
                        type: boolean
                      archivedAt:
                        type: string
                        format: date-time
                      sortPosition:
                        type:
                          - number
                          - "null"
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                      company:
                        type:
                          - object
                          - "null"
                        additionalProperties: true
                      stages:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - titleEn
                            - titleRu
                            - descriptionEn
                            - descriptionRu
                            - position
                            - status
                            - durationWorkingDays
                            - startedAt
                            - dueDate
                            - completedAt
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - pending
                                - open
                                - completed
                                - not_required
                            durationWorkingDays:
                              type:
                                - integer
                                - "null"
                            startedAt:
                              type: string
                              format: date-time
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      tasks:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - stageId
                            - titleEn
                            - titleRu
                            - descriptionEn
                            - descriptionRu
                            - notes
                            - position
                            - status
                            - pinned
                            - scheduleType
                            - dueDate
                            - shipmentOffsetDays
                            - weeklyStopOffsetDays
                            - completedAt
                            - createdAt
                            - updatedAt
                            - version
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            stageId:
                              type: string
                            titleEn:
                              type: string
                            titleRu:
                              type: string
                            descriptionEn:
                              type: string
                            descriptionRu:
                              type: string
                            notes:
                              type: string
                            position:
                              type: integer
                            status:
                              type: string
                              enum:
                                - open
                                - done
                                - not_required
                            pinned:
                              type: boolean
                            scheduleType:
                              type: string
                              enum:
                                - none
                                - stage_deadline
                                - weekly
                                - shipment_relative
                                - manual
                            dueDate:
                              type:
                                - string
                                - "null"
                              format: date
                            shipmentOffsetDays:
                              type:
                                - integer
                                - "null"
                            weeklyStopOffsetDays:
                              type:
                                - integer
                                - "null"
                            completedAt:
                              type: string
                              format: date-time
                            createdAt:
                              type: string
                              format: date-time
                            updatedAt:
                              type: string
                              format: date-time
                            version:
                              type: integer
                              minimum: 1
                          additionalProperties: false
                      progress:
                        type: object
                        required:
                          - completedTasks
                          - totalTasks
                          - percent
                        properties:
                          completedTasks:
                            type: integer
                          totalTasks:
                            type: integer
                          percent:
                            type: integer
                        additionalProperties: false
                      availableActions:
                        type: array
                        items:
                          type: string
                      activity:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - orderId
                            - kind
                            - labelEn
                            - labelRu
                            - createdAt
                          properties:
                            id:
                              type: string
                            orderId:
                              type: string
                            kind:
                              type: string
                            labelEn:
                              type: string
                            labelRu:
                              type: string
                            createdAt:
                              type: string
                              format: date-time
                            order:
                              type: object
                              additionalProperties: true
                              description: Order summary attached only by the weekly-activity projection.
                          additionalProperties: false
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /orders/{orderId}/stages/{stageId}/tasks:
    parameters:
      - $ref: "#/components/parameters/OrderId"
      - $ref: "#/components/parameters/StageId"
    post:
      operationId: createOrderTask
      tags:
        - Order workflow
      summary: Add an order-specific task and schedule.
      x-parity-id: API-092
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - titleEn
                - titleRu
              properties:
                titleEn:
                  type: string
                  minLength: 1
                  maxLength: 200
                titleRu:
                  type: string
                  minLength: 1
                  maxLength: 200
                descriptionEn:
                  type: string
                  maxLength: 10000
                descriptionRu:
                  type: string
                  maxLength: 10000
                notes:
                  type: string
                  maxLength: 20000
                status:
                  type: string
                  enum:
                    - open
                    - done
                    - not_required
                scheduleType:
                  type: string
                  enum:
                    - none
                    - stage_deadline
                    - weekly
                    - shipment_relative
                    - manual
                dueDate:
                  $ref: "#/components/schemas/LocalDate"
                shipmentOffsetDays:
                  type: integer
                  minimum: -3650
                  maximum: 3650
                weeklyStopOffsetDays:
                  type: integer
                  minimum: -3650
                  maximum: 3650
              additionalProperties: false
            example:
              titleEn: Confirm packing list
              titleRu: Р СџР С•Р Т‘РЎвЂљР Р†Р ВµРЎР‚Р Т‘Р С‘РЎвЂљРЎРЉ РЎС“Р С—Р В°Р С”Р С•Р Р†Р С•РЎвЂЎР Р…РЎвЂ№Р в„– Р В»Р С‘РЎРѓРЎвЂљ
              scheduleType: shipment_relative
              shipmentOffsetDays: -3
      responses:
        "201":
          description: Order task.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - orderId
                      - stageId
                      - titleEn
                      - titleRu
                      - descriptionEn
                      - descriptionRu
                      - notes
                      - position
                      - status
                      - pinned
                      - scheduleType
                      - dueDate
                      - shipmentOffsetDays
                      - weeklyStopOffsetDays
                      - completedAt
                      - createdAt
                      - updatedAt
                      - version
                    properties:
                      id:
                        type: string
                      orderId:
                        type: string
                      stageId:
                        type: string
                      titleEn:
                        type: string
                      titleRu:
                        type: string
                      descriptionEn:
                        type: string
                      descriptionRu:
                        type: string
                      notes:
                        type: string
                      position:
                        type: integer
                      status:
                        type: string
                        enum:
                          - open
                          - done
                          - not_required
                      pinned:
                        type: boolean
                      scheduleType:
                        type: string
                        enum:
                          - none
                          - stage_deadline
                          - weekly
                          - shipment_relative
                          - manual
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      shipmentOffsetDays:
                        type:
                          - integer
                          - "null"
                      weeklyStopOffsetDays:
                        type:
                          - integer
                          - "null"
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /orders/{orderId}/stages/{stageId}/tasks/reorder:
    parameters:
      - $ref: "#/components/parameters/OrderId"
      - $ref: "#/components/parameters/StageId"
    post:
      operationId: reorderOrderTasks
      tags:
        - Order workflow
      summary: Reorder tasks within an order stage.
      x-parity-id: API-092
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - taskIds
              properties:
                taskIds:
                  type: array
                  minItems: 1
                  maxItems: 100
                  uniqueItems: true
                  items:
                    $ref: "#/components/schemas/OpaqueId"
                expectedVersions:
                  type: object
                  additionalProperties:
                    type: integer
                    minimum: 1
              additionalProperties: false
            example:
              taskIds:
                - wft_confirm_packing_list
              expectedVersions:
                wft_confirm_packing_list: 2
      responses:
        "200":
          description: Reorder summary.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - reordered
                    properties:
                      reordered:
                        type: integer
                        minimum: 0
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /orders/{orderId}/stages/{stageId}/tasks/{workflowTaskId}:
    parameters:
      - $ref: "#/components/parameters/OrderId"
      - $ref: "#/components/parameters/StageId"
      - $ref: "#/components/parameters/WorkflowTaskId"
    patch:
      operationId: updateOrderTask
      tags:
        - Order workflow
      summary: Update order task content/schedule and recalculate deadlines.
      x-parity-id: API-092
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              minProperties: 1
              properties:
                titleEn:
                  type: string
                  minLength: 1
                  maxLength: 500
                titleRu:
                  type: string
                  minLength: 1
                  maxLength: 500
                descriptionEn:
                  type: string
                  maxLength: 10000
                descriptionRu:
                  type: string
                  maxLength: 10000
                notes:
                  type: string
                  maxLength: 20000
                scheduleType:
                  type: string
                  enum:
                    - none
                    - stage_deadline
                    - weekly
                    - shipment_relative
                    - manual
                dueDate:
                  $ref: "#/components/schemas/LocalDate"
                shipmentOffsetDays:
                  type: integer
                  minimum: -3650
                  maximum: 3650
                weeklyStopOffsetDays:
                  type: integer
                  minimum: -3650
                  maximum: 3650
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              shipmentOffsetDays: -4
              expectedVersion: 2
      responses:
        "200":
          description: Order task.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - orderId
                      - stageId
                      - titleEn
                      - titleRu
                      - descriptionEn
                      - descriptionRu
                      - notes
                      - position
                      - status
                      - pinned
                      - scheduleType
                      - dueDate
                      - shipmentOffsetDays
                      - weeklyStopOffsetDays
                      - completedAt
                      - createdAt
                      - updatedAt
                      - version
                    properties:
                      id:
                        type: string
                      orderId:
                        type: string
                      stageId:
                        type: string
                      titleEn:
                        type: string
                      titleRu:
                        type: string
                      descriptionEn:
                        type: string
                      descriptionRu:
                        type: string
                      notes:
                        type: string
                      position:
                        type: integer
                      status:
                        type: string
                        enum:
                          - open
                          - done
                          - not_required
                      pinned:
                        type: boolean
                      scheduleType:
                        type: string
                        enum:
                          - none
                          - stage_deadline
                          - weekly
                          - shipment_relative
                          - manual
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      shipmentOffsetDays:
                        type:
                          - integer
                          - "null"
                      weeklyStopOffsetDays:
                        type:
                          - integer
                          - "null"
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "412":
          $ref: "#/components/responses/PreconditionFailed"
        "422":
          $ref: "#/components/responses/Unprocessable"
  /orders/{orderId}/stages/{stageId}/tasks/{workflowTaskId}/move:
    parameters:
      - $ref: "#/components/parameters/OrderId"
      - $ref: "#/components/parameters/StageId"
      - $ref: "#/components/parameters/WorkflowTaskId"
    post:
      operationId: moveOrderTask
      tags:
        - Order workflow
      summary: Move a task to a validated stage/position.
      x-parity-id: API-092
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - direction
              properties:
                direction:
                  type: string
                  enum:
                    - up
                    - down
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              direction: down
              expectedVersion: 2
      responses:
        "200":
          description: Order task.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - orderId
                      - stageId
                      - titleEn
                      - titleRu
                      - descriptionEn
                      - descriptionRu
                      - notes
                      - position
                      - status
                      - pinned
                      - scheduleType
                      - dueDate
                      - shipmentOffsetDays
                      - weeklyStopOffsetDays
                      - completedAt
                      - createdAt
                      - updatedAt
                      - version
                    properties:
                      id:
                        type: string
                      orderId:
                        type: string
                      stageId:
                        type: string
                      titleEn:
                        type: string
                      titleRu:
                        type: string
                      descriptionEn:
                        type: string
                      descriptionRu:
                        type: string
                      notes:
                        type: string
                      position:
                        type: integer
                      status:
                        type: string
                        enum:
                          - open
                          - done
                          - not_required
                      pinned:
                        type: boolean
                      scheduleType:
                        type: string
                        enum:
                          - none
                          - stage_deadline
                          - weekly
                          - shipment_relative
                          - manual
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      shipmentOffsetDays:
                        type:
                          - integer
                          - "null"
                      weeklyStopOffsetDays:
                        type:
                          - integer
                          - "null"
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /orders/{orderId}/stages/{stageId}/tasks/{workflowTaskId}/complete:
    parameters:
      - $ref: "#/components/parameters/OrderId"
      - $ref: "#/components/parameters/StageId"
      - $ref: "#/components/parameters/WorkflowTaskId"
    post:
      operationId: completeOrderTask
      tags:
        - Order workflow
      summary: Complete an allowed order task.
      x-parity-id: API-092
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Order task.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - orderId
                      - stageId
                      - titleEn
                      - titleRu
                      - descriptionEn
                      - descriptionRu
                      - notes
                      - position
                      - status
                      - pinned
                      - scheduleType
                      - dueDate
                      - shipmentOffsetDays
                      - weeklyStopOffsetDays
                      - completedAt
                      - createdAt
                      - updatedAt
                      - version
                    properties:
                      id:
                        type: string
                      orderId:
                        type: string
                      stageId:
                        type: string
                      titleEn:
                        type: string
                      titleRu:
                        type: string
                      descriptionEn:
                        type: string
                      descriptionRu:
                        type: string
                      notes:
                        type: string
                      position:
                        type: integer
                      status:
                        type: string
                        enum:
                          - open
                          - done
                          - not_required
                      pinned:
                        type: boolean
                      scheduleType:
                        type: string
                        enum:
                          - none
                          - stage_deadline
                          - weekly
                          - shipment_relative
                          - manual
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      shipmentOffsetDays:
                        type:
                          - integer
                          - "null"
                      weeklyStopOffsetDays:
                        type:
                          - integer
                          - "null"
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /orders/{orderId}/stages/{stageId}/tasks/{workflowTaskId}/reopen:
    parameters:
      - $ref: "#/components/parameters/OrderId"
      - $ref: "#/components/parameters/StageId"
      - $ref: "#/components/parameters/WorkflowTaskId"
    post:
      operationId: reopenOrderTask
      tags:
        - Order workflow
      summary: Reopen a completed order task.
      x-parity-id: API-092
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Order task.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - orderId
                      - stageId
                      - titleEn
                      - titleRu
                      - descriptionEn
                      - descriptionRu
                      - notes
                      - position
                      - status
                      - pinned
                      - scheduleType
                      - dueDate
                      - shipmentOffsetDays
                      - weeklyStopOffsetDays
                      - completedAt
                      - createdAt
                      - updatedAt
                      - version
                    properties:
                      id:
                        type: string
                      orderId:
                        type: string
                      stageId:
                        type: string
                      titleEn:
                        type: string
                      titleRu:
                        type: string
                      descriptionEn:
                        type: string
                      descriptionRu:
                        type: string
                      notes:
                        type: string
                      position:
                        type: integer
                      status:
                        type: string
                        enum:
                          - open
                          - done
                          - not_required
                      pinned:
                        type: boolean
                      scheduleType:
                        type: string
                        enum:
                          - none
                          - stage_deadline
                          - weekly
                          - shipment_relative
                          - manual
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      shipmentOffsetDays:
                        type:
                          - integer
                          - "null"
                      weeklyStopOffsetDays:
                        type:
                          - integer
                          - "null"
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /orders/{orderId}/stages/{stageId}/tasks/{workflowTaskId}/skip:
    parameters:
      - $ref: "#/components/parameters/OrderId"
      - $ref: "#/components/parameters/StageId"
      - $ref: "#/components/parameters/WorkflowTaskId"
    post:
      operationId: skipOrderTask
      tags:
        - Order workflow
      summary: Mark an allowed order task not required.
      x-parity-id: API-092
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Order task.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - orderId
                      - stageId
                      - titleEn
                      - titleRu
                      - descriptionEn
                      - descriptionRu
                      - notes
                      - position
                      - status
                      - pinned
                      - scheduleType
                      - dueDate
                      - shipmentOffsetDays
                      - weeklyStopOffsetDays
                      - completedAt
                      - createdAt
                      - updatedAt
                      - version
                    properties:
                      id:
                        type: string
                      orderId:
                        type: string
                      stageId:
                        type: string
                      titleEn:
                        type: string
                      titleRu:
                        type: string
                      descriptionEn:
                        type: string
                      descriptionRu:
                        type: string
                      notes:
                        type: string
                      position:
                        type: integer
                      status:
                        type: string
                        enum:
                          - open
                          - done
                          - not_required
                      pinned:
                        type: boolean
                      scheduleType:
                        type: string
                        enum:
                          - none
                          - stage_deadline
                          - weekly
                          - shipment_relative
                          - manual
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      shipmentOffsetDays:
                        type:
                          - integer
                          - "null"
                      weeklyStopOffsetDays:
                        type:
                          - integer
                          - "null"
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /orders/{orderId}/stages/{stageId}/tasks/{workflowTaskId}/unskip:
    parameters:
      - $ref: "#/components/parameters/OrderId"
      - $ref: "#/components/parameters/StageId"
      - $ref: "#/components/parameters/WorkflowTaskId"
    post:
      operationId: unskipOrderTask
      tags:
        - Order workflow
      summary: Restore a skipped order task to required work.
      x-parity-id: API-092
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Order task.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - orderId
                      - stageId
                      - titleEn
                      - titleRu
                      - descriptionEn
                      - descriptionRu
                      - notes
                      - position
                      - status
                      - pinned
                      - scheduleType
                      - dueDate
                      - shipmentOffsetDays
                      - weeklyStopOffsetDays
                      - completedAt
                      - createdAt
                      - updatedAt
                      - version
                    properties:
                      id:
                        type: string
                      orderId:
                        type: string
                      stageId:
                        type: string
                      titleEn:
                        type: string
                      titleRu:
                        type: string
                      descriptionEn:
                        type: string
                      descriptionRu:
                        type: string
                      notes:
                        type: string
                      position:
                        type: integer
                      status:
                        type: string
                        enum:
                          - open
                          - done
                          - not_required
                      pinned:
                        type: boolean
                      scheduleType:
                        type: string
                        enum:
                          - none
                          - stage_deadline
                          - weekly
                          - shipment_relative
                          - manual
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      shipmentOffsetDays:
                        type:
                          - integer
                          - "null"
                      weeklyStopOffsetDays:
                        type:
                          - integer
                          - "null"
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "409":
          $ref: "#/components/responses/Conflict"
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /orders/{orderId}/stages/{stageId}/tasks/{workflowTaskId}/pin:
    parameters:
      - $ref: "#/components/parameters/OrderId"
      - $ref: "#/components/parameters/StageId"
      - $ref: "#/components/parameters/WorkflowTaskId"
    post:
      operationId: pinOrderTask
      tags:
        - Order workflow
      summary: Pin an order task.
      x-parity-id: API-092
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Order task.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - orderId
                      - stageId
                      - titleEn
                      - titleRu
                      - descriptionEn
                      - descriptionRu
                      - notes
                      - position
                      - status
                      - pinned
                      - scheduleType
                      - dueDate
                      - shipmentOffsetDays
                      - weeklyStopOffsetDays
                      - completedAt
                      - createdAt
                      - updatedAt
                      - version
                    properties:
                      id:
                        type: string
                      orderId:
                        type: string
                      stageId:
                        type: string
                      titleEn:
                        type: string
                      titleRu:
                        type: string
                      descriptionEn:
                        type: string
                      descriptionRu:
                        type: string
                      notes:
                        type: string
                      position:
                        type: integer
                      status:
                        type: string
                        enum:
                          - open
                          - done
                          - not_required
                      pinned:
                        type: boolean
                      scheduleType:
                        type: string
                        enum:
                          - none
                          - stage_deadline
                          - weekly
                          - shipment_relative
                          - manual
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      shipmentOffsetDays:
                        type:
                          - integer
                          - "null"
                      weeklyStopOffsetDays:
                        type:
                          - integer
                          - "null"
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /orders/{orderId}/stages/{stageId}/tasks/{workflowTaskId}/unpin:
    parameters:
      - $ref: "#/components/parameters/OrderId"
      - $ref: "#/components/parameters/StageId"
      - $ref: "#/components/parameters/WorkflowTaskId"
    post:
      operationId: unpinOrderTask
      tags:
        - Order workflow
      summary: Unpin an order task.
      x-parity-id: API-092
      x-stability: stable
      x-scopes:
        - workspace:write
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/IfMatch"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedVersion:
                  type: integer
                  minimum: 1
              additionalProperties: false
            example:
              expectedVersion: 3
      responses:
        "200":
          description: Order task.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - id
                      - orderId
                      - stageId
                      - titleEn
                      - titleRu
                      - descriptionEn
                      - descriptionRu
                      - notes
                      - position
                      - status
                      - pinned
                      - scheduleType
                      - dueDate
                      - shipmentOffsetDays
                      - weeklyStopOffsetDays
                      - completedAt
                      - createdAt
                      - updatedAt
                      - version
                    properties:
                      id:
                        type: string
                      orderId:
                        type: string
                      stageId:
                        type: string
                      titleEn:
                        type: string
                      titleRu:
                        type: string
                      descriptionEn:
                        type: string
                      descriptionRu:
                        type: string
                      notes:
                        type: string
                      position:
                        type: integer
                      status:
                        type: string
                        enum:
                          - open
                          - done
                          - not_required
                      pinned:
                        type: boolean
                      scheduleType:
                        type: string
                        enum:
                          - none
                          - stage_deadline
                          - weekly
                          - shipment_relative
                          - manual
                      dueDate:
                        type:
                          - string
                          - "null"
                        format: date
                      shipmentOffsetDays:
                        type:
                          - integer
                          - "null"
                      weeklyStopOffsetDays:
                        type:
                          - integer
                          - "null"
                      completedAt:
                        type: string
                        format: date-time
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      version:
                        type: integer
                        minimum: 1
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "412":
          $ref: "#/components/responses/PreconditionFailed"
  /orders/{orderId}/activity:
    parameters:
      - $ref: "#/components/parameters/OrderId"
    get:
      operationId: listOrderActivity
      tags:
        - Archive and history
      summary: List immutable order history events in stable order.
      x-parity-id: API-096
      x-stability: stable
      x-scopes:
        - workspace:read
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/Limit"
      responses:
        "200":
          description: Cursor-paginated activity entries.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - items
                      - nextCursor
                    properties:
                      items:
                        type: array
                        items:
                          type: object
                          additionalProperties: true
                      nextCursor:
                        type:
                          - string
                          - "null"
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
  /processes/{processId}/items/{itemId}/activity:
    parameters:
      - $ref: "#/components/parameters/ProcessId"
      - $ref: "#/components/parameters/ItemId"
    get:
      operationId: listProcessItemActivity
      tags:
        - Archive and history
      summary: List immutable tracked-item history events.
      x-parity-id: API-096
      x-stability: stable
      x-scopes:
        - workspace:read
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/Limit"
      responses:
        "200":
          description: Cursor-paginated activity entries.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - items
                      - nextCursor
                    properties:
                      items:
                        type: array
                        items:
                          type: object
                          additionalProperties: true
                      nextCursor:
                        type:
                          - string
                          - "null"
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
  /tasks/{taskId}/activity:
    parameters:
      - $ref: "#/components/parameters/TaskId"
    get:
      operationId: listTaskActivity
      tags:
        - Archive and history
      summary: List immutable standalone-task history events.
      x-parity-id: API-096
      x-stability: stable
      x-scopes:
        - workspace:read
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/Limit"
      responses:
        "200":
          description: Cursor-paginated activity entries.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - items
                      - nextCursor
                    properties:
                      items:
                        type: array
                        items:
                          type: object
                          additionalProperties: true
                      nextCursor:
                        type:
                          - string
                          - "null"
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "404":
          $ref: "#/components/responses/NotFound"
  /archive:
    get:
      operationId: listArchive
      tags:
        - Archive and history
      summary: List archived resources with typed restore and deletion links.
      x-parity-id: API-097
      x-stability: stable
      x-scopes:
        - workspace:read
      x-destructive: false
      parameters:
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/Limit"
      responses:
        "200":
          description: Cursor-paginated activity entries.
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - meta
                properties:
                  data:
                    type: object
                    required:
                      - items
                      - nextCursor
                    properties:
                      items:
                        type: array
                        items:
                          type: object
                          additionalProperties: true
                      nextCursor:
                        type:
                          - string
                          - "null"
                    additionalProperties: false
                  meta:
                    $ref: "#/components/schemas/ResponseMeta"
                additionalProperties: false
        "401":
          $ref: "#/components/responses/Unauthorized"
components:
  securitySchemes:
    bearerApiKey:
      type: http
      scheme: bearer
      bearerFormat: SteadyDo API key
      description: A one-time-displayed SteadyDo key. HTTPS only; never place it in URLs or logs.
  parameters:
    ApiKeyId:
      name: apiKeyId
      in: path
      required: true
      schema:
        $ref: "#/components/schemas/OpaqueId"
    TaskId:
      name: taskId
      in: path
      required: true
      schema:
        $ref: "#/components/schemas/OpaqueId"
    ChecklistItemId:
      name: checklistItemId
      in: path
      required: true
      schema:
        $ref: "#/components/schemas/OpaqueId"
    CompanyId:
      name: companyId
      in: path
      required: true
      schema:
        $ref: "#/components/schemas/OpaqueId"
    ProcessId:
      name: processId
      in: path
      required: true
      schema:
        $ref: "#/components/schemas/OpaqueId"
    FieldId:
      name: fieldId
      in: path
      required: true
      schema:
        $ref: "#/components/schemas/OpaqueId"
    TemplateId:
      name: templateId
      in: path
      required: true
      schema:
        $ref: "#/components/schemas/OpaqueId"
    ItemId:
      name: itemId
      in: path
      required: true
      schema:
        $ref: "#/components/schemas/OpaqueId"
    OrderId:
      name: orderId
      in: path
      required: true
      schema:
        $ref: "#/components/schemas/OpaqueId"
    StageId:
      name: stageId
      in: path
      required: true
      schema:
        $ref: "#/components/schemas/OpaqueId"
    WorkflowTaskId:
      name: workflowTaskId
      in: path
      required: true
      schema:
        $ref: "#/components/schemas/OpaqueId"
    Cursor:
      name: cursor
      in: query
      schema:
        type: string
      description: Opaque continuation cursor.
    Limit:
      name: limit
      in: query
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 50
    IfMatch:
      name: If-Match
      in: header
      required: true
      schema:
        type: string
        pattern: ^"v[1-9][0-9]*"$
      example: '"v3"'
    IdempotencyKey:
      name: Idempotency-Key
      in: header
      required: true
      schema:
        type: string
        minLength: 16
        maxLength: 128
        pattern: ^[ -~]+$
  schemas:
    OpaqueId:
      type: string
      minLength: 3
      maxLength: 128
      description: Opaque; never parse or construct.
    Instant:
      type: string
      format: date-time
      examples:
        - 2026-08-17T09:30:00Z
    LocalDate:
      type: string
      format: date
      examples:
        - 2026-08-17
    ActionLink:
      type: object
      required:
        - operationId
        - href
        - method
      properties:
        operationId:
          type: string
        href:
          type: string
        method:
          type: string
          enum:
            - GET
            - POST
            - PATCH
            - PUT
            - DELETE
    ResponseMeta:
      type: object
      required:
        - requestId
      properties:
        requestId:
          type: string
        nextCursor:
          type:
            - string
            - "null"
        limit:
          type: integer
        sort:
          type: array
          items:
            type: string
      additionalProperties: true
    Problem:
      type: object
      required:
        - type
        - title
        - status
        - detail
        - code
        - requestId
      properties:
        type:
          type: string
          format: uri-reference
        title:
          type: string
        status:
          type: integer
          minimum: 400
          maximum: 599
        detail:
          type: string
        code:
          type: string
        requestId:
          type: string
        violations:
          type: array
          items:
            type: object
            required:
              - path
              - code
              - message
            properties:
              path:
                type: string
              code:
                type: string
              message:
                type: string
    ConfirmationBody:
      type: object
      required:
        - confirmationToken
      properties:
        confirmationToken:
          type: string
          minLength: 32
          writeOnly: true
      additionalProperties: false
    Preview:
      type: object
      required:
        - confirmationToken
        - expiresAt
        - resourceId
        - resourceVersion
        - effects
      properties:
        confirmationToken:
          type: string
          writeOnly: true
          description: Single-use; expires in ten minutes and is actor/key/operation/resource/version/scope-bound.
        expiresAt:
          $ref: "#/components/schemas/Instant"
        resourceId:
          $ref: "#/components/schemas/OpaqueId"
        resourceVersion:
          type: integer
          minimum: 1
        effects:
          type: array
          items:
            type: object
            additionalProperties: true
      additionalProperties: false
    ApiKeySecretResult:
      type: object
      required:
        - key
        - secret
      properties:
        key:
          type: object
          required:
            - id
            - label
            - prefix
            - fingerprint
            - scopes
            - status
            - createdAt
          properties:
            id:
              type: string
            label:
              type: string
            prefix:
              type: string
            fingerprint:
              type: string
            scopes:
              type: array
              items:
                type: string
            status:
              type: string
              enum:
                - active
                - retiring
                - revoked
            createdAt:
              type: string
              format: date-time
            expiresAt:
              type: string
              format: date-time
            lastUsedAt:
              type: string
              format: date-time
              description: Debounced approximate last use.
            lastUsedRequestId:
              type: string
            revokedAt:
              type: string
              format: date-time
            revocationScheduledAt:
              type: string
              format: date-time
            revokedReason:
              type: string
            rotatedFromId:
              type: string
            rotatedToId:
              type: string
          additionalProperties: false
        secret:
          type: string
          writeOnly: true
          example: YOUR_STEADYDO_API_KEY
          description: Returned once; never stored in reusable plaintext idempotency data.
  responses:
    Preview:
      description: Side-effect-free, version-bound preview.
      content:
        application/json:
          schema:
            type: object
            required:
              - data
              - meta
            properties:
              data:
                $ref: "#/components/schemas/Preview"
              meta:
                $ref: "#/components/schemas/ResponseMeta"
    BadRequest:
      $ref: "#/components/responses/Problem400"
    Problem400:
      description: Malformed request.
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/Problem"
    Unauthorized:
      description: Missing, malformed, invalid, expired, or revoked key.
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/Problem"
    Forbidden:
      description: Valid key lacks one or more conjunctive required scopes.
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/Problem"
    NotFound:
      description: Unknown and wrong-owner resources are indistinguishable.
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/Problem"
    Conflict:
      description: State or idempotency conflict.
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/Problem"
    PreconditionFailed:
      description: Strong ETag does not match current aggregate version.
      headers:
        ETag:
          schema:
            type: string
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/Problem"
    PayloadTooLarge:
      description: Request exceeds the advertised limit.
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/Problem"
    UnsupportedMediaType:
      description: Request is not UTF-8 application/json.
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/Problem"
    Unprocessable:
      description: Field, relationship, or confirmation validation failed.
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/Problem"
    RateLimited:
      description: Too many requests.
      headers:
        Retry-After:
          schema:
            type: integer
            minimum: 1
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/Problem"
    InternalError:
      description: Internal failure.
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/Problem"
    Unavailable:
      description: Temporarily unavailable.
      headers:
        Retry-After:
          schema:
            type: integer
            minimum: 1
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/Problem"
