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

# Read the payroll escrituração records included in a window

> Reads the rail's consultar-escrituracoes-remuneracoes (Manual 005 v1.16 §3.4): every escrituração record included in the inclusion window, each carrying its OWN competência and Dataprev's pre-computed analise verdict, relayed verbatim. The window is mandatory and capped at 30 days by the rail (code GR); this gateway refuses a wider window locally. The read writes nothing: the reconciliation job's per-record done-keys are untouched, so a record read here is still delivered as a fact by the job.



## OpenAPI

````yaml /pt/openapi/v3-current/consignado.yaml get /v1/consignado/reconciliation/escrituracoes
openapi: 3.1.0
info:
  contact:
    email: contact@lerian.studio
    name: Lerian Studio
    url: https://lerian.studio
  description: >-
    OpenAPI 3.1 surface for Lerian Consignado — Dataprev. The API covers tenant
    credentials and rail configuration, worker margin, loan auctions and bids,
    contract registration and lifecycle, B3 instrument codes, disbursement
    confirmation, portability, refinancing, renegotiation, FGTS guarantees,
    reconciliation, funds, assignments, throughput, and event subscriptions.
  license:
    name: Lerian Studio General License
  title: Lerian Consignado API
  version: v1.0.0
servers:
  - url: https://br-consignado-gw.sandbox.lerian.net
security:
  - BearerAuth: []
tags:
  - description: >-
      Per-tenant Dataprev credential custody and public rail configuration
      (upload, status, rotation, revoke, requester code, and worker portal base
      URL)
    name: Credentials
  - description: >-
      Per-tenant streaming-hub subscription control-plane (list, create, get,
      rotate, revoke, and test delivery)
    name: Subscriptions
  - description: >-
      Dataprev payroll-rail surface: FGTS balance and authorization reads, the
      FGTS guarantee execution, contract suspension, reactivation and term
      changes, the rail's own contract documents, and the on-demand reads of
      leilão solicitações, escriturações, repasses and employment terminations
    name: Consignado Rail
  - description: >-
      Synchronous rail command surface: the operations a bancarizador without
      the lender drives over HTTP.
    name: Consignado Rail Commands
  - description: >-
      Gateway-owned disbursement confirmation: a client bank recording money it
      has ALREADY paid to a worker. It crosses no government boundary and
      proxies no Dataprev operation.
    name: Consignado Disbursement
  - description: >-
      Per-tenant self-service outbound Dataprev rail throughput: read and set
      this tenant's own requests-per-second, including a deliberate pause at
      zero
    name: Consignado Throughput
  - description: >-
      The B3 instrument code (Código IF) of an averbado contract: informed once
      by the bancarizador after B3 registers the CCB, and read back
    name: Consignado Registro B3
