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

# Resolve a CID at BACEN

> Reads the key binding a CID identifies from BACEN's getEntryByCid, sent with X-ISPB as PI-RequestingParticipant, and projects it verbatim. A CID BACEN no longer binds answers 404 SPI-0012.



## OpenAPI

````yaml /es/openapi/v3-current/spi-dict.yaml get /api/v1/dict/cids/entries/{cid}
openapi: 3.1.0
info:
  contact:
    email: contact@lerian.studio
    name: Lerian Studio
    url: https://lerian.studio
  description: >-
    OpenAPI 3.1 surface for the DICT (Diretório de Identificadores de Contas
    Transacionais) capability of Lerian SPI, the direct integration between the
    institution and the Brazilian Instant Payment System (SPI/Pix). It covers
    the PIX key lifecycle, portability and ownership claims, the MED 2.0 dispute
    surface (infraction reports, refunds, fraud markers, and funds recoveries),
    antifraud statistics, synchronous DICT reports, and the internal operations
    that keep the key directory consistent.
  license:
    name: Lerian Studio General License
  title: Lerian SPI — DICT API
  version: 1.0.0
servers:
  - url: https://api.example.com
    description: >-
      Replace the example host with the URL provided during environment
      onboarding.
security: []
tags:
  - description: 'PIX key lifecycle: register, list, search, lookup, delete, and statistics.'
    name: Keys
  - description: >-
      PIX key portability and ownership claims through their full lifecycle
      (initiate, confirm, reject, cancel, acknowledge, complete).
    name: Claims
  - description: 'DICT infraction reports: list and retrieve.'
    name: Infractions
  - description: 'DICT refund requests: create, list, and retrieve.'
    name: Refunds
  - description: 'PIX fraud markers: create, list, and statistics.'
    name: Fraud Markers
  - description: >-
      Durable MED operation-intent status: the operationId every
      create/lifecycle-transition backlog route returns or references on every
      outcome, queryable independently of the business resource.
    name: Operations
  - description: >-
      Synchronous reports over Lerian SPI's own DICT record: COUNT(*) summaries
      of keys (by type/status) and claims (by type/status + open-past-deadline).
      COUNT-only — DICT holds no money.
    name: Reports
  - description: 'Internal DICT operations: claim deadline processing.'
    name: Internal
  - description: >-
      DICT synchronism checks transported to BACEN for the participant named in
      X-ISPB: sync verification, CID resolution and CID set events, projected
      verbatim.
    name: VSync
paths:
  /api/v1/dict/cids/entries/{cid}:
    get:
      tags:
        - VSync
      summary: Resolve a CID at BACEN
      description: >-
        Reads the key binding a CID identifies from BACEN's getEntryByCid, sent
        with X-ISPB as PI-RequestingParticipant, and projects it verbatim. A CID
        BACEN no longer binds answers 404 SPI-0012.
      operationId: getDICTCidEntry
      parameters:
        - description: >-
            ISPB of the participant the call acts for. It must be this
            deployment's direct participant or an indirect it sponsors; the body
            never carries it.
          in: header
          name: X-ISPB
          required: true
          schema:
            description: >-
              ISPB of the participant the call acts for. It must be this
              deployment's direct participant or an indirect it sponsors; the
              body never carries it.
            examples:
              - '12345678'
            pattern: ^[0-9A-Z]{8}$
            type: string
        - description: CID to resolve, 64 hex characters.
          in: path
          name: cid
          required: true
          schema:
            description: CID to resolve, 64 hex characters.
            examples:
              - 28c06eb41c4dc9c3ae114831efcac7446c8747777fca8b145ecd31ff8480ae88
            pattern: ^[0-9a-fA-F]{64}$
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CidEntryResponse'
          description: OK
        '403':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Forbidden
        '404':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Not Found
        '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
        '503':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Service Unavailable
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Error
      security:
        - BearerAuth: []
