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

# Confirm or dispute the day's net result

> Issues an LDL0003 "IF informa Resultado líquido de negociações confirmado ou divergente" to the Câmara LDL (Catálogo de Serviços do SFN v5.13, Vol II). It states which of the lançamentos the câmara announced on its LDL0001 this institution accepts, and at what value: a lançamento accepted in part is reported at the value actually recognised, one NOT accepted is reported as ZERO, and one accepted in full at its original value. NumCtrlLDLOr names the LDL0001 being confirmed and is the operator's to supply, because the câmara sent it and this rail derives no reply of its own. The command is minted, built, signed, encrypted and durably recorded BEFORE anything reaches the queue, so this returns 202 with the control number the câmara will echo; the answer (LDL0003R1) arrives asynchronously and is read back with getLDL0003. Every amount is a decimal STRING carried to the wire exactly as written. A deployment with no send leg configured answers 503 with SILOC-0023; one whose dispatcher is not running answers 503 with SILOC-0024.



## OpenAPI

````yaml /es/openapi/v3-current/siloc.yaml post /api/v1/siloc/outbound/net-result-confirmations
openapi: 3.1.0
info:
  description: >-
    OpenAPI 3.1 surface for Lerian SILOC, the participant-side rail connecting
    the institution to Núclea's SILOC deferred-net interbank settlement.
  title: Lerian SILOC API
  version: 1.0.0
servers:
  - url: https://siloc.sandbox.lerian.net
security: []
paths:
  /api/v1/siloc/outbound/net-result-confirmations:
    post:
      tags:
        - Settlement
      summary: Confirm or dispute the day's net result
      description: >-
        Issues an LDL0003 "IF informa Resultado líquido de negociações
        confirmado ou divergente" to the Câmara LDL (Catálogo de Serviços do SFN
        v5.13, Vol II). It states which of the lançamentos the câmara announced
        on its LDL0001 this institution accepts, and at what value: a lançamento
        accepted in part is reported at the value actually recognised, one NOT
        accepted is reported as ZERO, and one accepted in full at its original
        value. NumCtrlLDLOr names the LDL0001 being confirmed and is the
        operator's to supply, because the câmara sent it and this rail derives
        no reply of its own. The command is minted, built, signed, encrypted and
        durably recorded BEFORE anything reaches the queue, so this returns 202
        with the control number the câmara will echo; the answer (LDL0003R1)
        arrives asynchronously and is read back with getLDL0003. Every amount is
        a decimal STRING carried to the wire exactly as written. A deployment
        with no send leg configured answers 503 with SILOC-0023; one whose
        dispatcher is not running answers 503 with SILOC-0024.
      operationId: submitLDL0003
      parameters:
        - description: >-
            Idempotency key for this state-changing request (required, max 255
            characters).
          in: header
          name: X-Idempotency
          required: true
          schema:
            description: >-
              Idempotency key for this state-changing request (required, max 255
              characters).
            maxLength: 255
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LDL0003Payload'
        required: true
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LdlIFCommandBodyLDL0003Payload'
          description: Accepted
        '422':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Unprocessable Entity
        '500':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Internal Server Error
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Error
      security:
        - BearerAuth: []
