> ## 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.

# Crea un ajuste compensatorio de consignado

> Confirma de forma atómica una nueva operación de ajuste compensatorio, su entrada inicial del historial y, cuando la moneda tiene una cuenta transitoria configurada, el evento duradero de intención de contabilización en el outbox. Una respuesta 202 significa que se aceptó de forma duradera, nunca que se contabilizó: el relay del ledger la contabiliza por separado. La operación es idempotente mediante el encabezado X-Idempotency que aplica el middleware de la plataforma.



## OpenAPI

````yaml es/openapi/v3-current/lender.yaml post /api/v1/internal/br/consignado/compensating-adjustments
openapi: 3.1.0
info:
  contact:
    email: contact@lerian.studio
    name: Lerian Studio
    url: https://lerian.studio
  description: Superficie OpenAPI 3.1 code-first del servicio Lender.
  license:
    name: Lerian Studio General License
  title: Lender API
  version: 1.0.0
servers:
  - url: https://lender.sandbox.lerian.net
security:
  - BearerAuth: []
tags:
  - description: >-
      Operaciones de contabilidad del ledger: entradas de journal y asientos de
      accrual para cuentas de préstamo.
    name: Accounting
  - description: >-
      Recepción y ciclo de vida de la solicitud de préstamo: envío, decisión y
      estado.
    name: LoanApplications
  - description: >-
      Catálogo de productos de préstamo: definición, versionado y activación de
      productos de crédito.
    name: LoanProducts
  - description: >-
      Operaciones de servicing de cuentas de préstamo: saldos, cronogramas y
      acciones a nivel de cuenta.
    name: Loan Accounts
  - description: >-
      Registro de jurisdicciones: perfiles de jurisdicción soportados y sus
      capacidades.
    name: Jurisdictions
  - description: >-
      Operaciones de solicitud de préstamo específicas por jurisdicción
      (superficie de originación de Brasil).
    name: Loan Applications
  - description: >-
      Operaciones de cálculo de impuestos para crédito específico por
      jurisdicción (por ejemplo, IOF de Brasil).
    name: Tax
  - description: >-
      Operaciones de consignado privado de Brasil: triaje de divergencias de
      contrato y ajustes compensatorios.
    name: Consignado
paths:
  /api/v1/internal/br/consignado/compensating-adjustments:
    post:
      tags:
        - Consignado
      summary: Crea un ajuste compensatorio de consignado
      description: >-
        Confirma de forma atómica una nueva operación de ajuste compensatorio,
        su entrada inicial del historial y, cuando la moneda tiene una cuenta
        transitoria configurada, el evento duradero de intención de
        contabilización en el outbox. Una respuesta 202 significa que se aceptó
        de forma duradera, nunca que se contabilizó: el relay del ledger la
        contabiliza por separado. La operación es idempotente mediante el
        encabezado X-Idempotency que aplica el middleware de la plataforma.
      operationId: createConsignadoCompensatingAdjustment
      parameters:
        - description: >-
            Canonical idempotency request ID (lib-commons enforcer reads this).
            Reusing the same key on a retry returns the SAME durably accepted
            operation, never a duplicate.
          in: header
          name: X-Idempotency
          required: true
          schema:
            description: >-
              Canonical idempotency request ID (lib-commons enforcer reads
              this). Reusing the same key on a retry returns the SAME durably
              accepted operation, never a duplicate.
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompensatingAdjustmentHumaRequest'
        required: true
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompensatingAdjustmentHumaBody'
          description: Accepted
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Error
components:
  schemas:
    CompensatingAdjustmentHumaRequest:
      additionalProperties: false
      properties:
        adjustmentAmount:
          description: >-
            Signed compensating entry magnitude, exact two-decimal string. Sign
            convention: payment_shortfall must be negative, payment_excess must
            be positive.
          type: string
        correctionEventId:
          description: >-
            Landed correction event this adjustment resolves. At most one of
            divergenceId/correctionEventId may be set.
          maxLength: 255
          type: string
        currency:
          description: ISO-4217 currency code.
          maxLength: 3
          minLength: 3
          type: string
        debtAmountAfter:
          description: >-
            CCB debt after this adjustment. Both-or-neither with
            debtAmountBefore.
          type: string
        debtAmountBefore:
          description: >-
            CCB debt before this adjustment. Both-or-neither with
            debtAmountAfter.
          type: string
        divergenceId:
          description: >-
            Divergence this adjustment resolves. At most one of
            divergenceId/correctionEventId may be set.
          format: uuid
          type: string
        justification:
          description: Operator's structured justification.
          maxLength: 4000
          minLength: 1
          type: string
        numeroContrato:
          description: Canonical rail contract number.
          maxLength: 15
          minLength: 2
          type: string
        reason:
          description: Closed reason catalog; no free-form 'other'.
          enum:
            - payment_shortfall
            - payment_excess
            - immutable_client_correction
            - internal_ccb_residual
          type: string
      required:
        - numeroContrato
        - reason
        - justification
        - currency
        - adjustmentAmount
      type: object
    CompensatingAdjustmentHumaBody:
      additionalProperties: false
      properties:
        adjustmentAmount:
          description: Signed compensating entry magnitude, exact two-decimal string.
          type: string
        correctionEventId:
          description: Landed correction event this adjustment resolves, when set.
          type: string
        createdAt:
          description: RFC3339 UTC.
          type: string
        createdBy:
          description: Validated actor identity that created this operation.
          type: string
        currency:
          description: ISO-4217 currency code.
          type: string
        debtAmountAfter:
          description: CCB debt after, when this adjustment changes the debt.
          type: string
        debtAmountBefore:
          description: CCB debt before, when this adjustment changes the debt.
          type: string
        divergenceId:
          description: Divergence this adjustment resolves, when set.
          type: string
        existing:
          description: >-
            True when this call replayed an already-committed operation for the
            same idempotency key, never a duplicate.
          type: boolean
        id:
          description: Compensating adjustment operation identifier.
          type: string
        idempotencyKey:
          description: Idempotency key this operation was created (or replayed) under.
          type: string
        justification:
          description: Operator's structured justification.
          type: string
        numeroContrato:
          description: Canonical rail contract number.
          type: string
        reason:
          description: Closed reason catalog.
          type: string
        resolvedGlAccount:
          description: >-
            Suspense GL account this operation was authorized against. Empty
            when the currency had no configured suspense account at create time
            — the posting intent could not be recorded yet.
          type: string
      required:
        - id
        - numeroContrato
        - reason
        - justification
        - currency
        - adjustmentAmount
        - idempotencyKey
        - createdBy
        - createdAt
        - existing
      type: object
    Detail:
      additionalProperties: false
      properties:
        code:
          description: >-
            Stable, machine-readable domain error code scoped to the emitting
            service (format: <SERVICE>-NNNN).
          examples:
            - ERR-0001
          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
    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

````