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

# Validate key

`POST /v2/pix/keys/validate`

## Request

- Base URL: `https://sandbox.pismolabs.io/pix-dict`
- URL: `https://sandbox.pismolabs.io/pix-dict/v2/pix/keys/validate`
- Auth: HTTP bearer

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](ref: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: Value, based on a key's type, used to encrypt Pix key.
  - `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: `CACC` - Checking account `SVGS` - Savings account `TRAN` - Transactional account (Brazil only). Also 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. `SLRY` - Salary account. Employer deposits a fixed amount every month.
    - `branch` string, required: Bank-assigned branch ID or ISPB (Identifcador do Sistema de Pagamento Brazil) number - the Brazilian Payment System identifier, an 8-digit value.
    - `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: Value, based on a key's type, used to encrypt Pix key.
  - `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: A government document number, such as a Social Security number (US) or Cadastro de Pessoas Físicas number (Brazil). Must be numeric with 11-14 digits.
    - `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, uuid: The correlation identifier is used to link related API requests and events. The Pismo engineering team can use this to track everything related to a call. If one is not passed, it is automatically generated and returned to the client in a 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`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `500`: Internal Server Error
- `502`: Bad Gateway
- `504`: Gateway Timeout

---

[API](https://skmtc.dev/pismo/apis/instant-payments-pix-management.md) - [All operations](https://skmtc.dev/pismo/apis/instant-payments-pix-management/llms.txt) - [OpenAPI document](https://skmtc.dev/pismo/apis/instant-payments-pix-management/revisions/eb540c289547?raw)
