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

# Open a PIX key claim

> Opens a DICT claim (reivindicação) on a PIX key that another participant currently holds. You are the CLAIMER - the Cliente Reivindicador of §8.2.07 - and the body carries only key and accountId, because the claim TYPE is not yours to choose: the service decides it, portability when the key's holder document at DICT equals your account document and possession otherwise, which is the rule §8.2.07 states.

The precondition the body does not show is the one that fails most often. The key must ALREADY sit on this account as a claim-pending row (status 4), and the only thing that creates one is POST /v1/entries answering that DICT recognised the key as claimable. Claiming a key you never tried to register is 422 PIX-0073. For a CPF or CNPJ key your account document must equal the key value, else 422 PIX-0086. The call is idempotent: a row already carrying a claim id returns that claim instead of opening a second one.

On success the row moves to status 5 - waiting for the holder to hand the key over. §8.2.07 gives the holder a deadline to read the claim and then a further deadline to accept or refuse it; this service neither enforces nor exposes those windows, so track the outcome with GET /v1/claims?status=processing or GET /v1/entries. Per §8.2.07 an EVP (RANDOM) key cannot be claimed at all - mint a new one instead.



## OpenAPI

````yaml /en/openapi/v3-current/pix.yaml post /v1/claims
openapi: 3.1.0
info:
  description: Brazilian PIX Direct (DICT + SPI) plugin API.
  title: plugin-br-pix-jd
  version: 1.0.0
servers: []
security:
  - BearerAuth: []
paths:
  /v1/claims:
    post:
      tags:
        - Claims
      summary: Open a PIX key claim
      description: >-
        Opens a DICT claim (reivindicação) on a PIX key that another participant
        currently holds. You are the CLAIMER - the Cliente Reivindicador of
        §8.2.07 - and the body carries only key and accountId, because the claim
        TYPE is not yours to choose: the service decides it, portability when
        the key's holder document at DICT equals your account document and
        possession otherwise, which is the rule §8.2.07 states.


        The precondition the body does not show is the one that fails most
        often. The key must ALREADY sit on this account as a claim-pending row
        (status 4), and the only thing that creates one is POST /v1/entries
        answering that DICT recognised the key as claimable. Claiming a key you
        never tried to register is 422 PIX-0073. For a CPF or CNPJ key your
        account document must equal the key value, else 422 PIX-0086. The call
        is idempotent: a row already carrying a claim id returns that claim
        instead of opening a second one.


        On success the row moves to status 5 - waiting for the holder to hand
        the key over. §8.2.07 gives the holder a deadline to read the claim and
        then a further deadline to accept or refuse it; this service neither
        enforces nor exposes those windows, so track the outcome with GET
        /v1/claims?status=processing or GET /v1/entries. Per §8.2.07 an EVP
        (RANDOM) key cannot be claimed at all - mint a new one instead.
      operationId: claimKey
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClaimBody'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClaimResponse'
          description: Created
        '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
components:
  schemas:
    ClaimBody:
      additionalProperties: false
      properties:
        accountId:
          description: The CRM account id of the claimer.
          examples:
            - acc-123
          type: string
        key:
          description: The PIX key to claim.
          examples:
            - '11122233300'
          type: string
      required:
        - key
        - accountId
      type: object
    ClaimResponse:
      additionalProperties: false
      properties:
        claimId:
          description: The created/associated claim id.
          examples:
            - claim-123
          type: string
        key:
          description: The PIX key value.
          examples:
            - '11122233300'
          type: string
        status:
          description: Numeric eKeyStatus.
          examples:
            - 5
          format: int64
          type: integer
        statusDescription:
          description: Human-readable eKeyStatus label.
          examples:
            - CLAIMER_PENDING_OWNER_GIVEAWAY
          type: string
        type:
          description: Numeric eKeyType.
          examples:
            - 0
          format: int64
          type: integer
      required:
        - type
        - 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

````