components:
  schemas:
    LDL0003Payload:
      additionalProperties: false
      properties:
        DtHrIF:
          description: >-
            Data Hora IF (xs:dateTime, [1..1]): when this institution decided,
            written as YYYY-MM-DDTHH:MM:SS exactly as the wire carries it.
          type: string
        DtLiquid:
          description: Data Liquidação (xs:date, [1..1]).
          type: string
        DtMovto:
          description: Data Movimento (xs:date, [1..1]).
          type: string
        Grupo_LDL0003_ResultLiqd:
          description: >-
            Grupo Resultado Líquido ([0..n]): one repetition per non-settling
            member whose result this institution is confirming or diverging
            from. Absent when the message confirms only this institution's own
            result.
          items:
            $ref: '#/components/schemas/LDL0003ResultEntry'
          type:
            - array
            - 'null'
        NumCtrlLDLOr:
          description: >-
            Número Controle LDL Original (ControleIF, [1..1]): the câmara's
            control number on the LDL0001 this confirms. It is the operator's to
            supply because the câmara sent it; this rail neither derives it nor
            answers an LDL0001 on its own.
          type: string
        TpDeb_Cred:
          description: >-
            Tipo Débito ou Crédito (TpDebCred, [1..1]): C (Crédito) or D
            (Débito).
          type: string
        VlrLanc:
          description: >-
            Valor Lançamento (Valor, [1..1]): the value this institution accepts
            for its OWN result. Zero states that the lançamento is not accepted.
          type: string
      required:
        - NumCtrlLDLOr
        - DtLiquid
        - VlrLanc
        - TpDeb_Cred
        - DtHrIF
        - DtMovto
      type: object
    LdlIFCommandBodyLDL0003Payload:
      additionalProperties: false
      properties:
        answer:
          $ref: '#/components/schemas/LDLIFCommandAnswerResponse'
          description: >-
            What the câmara answered; omitted until it has answered, and never
            present for LDL1019, which has no answer leg.
        answerAbsent:
          description: >-
            True only on an ANSWERED message whose answer body this rail does
            not hold. The câmara did answer; what it wrote is not here, and the
            missing answer block is that absence, never an empty answer. Omitted
            otherwise.
          type: boolean
        answeredAt:
          description: When the câmara's answer was applied; omitted until it is.
          format: date-time
          type: string
        attempts:
          description: Queue-put attempts made so far.
          format: int64
          type: integer
        codMsg:
          description: The SFN command code this row carries, e.g. LDL0003.
          type: string
        dispatchedAt:
          description: When the frame reached the send queue; omitted until it has.
          format: date-time
          type: string
        id:
          description: Outbound message id.
          format: uuid
          type: string
        lastError:
          description: >-
            Why the last queue put failed, or — on REFUSED — the CodErro values
            the câmara marked, verbatim. Omitted when neither applies.
          type: string
        numCtrlIF:
          description: >-
            The control number this institution issued (NumCtrlIF). The câmara
            echoes it on the answer, which is what correlates the two.
          type: string
        nuop:
          description: The BCMSG operation number of the frame.
          type: string
        request:
          $ref: '#/components/schemas/LDL0003Payload'
          description: The request exactly as it was submitted, projected verbatim.
        status:
          description: >-
            Lifecycle state. REFUSED means the câmara received the command and
            returned its E twin; FAILED means this rail could not deliver it.
            Both are terminal and they are different facts. LDL1019 has no
            positive answer leg in the Catálogo, so an accepted LDL1019 stays
            DISPATCHED: delivered, and no reply is owed.
          enum:
            - SUBMITTED
            - DISPATCHED
            - ANSWERED
            - REFUSED
            - FAILED
          type: string
        submittedAt:
          description: When the command was recorded.
          format: date-time
          type: string
      required:
        - request
        - id
        - codMsg
        - numCtrlIF
        - nuop
        - status
        - attempts
        - submittedAt
      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
    LDL0003ResultEntry:
      additionalProperties: false
      properties:
        CNPJNLiqdant:
          description: >-
            CNPJ Não Liquidante (CNPJ, [1..1]): the non-settling member this
            repetition is about.
          type: string
        IdentdPartCamr:
          description: Identificador Participante Câmara (IdentdPartCamr, [0..1]).
          type: string
        TpConf_Divg:
          description: >-
            Tipo Confirma ou Diverge (TpConfDivg, [1..1]): C (Confirma) or D
            (Diverge).
          type: string
        VlrResultLiqdNLiqdant:
          description: >-
            Valor Resultado Líquido Não Liquidante (Valor, [1..1]). A lançamento
            this institution does not accept is reported here as zero.
          type: string
      required:
        - CNPJNLiqdant
        - VlrResultLiqdNLiqdant
        - TpConf_Divg
      type: object
    LDLIFCommandAnswerResponse:
      additionalProperties: false
      properties:
        codMsg:
          description: The answer's own code, e.g. LDL0026R1.
          type: string
        details:
          additionalProperties: {}
          description: >-
            Everything the answer carries beyond the header, keyed by the
            Catálogo's own tag names and projected verbatim — an empty object
            for LDL0003R1, whose body is header only. A REPEATING GROUP IS
            ALWAYS AN ARRAY, even when the câmara sent one repetition; a group
            it sent none of is absent. Values such as TpInf and SitLancDev are
            carried exactly as written and never decoded: they are published in
            BACEN's separate Dicionário de Domínios with their own activation
            and deactivation dates, so what one means is the ledger consumer's
            call.
          type: object
        movementDate:
          description: Data Movimento.
          format: date
          type: string
        situationAt:
          description: >-
            The câmara's own clock — DtHrLDL on LDL0003R1 and LDL0026R1, DtHrSit
            on LDL0032R1 — read as a wall-clock time in the SFN's calendar zone
            (America/Sao_Paulo) and published as that instant. The instant is
            the câmara's; the rendering is this rail's.
          format: date-time
          type: string
      required:
        - codMsg
        - situationAt
        - movementDate
        - details
      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

````