---
title: "Validate key"
method: POST
path: "/v2/pix/keys/validate"
tags: ["Keys"]
---

# Validate key

`POST /v2/pix/keys/validate`

Validates a key locally (if Pismo holds the ownership of it) or directly in DICT (for external keys). It returns related information along with the `end_to_end_id` you are **required** to pass to start a Pix transaction with the [Perform pix-out transfer](https://developers.pismo.io/pismo-docs/reference/post-pix-out-transfer) endpoint.

This call should only be used to initate a payment, it does not return key information.

## Headers

- `Authorization` string, required

## Request body

- PresenterValidateRequest
  - `key` string, required — Pix key value.
  - `include_statistics` boolean — Include statistics

## Response `200`

OK

- PresenterValidateResponse
  - `bank_account` PresenterBankAccount, required
    - `participant` string, required — Participant's ISPB (Identifcador do Sistema de Pagamento Brazil) number - the Brazilian Payment System identifier, an 8-digit value.
    - `account_number` string, required — Account number.
    - `account_type` 'CACC' | 'SLRY' | 'SVGS' | 'TRAN', required — Account type: <br /> `CACC` - Checking/current account. Known as "conta corrente" in Portuguese, this is a bank account type designed for everyday financial transactions and is the most common type individuals and businesses use for day-to-day banking.<br /> `SVGS` - Savings account<br /> `TRAN` - Payment account. Payment institutions offer payment accounts to move funds and make payments, while banks offer checking accounts that include full financial services such as credit and investments.<br /> `SLRY` - Salary account. Employer deposits a fixed amount every month.<br />
    - `branch` string, required — This could be a bank-assigned branch ID or the branch's ISPB number.
    - `opening_datetime` string, date-time, required — Opening date time. A RFC 3339 date-time value. For example - `2023-04-12T23:20:50.52Z`.
  - `key_type` 'CPF' | 'CNPJ' | 'PHONE' | 'EMAIL' | 'EVP', required — User information that can be used to create a Pix key: * `CPF` - Cadastro de Pessoas Fisicas (Indiviual Taxpayer Registry) number. Similar to a Social Security number in the US. * `CNPJ` - Cadastro Nacional de Pessoa Juridica (National Registry of Legal Entities) number. Unique ID for legal entities, such as companies and organizations, in Brazil * `EMAIL` - Email * `PHONE` - Phone number * `EVP` - Endereco de pagamento virtual (virtual payment address). A randomly-generated UUID number.
  - `creation_datetime` string, date-time — Creation datetime. A RFC 3339 date-time value. For example - `2023-04-12T23:20:50.52Z`.
  - `key` string — Pix key value.
  - `key_statistics` EntryKeyStatistics
    - `entries` EntryEntriesKey
      - `distinct_accounts` EntryDetails — Event counters.
        - `d90` integer — Events occurring in last 90 days counter.
        - `m12` integer — Events occurring in last 12 months counter.
        - `m60` integer — Events occurring in last 60 months counter.
      - `watermark` string, date-time — Last anti-fraud event's date and time. RFC 3339 format.
    - `fraud_markers` EntryFraudMarkersKey
      - `application_frauds` EntryDetails — Event counters.
        - `d90` integer — Events occurring in last 90 days counter.
        - `m12` integer — Events occurring in last 12 months counter.
        - `m60` integer — Events occurring in last 60 months counter.
      - `distinct_fraud_reporters` EntryDetails — Event counters.
        - `d90` integer — Events occurring in last 90 days counter.
        - `m12` integer — Events occurring in last 12 months counter.
        - `m60` integer — Events occurring in last 60 months counter.
      - `mule_accounts` EntryDetails — Event counters.
        - `d90` integer — Events occurring in last 90 days counter.
        - `m12` integer — Events occurring in last 12 months counter.
        - `m60` integer — Events occurring in last 60 months counter.
      - `other_frauds` EntryDetails — Event counters.
        - `d90` integer — Events occurring in last 90 days counter.
        - `m12` integer — Events occurring in last 12 months counter.
        - `m60` integer — Events occurring in last 60 months counter.
      - `scammer_accounts` EntryDetails — Event counters.
        - `d90` integer — Events occurring in last 90 days counter.
        - `m12` integer — Events occurring in last 12 months counter.
        - `m60` integer — Events occurring in last 60 months counter.
      - `total_fraud_transaction_amount` EntryDetails — Event counters.
        - `d90` integer — Events occurring in last 90 days counter.
        - `m12` integer — Events occurring in last 12 months counter.
        - `m60` integer — Events occurring in last 60 months counter.
      - `unknown_frauds` EntryDetails — Event counters.
        - `d90` integer — Events occurring in last 90 days counter.
        - `m12` integer — Events occurring in last 12 months counter.
        - `m60` integer — Events occurring in last 60 months counter.
      - `watermark` string, date-time — Last anti-fraud event's date and time. RFC 3339 format.
    - `infraction_reports` EntryInfractionReportsKey
      - `rejected_reports` EntryDetails — Event counters.
        - `d90` integer — Events occurring in last 90 days counter.
        - `m12` integer — Events occurring in last 12 months counter.
        - `m60` integer — Events occurring in last 60 months counter.
      - `open_reports` integer — Number of infringement notifications not yet completed or cancelled.
      - `open_reports_distinct_reporters` integer — Number of distinct participants creating infringement notifications that have not yet been completed or cancelled.
      - `watermark` string, date-time — Last anti-fraud event's date and time. RFC 3339 format.
    - `spi` EntrySpi — Data on settlements
      - `settlements` EntryDetails — Event counters.
        - `d90` integer — Events occurring in last 90 days counter.
        - `m12` integer — Events occurring in last 12 months counter.
        - `m60` integer — Events occurring in last 60 months counter.
      - `watermark` string, date-time — Last anti-fraud event's date and time. RFC 3339 format.
  - `end_to_end_id` string — This field is a Brazil Central Bank (BCB) requirement to track all steps of Pix transactions. Basically, there are two steps to a Pix transaction: 1. Initialize a transaction 2. Confirm a transaction The `end_to_end_id` is sent to the BCB in both steps in order to identify all transaction information.
  - `internal` boolean — Is Pismo validating the key internally?
  - `owner` PresenterOwner
    - `document_number` string, required — Cardholder government document number. This can be from any document that identifies the cardholder such as a Tax ID, State ID, or driver's license.
    - `name` string, required — Person's name
    - `type` 'LEGAL_PERSON' | 'NATURAL_PERSON', required — Person type: * `LEGAL_PERSON` - An actual person with legal rights. * `NATURAL_PERSON` - An entity, such as an organization or company.
    - `trade_name` string — Name under which the business operates. Not necessarily the same as the legal name.
  - `ownership_datetime` string, date-time — Ownership date time. A RFC 3339 date-time value. For example - `2023-04-12T23:20:50.52Z`.
  - `owner_statistics` EntryOwnerStatistics
    - `entries` EntryEntriesOwner
      - `registered_accounts` integer — Number of owner's accounts associated with currently registered keys.
      - `watermark` string, date-time — Last anti-fraud event's date and time. RFC 3339 format.
    - `fraud_markers` EntryFraudMarkersOwner
      - `application_frauds` EntryDetails — Event counters.
        - `d90` integer — Events occurring in last 90 days counter.
        - `m12` integer — Events occurring in last 12 months counter.
        - `m60` integer — Events occurring in last 60 months counter.
      - `distinct_fraud_reporters` EntryDetails — Event counters.
        - `d90` integer — Events occurring in last 90 days counter.
        - `m12` integer — Events occurring in last 12 months counter.
        - `m60` integer — Events occurring in last 60 months counter.
      - `mule_accounts` EntryDetails — Event counters.
        - `d90` integer — Events occurring in last 90 days counter.
        - `m12` integer — Events occurring in last 12 months counter.
        - `m60` integer — Events occurring in last 60 months counter.
      - `other_frauds` EntryDetails — Event counters.
        - `d90` integer — Events occurring in last 90 days counter.
        - `m12` integer — Events occurring in last 12 months counter.
        - `m60` integer — Events occurring in last 60 months counter.
      - `scammer_accounts` EntryDetails — Event counters.
        - `d90` integer — Events occurring in last 90 days counter.
        - `m12` integer — Events occurring in last 12 months counter.
        - `m60` integer — Events occurring in last 60 months counter.
      - `total_fraud_transaction_amount` EntryDetails — Event counters.
        - `d90` integer — Events occurring in last 90 days counter.
        - `m12` integer — Events occurring in last 12 months counter.
        - `m60` integer — Events occurring in last 60 months counter.
      - `unknown_frauds` EntryDetails — Event counters.
        - `d90` integer — Events occurring in last 90 days counter.
        - `m12` integer — Events occurring in last 12 months counter.
        - `m60` integer — Events occurring in last 60 months counter.
      - `watermark` string, date-time — Last anti-fraud event's date and time. RFC 3339 format.
    - `infraction_reports` EntryInfractionReportsOwner
      - `open_reports` integer — Number of infringement notifications not yet completed or cancelled.
      - `open_reports_distinct_reporters` integer — Number of distinct participants creating infringement notifications that have not yet been completed or cancelled.
      - `rejected_reports` EntryDetails — Event counters.
        - `d90` integer — Events occurring in last 90 days counter.
        - `m12` integer — Events occurring in last 12 months counter.
        - `m60` integer — Events occurring in last 60 months counter.
      - `watermark` string, date-time — Last anti-fraud event's date and time. RFC 3339 format.
    - `spi` EntrySpi — Data on settlements
      - `settlements` EntryDetails — Event counters.
        - `d90` integer — Events occurring in last 90 days counter.
        - `m12` integer — Events occurring in last 12 months counter.
        - `m60` integer — Events occurring in last 60 months counter.
      - `watermark` string, date-time — Last anti-fraud event's date and time. RFC 3339 format.
  - `correlation_id` string — The Correlation identifier field is used to link related API requests and events. The CID can help the Pismo engineering team track everything related to a call. If not passed, a random one is generated. You can find the CID in the response header.
  - `claim_requested_datetime` string, date-time — Claim requested date time. A RFC 3339 date-time value. For example - `2023-04-12T23:20:50.52Z`.

## Other responses

- `400` — Bad Request
- `401` — Access token is missing or invalid
- `403` — The request has been lost
- `404` — Not Found
- `409` — Conflict
- `500` — Internal Server Error
- `502` — Bad Gateway
- `504` — Gateway Timeout

---

[API](https://skmtc.net/pismo/apis/platform-authentication.md) · [All operations](https://skmtc.net/pismo/apis/platform-authentication/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pismo/platform-authentication/versions/935b62e16de4/schema)
