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

# List the tenant's averbação operations

> Walks the tenant's own averbação operation book, oldest claim first.

It answers from a LOCAL table and never reaches the Dataprev rail, so it cannot answer 501 and it is served even on a deployment where averbação itself is switched off. That deployment simply has an empty book. Distinguishing "nothing is stuck" from "the convergence loop is off" is what GET /v1/consignado/capabilities is for: read the averbacao_recovery family there, not the status of this response.

The tenant is derived from the validated identity and is never read from the request. There is no tenant parameter on this operation.

Paging is keyset over the operation's own claim instant, which the table holds immutable by trigger, so a row's position never moves and a page can neither skip nor repeat. Send the previous page's page.next_after as after. has_more is true exactly when another page exists, and next_after is null exactly when it is false, so a client loop may terminate on either. The cursor never expires; a cursor this service did not mint is refused with 422 rather than silently restarting the scan from the top.

status may be repeated to narrow the page to several situations at once (status=averbacao_unknown&status=attachment_pending). Omitting it means ALL eight situations, never none.

The book also lists every contract a renegociação accepted through this gateway minted and POST .../ccb-attachment documents (Manual 004 §1.2.1 asks for documentation after the averbação and after the renegociação), with the same fields. Its contract_id is the renegociação's id in GET /v1/consignado/rail-commands; response_code, response_message, claimed_at, averbacao_at, averbacao_unknown_at and averbacao_invocation_deadline_at describe the renegociação call; its status is attachment_pending, attachment_invoking while a documentation call is inside its deadline, or confirmed; booking_profile is rail_only, fact_id is null, and last_documentation_close is its newest attempt Dataprev did not accept, as for an averbação. documentation_due_at is averbacao_at plus the averbação's 7 days (Manual 004 §2.1), which the gateway applies to the renegotiated contract too; averbacao_at_origin is recovery_read when a Manual 005 read proved the renegociação, the recovery pass's or the bank's close. GET .../contracts/{numero_contrato}/averbacao answers 404 for such a contract.



## OpenAPI

````yaml /pt/openapi/v3-current/consignado.yaml get /v1/consignado/averbacao-operations
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/averbacao-operations:
    get:
      tags:
        - Consignado Averbação Operations
      summary: List the tenant's averbação operations
      description: >-
        Walks the tenant's own averbação operation book, oldest claim first.


        It answers from a LOCAL table and never reaches the Dataprev rail, so it
        cannot answer 501 and it is served even on a deployment where averbação
        itself is switched off. That deployment simply has an empty book.
        Distinguishing "nothing is stuck" from "the convergence loop is off" is
        what GET /v1/consignado/capabilities is for: read the averbacao_recovery
        family there, not the status of this response.


        The tenant is derived from the validated identity and is never read from
        the request. There is no tenant parameter on this operation.


        Paging is keyset over the operation's own claim instant, which the table
        holds immutable by trigger, so a row's position never moves and a page
        can neither skip nor repeat. Send the previous page's page.next_after as
        after. has_more is true exactly when another page exists, and next_after
        is null exactly when it is false, so a client loop may terminate on
        either. The cursor never expires; a cursor this service did not mint is
        refused with 422 rather than silently restarting the scan from the top.


        status may be repeated to narrow the page to several situations at once
        (status=averbacao_unknown&status=attachment_pending). Omitting it means
        ALL eight situations, never none.


        The book also lists every contract a renegociação accepted through this
        gateway minted and POST .../ccb-attachment documents (Manual 004 §1.2.1
        asks for documentation after the averbação and after the renegociação),
        with the same fields. Its contract_id is the renegociação's id in GET
        /v1/consignado/rail-commands; response_code, response_message,
        claimed_at, averbacao_at, averbacao_unknown_at and
        averbacao_invocation_deadline_at describe the renegociação call; its
        status is attachment_pending, attachment_invoking while a documentation
        call is inside its deadline, or confirmed; booking_profile is rail_only,
        fact_id is null, and last_documentation_close is its newest attempt
        Dataprev did not accept, as for an averbação. documentation_due_at is
        averbacao_at plus the averbação's 7 days (Manual 004 §2.1), which the
        gateway applies to the renegotiated contract too; averbacao_at_origin is
        recovery_read when a Manual 005 read proved the renegociação, the
        recovery pass's or the bank's close. GET
        .../contracts/{numero_contrato}/averbacao answers 404 for such a
        contract.
      operationId: listConsignadoAverbacaoOperations
      parameters:
        - description: >-
            Narrows the page to the named situations. Repeat the parameter for
            several. Omitted means all eight.
          explode: true
          in: query
          name: status
          schema:
            description: >-
              Narrows the page to the named situations. Repeat the parameter for
              several. Omitted means all eight.
            items:
              enum:
                - claimed
                - averbacao_invoking
                - averbacao_unknown
                - attachment_pending
                - attachment_invoking
                - attachment_unknown
                - confirmed
                - rejected
              type: string
            type: array
        - description: >-
            The previous page's page.next_after. Omitted starts at the oldest
            claim. A cursor this service did not mint is refused, never
            restarted from the top.
          explode: false
          in: query
          name: after
          schema:
            description: >-
              The previous page's page.next_after. Omitted starts at the oldest
              claim. A cursor this service did not mint is refused, never
              restarted from the top.
            type: string
        - description: >-
            Maximum number of operations to return. Omitted means the ceiling of
            200.
          explode: false
          in: query
          name: limit
          schema:
            description: >-
              Maximum number of operations to return. Omitted means the ceiling
              of 200.
            format: int64
            maximum: 200
            minimum: 1
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AverbacaoOperationsPage'
          description: OK
        '401':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Unauthorized
        '403':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Forbidden
        '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
      security:
        - BearerAuth: []