paths:
  /v1/consignado/reconciliation/escrituracoes:
    get:
      tags:
        - Consignado Rail
      summary: Read the payroll escrituração records included in a window
      description: >-
        Reads the rail's consultar-escrituracoes-remuneracoes (Manual 005 v1.16
        §3.4): every escrituração record included in the inclusion window, each
        carrying its OWN competência and Dataprev's pre-computed analise
        verdict, relayed verbatim. The window is mandatory and capped at 30 days
        by the rail (code GR); this gateway refuses a wider window locally. The
        read writes nothing: the reconciliation job's per-record done-keys are
        untouched, so a record read here is still delivered as a fact by the
        job.
      operationId: listConsignadoEscrituracoes
      parameters:
        - description: >-
            Inclusion window start, RFC 3339 (rail dataHoraInicio, Obrigatório
            Sim — Manual 005 v1.16 §3.4.1 p.28 / §3.5.1 p.35).
          explode: false
          in: query
          name: data_hora_inicio
          required: true
          schema:
            description: >-
              Inclusion window start, RFC 3339 (rail dataHoraInicio, Obrigatório
              Sim — Manual 005 v1.16 §3.4.1 p.28 / §3.5.1 p.35).
            examples:
              - '2026-07-01T00:00:00Z'
            format: date-time
            type: string
        - description: >-
            Inclusion window end, RFC 3339 (rail dataHoraFim, Obrigatório Sim).
            The span must not exceed 30 days — the rail answers code GR above
            that (Manual 005 v1.16 §4.1 p.40), and this gateway refuses 422
            locally so the attempt costs no rail quota.
          explode: false
          in: query
          name: data_hora_fim
          required: true
          schema:
            description: >-
              Inclusion window end, RFC 3339 (rail dataHoraFim, Obrigatório
              Sim). The span must not exceed 30 days — the rail answers code GR
              above that (Manual 005 v1.16 §4.1 p.40), and this gateway refuses
              422 locally so the attempt costs no rail quota.
            examples:
              - '2026-07-30T00:00:00Z'
            format: date-time
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataprevEscrituracoesResponse'
          description: OK
        '422':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Unprocessable Entity
        '429':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Too Many Requests
        '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:
    DataprevEscrituracoesResponse:
      additionalProperties: false
      properties:
        escrituracoes:
          description: >-
            The escrituração records included in the window. Each carries its
            OWN competência — there is no envelope-level competência because one
            window routinely spans two payroll months. An empty list is the
            rail's answer, not an error.
          items:
            $ref: '#/components/schemas/DataprevEscrituracao'
          type:
            - array
            - 'null'
      required:
        - escrituracoes
      type: object
    Detail:
      additionalProperties: true
      properties:
        code:
          description: >-
            Stable, machine-readable product error code. One of the enumerated
            values: the CLT-NNNN catalog codes for the general refusal classes;
            the named command conflicts, which a client branches on to tell one
            conflict from another; the four terminal refusals
            IDEMPOTENCY_STATE_UNRECOGNISED, IDEMPOTENCY_RECORD_UNREADABLE,
            IDEMPOTENCY_OUTCOME_UNRECORDED and IDEMPOTENCY_REPLAY_UNAVAILABLE
            (422), which tell the client to reconcile the original request and
            never retry under a new key; IDEMPOTENCY_KEY_REUSE (422): the key is
            spent on a different request, so send a new key; the codes a single
            surface answers, named after it (FUNDO_*, REGISTRO_B3_*, ...); and
            the 5xx codes naming an upstream (DATAPREV_*, STREAMING_HUB_*,
            TENANT_MANAGER_*, the Access Manager's AUT-0033 and AUT-1021) or an
            unknown outcome, whose detail is client-readable; and the Access
            Manager's AUT-1022 (403): the partner credential holds more than one
            originador, so name it in the path.
          enum:
            - AUT-0033
            - AUT-1021
            - AUT-1022
            - AVERBACAO_ARTIFACT_CONFLICT
            - AVERBACAO_CLAIM_CONFLICT
            - AVERBACAO_DOCUMENTATION_CONFLICT
            - AVERBACAO_EXCLUDED
            - AVERBACAO_HELD_BY_ANOTHER_SENDER
            - AVERBACAO_NOT_ACCEPTED
            - AVERBACAO_OPERATIONS_INTERNAL
            - AVERBACAO_OPERATIONS_INVALID_CURSOR
            - AVERBACAO_OPERATIONS_INVALID_QUERY
            - AVERBACAO_OPERATIONS_UNKNOWN_STATUS
            - AVERBACAO_OPERATION_NOT_FOUND
            - BID_NO_PROPOSTA_LEFT
            - BID_ORIGINADOR_INACTIVE
            - BID_ORIGINADOR_UNKNOWN
            - BID_PROPOSAL_SLOT_TAKEN
            - BID_SOLICITACAO_TAKEN
            - BID_SOLICITACAO_UNKNOWN
            - BID_SUBMISSIONS_INTERNAL
            - BID_SUBMISSIONS_INVALID_CURSOR
            - BID_SUBMISSIONS_UNKNOWN_SITUATION
            - BOOKING_FIELD_INVALID
            - CEDED_CREDIT_INTERNAL
            - CEDED_CREDIT_NO_FUND_ENTITLEMENT
            - CEDED_CREDIT_UNAVAILABLE
            - CLT-0001
            - CLT-0002
            - CLT-0003
            - CLT-0004
            - CLT-0005
            - CLT-0006
            - CLT-0007
            - CLT-0008
            - CLT-0009
            - CLT-0010
            - CLT-0011
            - CONTRACT_ALREADY_REGISTERED
            - CONTRACT_NOT_BOOKABLE
            - CURSOR_EXPIRED
            - CURSOR_FENCE_MISMATCH
            - DATAPREV_CREDENTIAL_REJECTED
            - DATAPREV_CREDENTIAL_REQUIRED
            - DATAPREV_CREDENTIAL_REVOKED
            - DATAPREV_INVALID_RESPONSE
            - DATAPREV_TIMEOUT
            - DATAPREV_UNAVAILABLE
            - DECLARED_DATES_OUT_OF_ORDER
            - DECLARED_TERMS_INCONSISTENT
            - DISBURSEMENT_CONFIRMATIONS_INTERNAL
            - DISBURSEMENT_CONFIRMATIONS_INVALID_CURSOR
            - DISBURSEMENT_PAYMENT_CONFLICT
            - EVENT_DELIVERY_INTERNAL
            - EXCLUSION_AUTHORITY_CONFLICT
            - EXCLUSION_BOOKING_IDENTITY_INCOMPLETE
            - EXCLUSION_DOCUMENTATION_UNDERWAY
            - EXCLUSION_OPERATIONS_INTERNAL
            - EXCLUSION_OPERATIONS_INVALID_CURSOR
            - EXCLUSION_OPERATIONS_INVALID_QUERY
            - EXCLUSION_OPERATIONS_UNKNOWN_STATUS
            - EXCLUSION_OPERATION_NOT_FOUND
            - EXCLUSION_RENEGOTIATION_UNDERWAY
            - FGTS_EXECUTION_ALREADY_REFUSED
            - FGTS_EXECUTION_CONTRACT_TAKEN
            - FGTS_EXECUTION_OUTCOME_UNRESOLVED
            - FGTS_EXECUTION_PAYLOAD_MISMATCH
            - FIRST_DEDUCTION_BEFORE_COMPETENCIA
            - FORMALIZATION_DEADLINE_EXCEEDED
            - FUNDO_CNPJ_CONFLICT
            - FUNDO_DEACTIVATED
            - FUNDO_INTERNAL
            - FUNDO_INVALID_ID
            - FUNDO_INVALID_INPUT
            - FUNDO_NOT_FOUND
            - FUNDO_NOT_REGISTERED
            - FUNDO_REF_CONFLICT
            - FUNDO_UNAVAILABLE
            - HELD_REPASSE_MONTH_CLOSED
            - HELD_REPASSE_MONTH_MISMATCH
            - HELD_REPASSE_NOT_FOUND
            - HELD_REPASSE_UNATTRIBUTABLE
            - IDEMPOTENCY_KEY_REUSE
            - IDEMPOTENCY_OUTCOME_UNRECORDED
            - IDEMPOTENCY_RECORD_UNREADABLE
            - IDEMPOTENCY_REPLAY_UNAVAILABLE
            - IDEMPOTENCY_STATE_UNRECOGNISED
            - INVALID_CONTRACT_NUMBER
            - INVALID_CURSOR
            - INVALID_EVENTS_INVALID_CURSOR
            - INVALID_EVENT_NOT_FOUND
            - INVALID_EVENT_NOT_REQUEUEABLE
            - INVALID_PAGE_LIMIT
            - INVENTORY_UNAVAILABLE
            - LOAN_PRODUCT_VERSION_UNKNOWN
            - MARGIN_SNAPSHOT_INCONSISTENT
            - MATRICULA_DIFFERS_FROM_PROPOSAL
            - ORIGINADOR_INTERNAL
            - ORIGINADOR_INVALID_ID
            - ORIGINADOR_INVALID_INPUT
            - ORIGINADOR_NOT_FOUND
            - ORIGINADOR_REF_CONFLICT
            - ORIGINADOR_UNAVAILABLE
            - OUTCOME_UNKNOWN
            - PORTABILIDADE_WINDOW_EXPIRED
            - RAIL_COMMANDS_INTERNAL
            - RAIL_COMMANDS_INVALID_CURSOR
            - RAIL_COMMANDS_TENANT_REQUIRED
            - RAIL_COMMANDS_UNKNOWN_FILTER
            - RAIL_COMMAND_ALREADY_REFUSED
            - RAIL_COMMAND_ANSWER_NOT_RETAINED
            - RAIL_COMMAND_CLAIM_CONFLICT
            - RAIL_COMMAND_CLOSE_CONTRADICTED
            - RAIL_COMMAND_NOT_CLOSEABLE
            - RAIL_COMMAND_OUTCOME_UNRESOLVED
            - RAIL_COMMAND_PAYLOAD_MISMATCH
            - RATE_OUTSIDE_PRODUCT_RANGE
            - REGISTRATION_NOT_FOUND
            - REGISTRO_B3_AVERBACAO_NAO_CONFIRMADA
            - REGISTRO_B3_CONTRATO_NAO_ENCONTRADO
            - REGISTRO_B3_DATA_REGISTRO_INVALIDA
            - REGISTRO_B3_INTERNAL
            - REGISTRO_B3_JA_INFORMADO
            - REGISTRO_B3_NAO_INFORMADO
            - REGISTRO_B3_UNAVAILABLE
            - REGISTRO_B3_UNWIRED
            - RENEGOTIATION_EXCLUSION_UNDERWAY
            - REPASSE_EXPECTATIONS_INTERNAL
            - REPASSE_EXPECTATIONS_INVALID_CURSOR
            - REPASSE_EXPECTATIONS_UNKNOWN_SITUATION
            - REVERSAO_WINDOW_EXPIRED
            - SALDO_DEVEDOR_INTERNAL
            - SALDO_DEVEDOR_INVALID_CURSOR
            - SALDO_DEVEDOR_NOT_FOUND
            - SALDO_DEVEDOR_TENANT_REQUIRED
            - SALDO_DEVEDOR_UNAVAILABLE
            - STREAMING_HUB_TIMEOUT
            - STREAMING_HUB_UNAVAILABLE
            - TENANT_MANAGER_TIMEOUT
            - TENANT_MANAGER_UNAVAILABLE
            - THROUGHPUT_HISTORY_INTERNAL
            - THROUGHPUT_HISTORY_INVALID_CURSOR
            - THROUGHPUT_HISTORY_TENANT_REQUIRED
            - THROUGHPUT_HISTORY_UNAVAILABLE
            - THROUGH_REQUIRED
            - UNKNOWN_QUERY_PARAMETER
            - VERSION_ADMITS_NO_PESSOA_FISICA
          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
    DataprevEscrituracao:
      additionalProperties: false
      properties:
        analise:
          $ref: '#/components/schemas/DataprevEscrituracaoAnalise'
          description: >-
            Dataprev's OWN pre-computed reconciliation verdict for this record,
            relayed verbatim. The gateway does not re-derive it.
        codigo_inscricao_empregador:
          description: >-
            The employer inscription type the rail named: 1 = CNPJ, 2 = CPF
            (Manual 005 v1.16 §3.4.2, inscricaoEmpregador.codigo).
          examples:
            - '1'
          type: string
        competencia:
          description: >-
            The record's OWN payroll competência, yyyyMM, from the wire's
            periodoReferencia (Manual 005 v1.16 §3.4.2 p.29, Número). It is the
            record's attribution key: one query window routinely spans two
            payroll months, so never attribute a record to the competência you
            queried.
          examples:
            - '202607'
          type: string
        cpf:
          description: >-
            The worker the record belongs to, 11 digits. Re-padded from the
            rail's JSON Número.
          examples:
            - '99971699990'
          type: string
        matricula:
          description: >-
            The worker's payroll registration on the bond the discount was taken
            from (Manual 005 v1.16 §3.4.2 p.29, Texto). With cpf it names the
            employment bond — which is precisely what this record's own
            vinculo_correto verdict is about. Empty when the rail did not
            publish it.
          examples:
            - MATCEN716
          type: string
        numero_contrato:
          description: The contract the escrituração record belongs to.
          examples:
            - '199971600000'
          type: string
        numero_inscricao_empregador:
          description: >-
            The employer inscription number exactly as the rail sent it (Manual
            005 v1.16 §3.4.2): a CNPJ root or a full CNPJ, never padded.
          examples:
            - '42422253000101'
          type: string
        tipo_evento_esocial:
          $ref: '#/components/schemas/DataprevTipoEventoESocial'
          description: >-
            The eSocial event-kind block. It is a SIBLING of analise on the wire
            (Manual 005 v1.16 §3.4.2), not a field inside it.
        valor_parcela:
          description: >-
            The instalment amount actually DISCOUNTED from payroll (decimal
            string, BRL). Its source wire field is valorParcelaDesconto (Manual
            005 v1.16 §3.4.2) — NOT the contract's emprestimo.valorParcela,
            which is what the contract expected.
          examples:
            - '1116.31'
          type: string
      required:
        - numero_contrato
        - cpf
        - matricula
        - competencia
        - valor_parcela
        - analise
        - tipo_evento_esocial
      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
    DataprevEscrituracaoAnalise:
      additionalProperties: false
      properties:
        dados_correspondentes:
          description: >-
            The rail's AGGREGATE verdict that the escriturated data corresponds
            to the averbado contract.
          examples:
            - true
          type: boolean
        existe_numero_contrato_escriturado:
          description: The rail's verdict that the contract number was found escriturado.
          examples:
            - true
          type: boolean
        existe_trabalhador_escriturado:
          description: >-
            The rail's verdict that the worker was found escriturado for the
            competência.
          examples:
            - true
          type: boolean
        instituicao_financeira_correta:
          description: The rail's verdict that the lending institution matches.
          examples:
            - true
          type: boolean
        valor_parcela_correta:
          description: >-
            The rail's verdict that the escriturated instalment matches the
            averbado contract. false is the reconciliation signal that payroll
            discounted an amount other than the contracted one.
          examples:
            - true
          type: boolean
        vinculo_correto:
          description: The rail's verdict that the employment vínculo matches.
          examples:
            - true
          type: boolean
      required:
        - existe_trabalhador_escriturado
        - existe_numero_contrato_escriturado
        - vinculo_correto
        - instituicao_financeira_correta
        - valor_parcela_correta
        - dados_correspondentes
      type: object
    DataprevTipoEventoESocial:
      additionalProperties: false
      properties:
        codigo:
          description: >-
            The eSocial event kind: 0 = periódico, 1 = não-periódico
            (desligamento/rescisório).
          examples:
            - 0
          format: int64
          type: integer
        descricao:
          description: The rail's own label for the event kind.
          examples:
            - Periódico
          type: string
      required:
        - codigo
        - descricao
      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.