> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Resolve an executor human decision

> The audited MANUAL resolution path of a single-tenant deployment: the only route that resolves an executor human decision. A multi-tenant deployment answers 422 SBJ-0053 before any read and must use the audited manual procedure instead. ledgerEvidence is REQUIRED when the revision is UNCERTAIN, and never changes the answer on a proven revision. Journals a human platform administrator's resolution of the revision's open human decision under every write key of the revision (one row with no key when it wrote nothing), so the open-order probe stops counting it under HumanDecision. Nothing is sent to any channel: the answer to the court stays with the institution. decisionId binds the resolution to the request it answers (the revision's latest). A human platform-administrator action (executor_human_decision:resolve, never held by M2M): an application token (SBJ-0044) or a tenant-carrying token (SBJ-0045) is refused with 403. The rows and the audit row commit in one transaction. 200 outcome NOOP: the same resolution was already journaled. 409 SBJ-0051: no open human decision. 409 SBJ-0054: the journal contradicts the resolution (no effect declared on a PROVEN EFFECT revision, or an acknowledgment while the write is undetermined). 409 SBJ-0055: an acknowledgment on a PROVEN NO EFFECT revision. 409 SBJ-0064: an acknowledgment whose transaction ledgerEvidence is the executor's own effect (a transaction its recovery probe recorded for the revision); movedAmount is the total that left the block account. Each revision is classified, under the same locks as the write, by its journal evidence: PROVEN EFFECT (a posted row or a moving effect) admits only the acknowledgment; PROVEN NO EFFECT (neither, and no moved-needs-human request) admits only the no-effect declaration; UNCERTAIN (a moved-needs-human request without a posted row or a moving effect) admits both, only with ledgerEvidence. 422 SBJ-0052: resolution, reason or ledgerEvidence invalid (reason missing, longer than 200 characters or with personal data), or an UNCERTAIN revision without ledgerEvidence, or movedAmount missing, invalid or not admitted. A release (UNBLOCK or TRANSFER) whose parent block landed without its origin legs is UNCERTAIN whatever its request: its acknowledgement requires movedAmount and a transaction ledgerEvidence. 422 SBJ-0053: multi-tenant deployment (single-tenant only; use the audited manual procedure). 404: unknown revision, or one of an institution this executor does not own (the same answer).



## OpenAPI

````yaml /es/openapi/v3-current/sisbajud-executor.yaml post /v1/admin/executor/orders/{orderId}/revisions/{revision}/human-decision/resolution
openapi: 3.1.0
info:
  description: >-
    API for the Lerian SISBAJUD executor, which runs judicial orders on Midaz.
    It covers institution and Midaz connector configuration, orders that need
    attention, ledger-routing checks, credential key rotation and audit
    verification.
  title: Lerian SISBAJUD Executor API
  version: 1.0.0
servers:
  - url: https://api.example.com
    description: >-
      Replace the example host with the URL provided during environment
      onboarding.
security:
  - BearerAuth: []
tags:
  - description: >-
      Institution configuration lifecycle: create (with key provisioning), read,
      and partial update of a connector configuration addressed by institution
      id.
    name: Institution
  - description: >-
      Rotation of the key that wraps an institution's stored connector
      credentials, addressed by institution id.
    name: Security
  - description: 'Admin API: audit-trail integrity verification.'
    name: Admin
paths:
  /v1/admin/executor/orders/{orderId}/revisions/{revision}/human-decision/resolution:
    post:
      tags:
        - Executor
      summary: Resolve an executor human decision
      description: >-
        The audited MANUAL resolution path of a single-tenant deployment: the
        only route that resolves an executor human decision. A multi-tenant
        deployment answers 422 SBJ-0053 before any read and must use the audited
        manual procedure instead. ledgerEvidence is REQUIRED when the revision
        is UNCERTAIN, and never changes the answer on a proven revision.
        Journals a human platform administrator's resolution of the revision's
        open human decision under every write key of the revision (one row with
        no key when it wrote nothing), so the open-order probe stops counting it
        under HumanDecision. Nothing is sent to any channel: the answer to the
        court stays with the institution. decisionId binds the resolution to the
        request it answers (the revision's latest). A human
        platform-administrator action (executor_human_decision:resolve, never
        held by M2M): an application token (SBJ-0044) or a tenant-carrying token
        (SBJ-0045) is refused with 403. The rows and the audit row commit in one
        transaction. 200 outcome NOOP: the same resolution was already
        journaled. 409 SBJ-0051: no open human decision. 409 SBJ-0054: the
        journal contradicts the resolution (no effect declared on a PROVEN
        EFFECT revision, or an acknowledgment while the write is undetermined).
        409 SBJ-0055: an acknowledgment on a PROVEN NO EFFECT revision. 409
        SBJ-0064: an acknowledgment whose transaction ledgerEvidence is the
        executor's own effect (a transaction its recovery probe recorded for the
        revision); movedAmount is the total that left the block account. Each
        revision is classified, under the same locks as the write, by its
        journal evidence: PROVEN EFFECT (a posted row or a moving effect) admits
        only the acknowledgment; PROVEN NO EFFECT (neither, and no
        moved-needs-human request) admits only the no-effect declaration;
        UNCERTAIN (a moved-needs-human request without a posted row or a moving
        effect) admits both, only with ledgerEvidence. 422 SBJ-0052: resolution,
        reason or ledgerEvidence invalid (reason missing, longer than 200
        characters or with personal data), or an UNCERTAIN revision without
        ledgerEvidence, or movedAmount missing, invalid or not admitted. A
        release (UNBLOCK or TRANSFER) whose parent block landed without its
        origin legs is UNCERTAIN whatever its request: its acknowledgement
        requires movedAmount and a transaction ledgerEvidence. 422 SBJ-0053:
        multi-tenant deployment (single-tenant only; use the audited manual
        procedure). 404: unknown revision, or one of an institution this
        executor does not own (the same answer).
      operationId: resolve-executor-human-decision
      parameters:
        - description: The executor order's identifier (UUID).
          in: path
          name: orderId
          required: true
          schema:
            description: The executor order's identifier (UUID).
            examples:
              - 0b9b7c2e-4f8a-4d3e-9a51-7c2d1e0f3a44
            type: string
        - description: The order revision (>= 1).
          in: path
          name: revision
          required: true
          schema:
            description: The order revision (>= 1).
            examples:
              - 1
            format: int64
            minimum: 1
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HumanDecisionResolutionRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HumanDecisionResolutionResponse'
          description: OK
        '400':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Not Found
        '409':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Conflict
        '413':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Request Entity Too Large
        '422':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Unprocessable Entity
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Too Many Requests
        '500':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Internal Server Error
        '503':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Service Unavailable
components:
  schemas:
    HumanDecisionResolutionRequest:
      additionalProperties: false
      properties:
        decisionId:
          description: >-
            Required. Journal row id of the human-decision request being
            answered: the revision's LATEST request. A request raised again
            after it makes this one stale (409 SBJ-0051), so a retry never
            resolves an occurrence nobody reviewed.
          examples:
            - 7d1e8400-e29b-41d4-a716-446655440000
          type: string
        ledgerEvidence:
          $ref: '#/components/schemas/HumanDecisionLedgerEvidence'
          description: >-
            Required when the revision is UNCERTAIN: the executor raised
            moved-needs-human and the journal holds no posted row nor a moving
            effect, so only the ledger tells whether money moved (missing: 422
            SBJ-0052). Optional otherwise, validated whenever present, and it
            never changes which resolution the journal admits. Stored only in
            the sealed audit row; never echoed, logged nor traced. On an
            acknowledgement, a transaction reference is also journaled as the
            ledger transaction the human read.
        movedAmount:
          description: >-
            The TOTAL, a decimal string above zero (e.g. 150.00), that left the
            block account for this leg, including any effect the executor
            already read: an effect of the executor on the same release counts
            once, never added to it. Required, with a transaction
            ledgerEvidence, to acknowledge the effect of a release (UNBLOCK or
            TRANSFER) whose parent block landed without its origin legs: the
            executor could not plan that return, and the block counts as
            released only when the acknowledged amounts equal what it holds.
            Refused anywhere else (422 SBJ-0052); a transaction ledgerEvidence
            that is the executor's own effect is refused (409 SBJ-0064).
            Journaled; never echoed, logged nor audited.
          examples:
            - '150.00'
          type: string
        reason:
          description: >-
            Required. Short justification or ticket reference (at most 200
            characters, no personal data: CPF, CNPJ, judicial process numbers).
            Never echoed.
          examples:
            - 'OPS-4512: ledger statement reviewed with the institution.'
          type: string
        resolution:
          description: >-
            Required. proven-no-effect: the ledger evidence shows the revision's
            writes never landed (refused with 409 SBJ-0054 when the journal
            shows money moved). effect-acknowledged: the effect is acknowledged
            as it is (refused with 409 SBJ-0055 when the journal shows no landed
            effect).
          examples:
            - effect-acknowledged
          type: string
      type: object
    HumanDecisionResolutionResponse:
      additionalProperties: false
      properties:
        keys:
          description: >-
            How many keys the resolution was journaled under by this request
            (the revision's unresolved request keys; 0 on NOOP).
          format: int64
          type: integer
        orderId:
          description: The executor order's identifier.
          type: string
        outcome:
          description: >-
            RESOLVED: the resolution was journaled now. NOOP: the same
            resolution was already journaled under every key; nothing changed.
          enum:
            - RESOLVED
            - NOOP
          type: string
        resolution:
          description: The resolution journaled, as requested.
          type: string
        resolvedAt:
          description: Instant of the request (UTC).
          format: date-time
          type: string
        resolvedBy:
          description: Subject of the platform administrator who made the request.
          type: string
        revision:
          description: The order revision.
          format: int64
          type: integer
      required:
        - orderId
        - revision
        - resolution
        - outcome
        - keys
        - resolvedBy
        - resolvedAt
      type: object
    Detail:
      additionalProperties: true
      properties:
        code:
          description: >-
            Stable, machine-readable domain error code scoped to the emitting
            service (format: <SERVICE>-NNNN).
          type: string
        detail:
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
          examples:
            - Property foo is required but is missing.
          type: string
        errors:
          description: Optional list of individual error details
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type:
            - array
            - 'null'
        instance:
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem.
          examples:
            - https://example.com/error-log/abc123
          format: uri
          type: string
        status:
          description: HTTP status code
          examples:
            - 400
          format: int64
          type: integer
        title:
          description: >-
            A short, human-readable summary of the problem type. This value
            should not change between occurrences of the error.
          examples:
            - Bad Request
          type: string
        type:
          default: about:blank
          description: A URI reference to human-readable documentation for the error.
          examples:
            - https://example.com/errors/example
          format: uri
          type: string
        upstream:
          $ref: '#/components/schemas/Upstream'
          description: >-
            RFC 9457 extension member: the error a proxied third-party provider
            reported. Absent unless the emitting service explicitly surfaced
            one.
      type: object
    ErrorResponse:
      additionalProperties: false
      properties:
        code:
          type: string
        details:
          additionalProperties: {}
          type: object
        message:
          type: string
        title:
          type: string
      required:
        - code
        - title
        - message
      type: object
    HumanDecisionLedgerEvidence:
      additionalProperties: false
      properties:
        kind:
          description: >-
            Required. What the reference points to: transaction (a ledger
            transaction) or balance (a balance query).
          examples:
            - transaction
          type: string
        observedAt:
          description: >-
            Required. RFC 3339 date-time at which the ledger was read: at most 2
            minutes ahead of the server clock, and not before the revision's
            latest moved-needs-human request (otherwise 422 SBJ-0052).
          examples:
            - '2026-10-29T11:30:00Z'
          type: string
        reference:
          description: >-
            Required. Opaque reference to the ledger query: 1 to 128 characters
            of letters, digits and . _ : / -, starting with a letter or digit,
            with at least one letter. No spaces, no amounts, no personal data
            (CPF, CNPJ, judicial process numbers).
          examples:
            - midaz-tx-3f9a1c7e
          type: string
      type: object
    ErrorDetail:
      additionalProperties: false
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object
    Upstream:
      additionalProperties: false
      properties:
        code:
          description: The upstream provider's own error code, verbatim.
          examples:
            - E4001
          type: string
        message:
          description: >-
            The upstream provider's own error message, verbatim (bounded, never
            its raw response body).
          examples:
            - account not found at provider
          type: string
      type: object
  securitySchemes:
    BearerAuth:
      bearerFormat: JWT
      description: JWT bearer token issued by the identity provider.
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.