components:
  schemas:
    AverbacaoOperationsPage:
      additionalProperties: false
      properties:
        items:
          items:
            $ref: '#/components/schemas/AverbacaoOperationItem'
          type: array
        page:
          $ref: '#/components/schemas/KeysetPageMetadata'
      required:
        - items
        - page
      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
    AverbacaoOperationItem:
      additionalProperties: false
      properties:
        attachment_at:
          format: date-time
          type:
            - string
            - 'null'
        attachment_invocation_deadline_at:
          format: date-time
          type:
            - string
            - 'null'
        attachment_unknown_at:
          format: date-time
          type:
            - string
            - 'null'
        averbacao_at:
          format: date-time
          type:
            - string
            - 'null'
        averbacao_at_origin:
          description: >-
            Who stamped averbacao_at. dataprev_response: the gateway clock on
            receiving Dataprev's acceptance, seconds after it. recovery_read:
            the recovery pass clock when its read proved the acceptance, at or
            after Dataprev's real acceptance, so the real due instant can be
            earlier than documentation_due_at. imported: the rail's own instant,
            declared at import. Null exactly when documentation_due_at is.
          enum:
            - dataprev_response
            - recovery_read
            - imported
            - null
          type:
            - string
            - 'null'
        averbacao_invocation_deadline_at:
          format: date-time
          type:
            - string
            - 'null'
        averbacao_unknown_at:
          format: date-time
          type:
            - string
            - 'null'
        booking_profile:
          description: >-
            Fixed by the averbação. booked: the documentation sends
            signature_evidence_ref and artifacts.biometrics_documents_pack.
            rail_only: it sends neither.
          enum:
            - booked
            - rail_only
          type: string
        claimed_at:
          format: date-time
          type: string
        contract_id:
          type: string
        dataprev_follow_up:
          $ref: '#/components/schemas/AverbacaoDataprevFollowUp'
          description: >-
            What the gateway last read at Dataprev (Manual 005). While the
            contract waits for its documentation: one read a day, from one day
            after averbacao_at until the follow-up ends or observes the contract
            excluded or ended. Afterwards, at most one read per payroll
            competência, when a live contract is missing from the escrituração
            of the latest competência whose repasse deadline passed. Situação 15
            with debt standing: one read a week until it leaves 15. Absent until
            the first read.
        documentation_due_at:
          description: >-
            When the averbação's documentation is due: averbacao_at plus 7
            calendar days (Manual 004 v1.8 §1.1). Null until Dataprev accepted
            the averbação, and on a refusal. The real due instant can be earlier
            than this one: see averbacao_at_origin.
          format: date-time
          type:
            - string
            - 'null'
        documentation_overdue:
          description: >-
            True while the averbação is attachment_pending (documentation the
            gateway took but never sent to Dataprev included), or is
            attachment_invoking past attachment_invocation_deadline_at (the call
            lost its process), exclusion_status is null or rejected under any
            evidenceSource but m005_observation, the contract has not left the
            registry (by a refinanciamento or renegociação no reversal undid, a
            portability exclusion, an exclusion dataprev_follow_up observed at
            Dataprev, or a termination the Manual 006 report listed), and
            documentation_due_at has passed. A signal only: the gateway excludes
            or changes nothing because of it.
          type: boolean
        exclusion_status:
          description: >-
            The exclusion requested through this gateway that describes the
            contract now, by the rule of GET .../exclusion. Null when none was
            claimed here; an exclusion made outside the gateway leaves it null
            and shows in dataprev_follow_up. While the operation is
            attachment_pending, any value but rejected makes POST
            .../ccb-attachment answer 409 AVERBACAO_EXCLUDED, and so does a
            rejected whose GET .../exclusion evidenceSource is m005_observation:
            that read showed the contract already off the registry.
          enum:
            - claimed
            - invoking
            - confirmed
            - rejected
            - outcome_unknown
            - null
          type:
            - string
            - 'null'
        fact_id:
          description: >-
            The CloudEvents id of the operation's terminal fact (confirmed or
            rejected). Null until the operation reaches one. GET
            /v1/consignado/event-delivery/invalid shows it as event_id, or as id
            for an outcome an older gateway recorded.
          type:
            - string
            - 'null'
        last_documentation_close:
          $ref: '#/components/schemas/AverbacaoDocumentationClose'
          description: >-
            The newest documentation attempt Dataprev did not accept, which
            returned the contract to attachment_pending, or that an exclusion
            discarded before it was sent. Absent when none closed. A later
            accepted documentation does not clear it: compare closed_at with
            attachment_at.
        numero_contrato:
          type: string
        outcome_at:
          format: date-time
          type:
            - string
            - 'null'
        response_code:
          description: >-
            The rail's return code for the averbação call. Empty until the rail
            answered.
          type: string
        response_message:
          description: >-
            The rail's message for the averbação call. Empty until the rail
            answered.
          type: string
        status:
          description: >-
            The situation the operation is durably parked in. An
            attachment_invoking call past attachment_invocation_deadline_at lost
            its process: the contract takes documentation or an exclusion as in
            attachment_pending.
          enum:
            - claimed
            - averbacao_invoking
            - averbacao_unknown
            - attachment_pending
            - attachment_invoking
            - attachment_unknown
            - confirmed
            - rejected
          type: string
      required:
        - contract_id
        - numero_contrato
        - status
        - response_code
        - response_message
        - claimed_at
        - averbacao_at
        - attachment_at
        - outcome_at
        - averbacao_unknown_at
        - attachment_unknown_at
        - averbacao_invocation_deadline_at
        - attachment_invocation_deadline_at
        - fact_id
        - booking_profile
        - exclusion_status
        - documentation_due_at
        - averbacao_at_origin
        - documentation_overdue
      type: object
    KeysetPageMetadata:
      additionalProperties: false
      properties:
        after:
          description: >-
            The cursor this page resumed from, echoed back. Null when the read
            started at the beginning.
          examples:
            - >-
              eyJ2IjoxLCJyIjoiYm9hcmQiLCJ0IjoiMjAyNi0wOC0xNFQwOToxMjozM1oiLCJrIjpbImMwMDEyIl19
          type:
            - string
            - 'null'
        has_more:
          description: Whether at least one further page exists.
          examples:
            - true
          type: boolean
        next_after:
          description: >-
            The cursor for the page after this one. Null exactly when has_more
            is false.
          examples:
            - >-
              eyJ2IjoxLCJyIjoiYm9hcmQiLCJ0IjoiMjAyNi0wOC0xNFQwOTowNzo1MVoiLCJrIjpbImMwMDM3Il19
          type:
            - string
            - 'null'
      required:
        - after
        - next_after
        - has_more
      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
    AverbacaoDataprevFollowUp:
      additionalProperties: false
      properties:
        bank_action_required:
          description: >-
            True while the follow-up ended and the contract still waits for its
            documentation: the bank sends the documentation or excludes the
            contract. Documentation the gateway took but never sent to Dataprev
            is resent only by a credential of the nature that sent it (409
            AVERBACAO_HELD_BY_ANOTHER_SENDER to any other); the exclusion is
            admitted and discards it (last_documentation_close code excluded).
          type: boolean
        ended_at:
          description: >-
            When the follow-up stopped reading the contract: the first read past
            the documentation due instant plus the configured cap that observed
            no external change. A later read by the payroll-absence watch still
            updates last_read_at and the read fields.
          format: date-time
          type:
            - string
            - 'null'
        excluido_em:
          description: 'dataHoraExclusao of that read: when Dataprev excluded the contract.'
          format: date-time
          type:
            - string
            - 'null'
        external_change_observed_at:
          description: >-
            When the gateway read the contract excluded or ended at Dataprev
            (situação 2, 3, 15 or 16) outside this gateway. From then on
            documentation is refused with 409 AVERBACAO_EXCLUDED and the
            deadline signals stop, in situação 15 only, until a later read sees
            the contract back on the registry (a migration, Manual 018 §3); the
            saldo devedor (M015) reports stop too, except in situação 15, whose
            debt stands. CHANGED: a situação 15 read is not terminal: the
            gateway reads such a contract again once a week, and a read naming
            another situação replaces it.
          format: date-time
          type:
            - string
            - 'null'
        last_read_at:
          description: >-
            When the gateway last read the contract at Dataprev (Manual 005
            §3.2).
          format: date-time
          type: string
        motivo_exclusao:
          description: >-
            motivoExclusao.codigo of that read (Manual 005 §3.2.2: 1
            desistência, 2 falecimento, 3 liquidação antecipada, 7 ação
            judicial, 8 fraude, 9 outros).
          format: int64
          type:
            - integer
            - 'null'
        origem_exclusao:
          description: >-
            origemExclusao.codigo of that read (Manual 005 §3.2.2: 1 APS, 2
            banco, 3 sistema, 4 troca de titularidade, 5 portabilidade, 6
            reversão de refinanciamento, 7 refinanciamento). 5 and 7 settle the
            contract, so its last saldo devedor report is 0.00.
          format: int64
          type:
            - integer
            - 'null'
        read_error:
          description: >-
            The rail código of the last read Dataprev refused (HY: no loan under
            the number), or unavailable when the read failed without one. Null
            when the read named the contract.
          type:
            - string
            - 'null'
        situacao_emprestimo:
          description: >-
            situacaoEmprestimo.codigo of the last read that named the contract.
            Null when that read failed (see read_error), except after a lifted
            dismissal, which keeps the last named situação.
          format: int64
          type:
            - integer
            - 'null'
      required:
        - last_read_at
        - situacao_emprestimo
        - read_error
        - external_change_observed_at
        - origem_exclusao
        - motivo_exclusao
        - excluido_em
        - ended_at
        - bank_action_required
      type: object
    AverbacaoDocumentationClose:
      additionalProperties: false
      properties:
        closed_at:
          description: When the gateway closed the attempt, in UTC.
          format: date-time
          type: string
        code:
          description: >-
            The Manual 004 códigos Dataprev refused the documentation with,
            comma-separated, or unknown when the attempt ended without a verdict
            (no answer in time, a Dataprev 5xx, an unusable receipt), or
            excluded when the gateway never sent it to Dataprev and an exclusion
            of the contract discarded it.
          examples:
            - PZ
          type: string
      required:
        - code
        - closed_at
      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.