components:
  schemas:
    CidEntryResponse:
      additionalProperties: false
      properties:
        bacen:
          $ref: '#/components/schemas/BACENEnvelopeResponse'
          description: >-
            BACEN's operational envelope for this call; omitted when BACEN sent
            no correlation id.
        cid:
          description: The CID that was resolved.
          examples:
            - 28c06eb41c4dc9c3ae114831efcac7446c8747777fca8b145ecd31ff8480ae88
          type: string
        entry:
          $ref: '#/components/schemas/CidEntryBindingResponse'
          description: The key binding the CID identifies.
        requestId:
          description: >-
            BACEN's RequestId of the operation that created this binding, from
            which the CID was computed. Not a request-scoped echo.
          examples:
            - 4b6c1e0e-7f7a-4c1e-9d59-3f2a8c1b5e21
          type: string
      required:
        - cid
        - entry
        - requestId
      type: object
    Detail:
      additionalProperties: false
      properties:
        code:
          description: >-
            Stable, machine-readable domain error code scoped to the emitting
            service (format: <SERVICE>-NNNN).
          type: string
        correlationId:
          description: Request-scoped correlation identifier echoing X-Request-ID.
          examples:
            - req-7a3f9c2e
          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.
      required:
        - correlationId
      type: object
    BACENEnvelopeResponse:
      additionalProperties: false
      properties:
        correlationId:
          description: >-
            BACEN's own correlation identifier for its most recent interaction
            on this record — the wire value, distinct from any request-scoped
            echo.
          examples:
            - a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4
          type: string
        lastModified:
          description: >-
            BACEN's own LastModified for this resource (RFC 3339, UTC) — the
            version this response reflects; present only on the MED resources
            (infraction, refund, fraud marker, funds recovery).
          examples:
            - '2026-06-14T12:00:00Z'
          type: string
        responseTime:
          description: >-
            Instant BACEN answered its most recent interaction on this record,
            RFC 3339 (UTC); omitted when BACEN's response carried no parseable
            instant.
          examples:
            - '2026-06-14T12:00:00Z'
          type: string
      required:
        - correlationId
      type: object
    CidEntryBindingResponse:
      additionalProperties: false
      properties:
        account:
          $ref: '#/components/schemas/CidEntryAccountResponse'
          description: Account the key is bound to.
        creationDate:
          description: When BACEN created the binding, BACEN's wire value.
          examples:
            - '2025-03-07T14:30:00.000Z'
          format: date-time
          type: string
        key:
          description: Pix key value.
          examples:
            - '11122233396'
          type: string
        keyOwnershipDate:
          description: >-
            When the owner's uninterrupted possession of the key began, BACEN's
            wire value.
          examples:
            - '2025-03-07T14:30:00.000Z'
          format: date-time
          type: string
        keyType:
          description: Key type, verbatim.
          examples:
            - CPF
          type: string
        owner:
          $ref: '#/components/schemas/CidEntryOwnerResponse'
          description: Owner of the key.
      required:
        - key
        - keyType
        - account
        - owner
      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
    CidEntryAccountResponse:
      additionalProperties: false
      properties:
        accountNumber:
          description: Account number.
          examples:
            - '0007654321'
          type: string
        accountType:
          description: Account type, verbatim (CACC, SVGS, TRAN, SLRY, OTHR).
          examples:
            - CACC
          type: string
        branch:
          description: Account branch; omitted when BACEN sent none.
          examples:
            - '0001'
          type: string
        openingDate:
          description: Account opening date, RFC 3339 (UTC); omitted when BACEN sent none.
          examples:
            - '2020-01-15T00:00:00Z'
          format: date-time
          type: string
        participant:
          description: ISPB of the participant holding the account.
          examples:
            - '12345678'
          type: string
      required:
        - participant
        - accountNumber
        - accountType
      type: object
    CidEntryOwnerResponse:
      additionalProperties: false
      properties:
        name:
          description: Owner name.
          examples:
            - Maria Souza
          type: string
        taxIdNumber:
          description: Owner CPF (11 digits) or CNPJ (14 characters).
          examples:
            - '11122233396'
          type: string
        tradeName:
          description: Owner trade name; legal persons only, omitted when absent.
          examples:
            - Souza Comercio
          type: string
        type:
          description: 'BACEN''s person type, verbatim: NATURAL_PERSON or LEGAL_PERSON.'
          examples:
            - NATURAL_PERSON
          type: string
      required:
        - type
        - taxIdNumber
        - name
      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.