> ## 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 exclusion this gateway holds for a contract

> Reads the exclusion this gateway durably holds for one contract — the outcome of excluir-consignado-trabalhador (Manual 003 v1.19 §3.3). It is a LOCAL read: it never calls Dataprev and never starts a reconciliation pass, because the gateway's own row already answers and an M003 operation with no undo does not justify spending the rail's rate budget on the question.

404 means the gateway holds nothing for this contract. 409 means the contract holds a legacy authority row that cannot be reported — deliberately NOT a 404, because silence would read as "this contract was never excluded".



## OpenAPI

````yaml en/openapi/v3-current/consignado.yaml get /v1/consignado/contracts/{numero_contrato}/exclusion
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, disbursement confirmation, portability,
    refinancing, renegotiation, FGTS guarantees, reconciliation, funds,
    assignments, usage, throughput, and event subscriptions. Secret material is
    written to the tenant secret store and is never returned by any operation.
  license:
    name: Lerian Studio General License
  title: Lerian Consignado API
  version: v1.0.0
servers:
  - url: https://consignado.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: >-
      Tenant-scoped consignado gateway usage: priced billable-unit aggregation
      per competência
    name: Consignado Usage
  - 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. Each shares its command implementation with
      the equivalent lender event trigger.
    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
paths:
  /v1/consignado/contracts/{numero_contrato}/exclusion:
    get:
      tags:
        - Consignado Rail Commands
      summary: Read the exclusion this gateway holds for a contract
      description: >-
        Reads the exclusion this gateway durably holds for one contract — the
        outcome of excluir-consignado-trabalhador (Manual 003 v1.19 §3.3). It is
        a LOCAL read: it never calls Dataprev and never starts a reconciliation
        pass, because the gateway's own row already answers and an M003
        operation with no undo does not justify spending the rail's rate budget
        on the question.


        404 means the gateway holds nothing for this contract. 409 means the
        contract holds a legacy authority row that cannot be reported —
        deliberately NOT a 404, because silence would read as "this contract was
        never excluded".
      operationId: getConsignadoContractExclusion
      parameters:
        - description: The rail contract number whose exclusion is read.
          in: path
          name: numero_contrato
          required: true
          schema:
            description: The rail contract number whose exclusion is read.
            examples:
              - NC-000001
            maxLength: 15
            minLength: 2
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExclusionOperationResponse'
          description: The exclusion operation that describes the contract now.
        '404':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: The gateway holds no exclusion operation for this contract.
        '409':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: >-
            The contract holds a legacy authority row that cannot be reported.
            Never a 404: silence would read as "this contract was never
            excluded".
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Error
      security:
        - BearerAuth: []
components:
  schemas:
    ExclusionOperationResponse:
      additionalProperties: false
      properties:
        evidenceSource:
          description: >-
            Which proof produced the terminal state: exclude_response,
            operator_evidence or m005_observation. Empty until one did.
          examples:
            - exclude_response
          type: string
        message:
          description: >-
            The refusal message the REGISTRY published. Present only on a
            rejected operation.
          examples:
            - motivo nao publicado
          type: string
        motivoExclusao:
          description: >-
            The client's declared Manual 003 §3.3.1 reason, echoed from the
            durable authority.
          enum:
            - '1'
            - '2'
            - '3'
            - '7'
            - '8'
            - '9'
          examples:
            - '1'
          type: string
        numeroContrato:
          description: The contract number the exclusion was addressed to.
          examples:
            - NC-000001
          type: string
        outcomeAt:
          description: Instant the registry answered, RFC 3339 UTC. ABSENT until it did.
          examples:
            - '2026-08-05T12:00:00Z'
          format: date-time
          type: string
        providerReference:
          description: >-
            The registry's own receipt for the mutation. ABSENT when it minted
            none, which is the normal case under an m005_observation
            confirmation — absence is never a verdict.
          examples:
            - HASH-1
          type: string
        reasonCode:
          description: >-
            The refusal code the REGISTRY published. Present only on a rejected
            operation.
          examples:
            - ME
          type: string
        status:
          description: >-
            Durable operation status. confirmed means the contract came off the
            payroll; rejected means the registry published a refusal; claimed,
            invoking and outcome_unknown all mean the effect at the registry is
            NOT known yet and M005 reconciliation has to close it — none of the
            three is a failure to retry blindly.
          enum:
            - claimed
            - invoking
            - confirmed
            - rejected
            - outcome_unknown
          examples:
            - confirmed
          type: string
      required:
        - numeroContrato
        - motivoExclusao
        - status
      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

````