> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trio.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Check Pix Key

> Checks a key



## OpenAPI

````yaml v2/api-reference/openapi.json POST /v2/out/pix/keys/check
openapi: 3.0.0
info:
  title: Trio API v2
  version: 2026-10-19.v2
servers:
  - url: https://api.sandbox.trio.com.br
    variables: {}
  - url: https://api.qa.trio.com.br
    variables: {}
  - url: https://api.trio.com.br
    variables: {}
security: []
tags: []
paths:
  /v2/out/pix/keys/check:
    parameters:
      - description: >-
          Version of the v2 contract the client is written against. Each
          breaking change publishes a new version.
        example: 2026-10-19.v2
        in: header
        name: Trio-Version
        required: true
        schema:
          enum:
            - 2026-10-19.v2
          type: string
          x-struct: null
          x-validate: null
      - description: >-
          ID of another org to act on instead of the API key's own org. The
          key's org must have been granted access to it, and the request is
          refused with 403 FORBIDDEN otherwise. When that access or the API key
          is read-only, only GET and HEAD requests may carry it. When the target
          org requires mTLS, so does the request. Leave it out to act on the
          key's own org.
        in: header
        name: Trio-Target-Org-Id
        required: false
        schema:
          format: uuid
          type: string
          x-struct: null
          x-validate: null
    post:
      tags:
        - Payments (out)
        - Pix
        - Keys
      summary: Check a key
      description: Checks a key
      operationId: TrioFoundationWeb.V2.Out.Pix.KeyController.check
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/V2_Pix_key_check_params'
        description: Check key payload
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2_Pix_key_check_response'
          description: CheckKey
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2_error'
          description: >-
            Malformed request: a body that is not valid JSON
            (MALFORMED_REQUEST), or a Trio-Version header that is missing or not
            the current one (INVALID_TRIO_VERSION).
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2_error'
          description: Missing or invalid API key credentials (INVALID_CREDENTIALS).
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2_error'
          description: >-
            The API key may not do this (FORBIDDEN): for instance
            Trio-Target-Org-Id names an org it has no access to, or writes
            through a read-only access.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2_error'
          description: >-
            Invalid input (INVALID_PARAMETER, REQUIRED_PARAMETER, or the code of
            the rule the request breaks). A request outside the operation's
            schema lists the offending fields in `errors`.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2_error'
          description: >-
            A service needed to answer is unavailable
            (TRIO_SERVICE_UNAVAILABLE).
      callbacks: {}
      security:
        - authorization: []
components:
  schemas:
    V2_Pix_key_check_params:
      description: Body params to check a Pix key before paying it
      example:
        entity_id: 41234d60-f6a9-4c9c-8cc3-5769ce9bbea2
        key: john.doe@example.com
      properties:
        entity_id:
          description: Entity that will pay the Pix
          format: uuid
          type: string
          x-struct: null
          x-validate: null
        key:
          description: >-
            Pix key: a CPF, a CNPJ, an email, a phone number (+5511999999999) or
            a random key
          type: string
          x-struct: null
          x-validate: null
      required:
        - entity_id
        - key
      title: V2 Pix key check params
      type: object
      x-struct: >-
        Elixir.TrioFoundationWeb.Schemas.Banking.V2.Cashout.PixCheck.KeyCheckParams
      x-validate: null
    V2_Pix_key_check_response:
      description: A Pix key checked in DICT before it is paid
      example:
        data:
          counterparty:
            bank_account:
              branch: null
              digit: null
              id: 0008d49c-e6d5-a58e-a742-449e9b38f795
              ispb: '12345678'
              number: null
              type: null
            id: 0008d49c-e6d5-4d86-232a-a6f4b9138f10
            name: John Doe
            tax_number: '***982247**'
          id: 019500b0-71d2-ac32-3712-e8ba5e06e0f7
          inserted_at: '2026-02-13T19:01:58.354481Z'
          key: john.doe@example.com
          type: email
          updated_at: '2026-02-13T19:01:58.354481Z'
      properties:
        data:
          properties:
            counterparty:
              $ref: '#/components/schemas/V2_Pix_check_counterparty'
            id:
              description: Check ID, to pay as the check_id of POST /v2/out/pix
              format: uuid
              type: string
              x-struct: null
              x-validate: null
            inserted_at:
              description: When the check was made
              format: date-time
              type: string
              x-struct: null
              x-validate: null
            key:
              description: Pix key
              type: string
              x-struct: null
              x-validate: null
            type:
              description: Key type
              enum:
                - tax_number
                - phone
                - email
                - random_key
              type: string
              x-struct: null
              x-validate: null
            updated_at:
              description: When the check was last updated
              format: date-time
              type: string
              x-struct: null
              x-validate: null
          required:
            - id
            - key
            - type
            - counterparty
            - inserted_at
            - updated_at
          type: object
          x-struct: null
          x-validate: null
      required:
        - data
      title: V2 Pix key check response
      type: object
      x-struct: >-
        Elixir.TrioFoundationWeb.Schemas.Banking.V2.Cashout.PixCheck.KeyCheckResponse
      x-validate: null
    V2_error:
      example:
        error:
          error_code: INVALID_PARAMETER
          error_message: 'Invalid parameters: /amount: Invalid integer. Got: string'
          errors:
            - field: /amount
              message: 'Invalid integer. Got: string'
      properties:
        error:
          properties:
            error_code:
              description: >-
                Stable UPPER_SNAKE identifier of the error, for programs and
                logs. Branch on this, not on the message.
              type: string
              x-struct: null
              x-validate: null
            error_message:
              description: Human readable explanation of the error.
              type: string
              x-struct: null
              x-validate: null
            errors:
              description: >-
                Only on INVALID_PARAMETER for a request outside the operation's
                schema: one entry per offending field.
              items:
                properties:
                  field:
                    description: JSON pointer to the field, e.g. /amount.
                    type: string
                    x-struct: null
                    x-validate: null
                  message:
                    description: What is wrong with it.
                    type: string
                    x-struct: null
                    x-validate: null
                required:
                  - field
                  - message
                type: object
                x-struct: null
                x-validate: null
              type: array
              x-struct: null
              x-validate: null
          required:
            - error_code
            - error_message
          type: object
          x-struct: null
          x-validate: null
      required:
        - error
      title: V2 error
      type: object
      x-struct: Elixir.TrioFoundationWeb.Schemas.HTTP.V2Error
      x-validate: null
    V2_Pix_check_counterparty:
      description: >-
        Owner of the checked Pix key, who receives the payment. A person (CPF)
        has the tax number masked and only the ISPB of their bank account
        published; a company (CNPJ) is published as is.
      example:
        bank_account:
          branch: null
          digit: null
          id: 0008d49c-e6d5-a58e-a742-449e9b38f795
          ispb: '12345678'
          number: null
          type: null
        id: 0008d49c-e6d5-4d86-232a-a6f4b9138f10
        name: John Doe
        tax_number: '***982247**'
      properties:
        bank_account:
          description: Bank account the Pix key points to
          properties:
            branch:
              description: Branch. Null for a CPF
              nullable: true
              type: string
              x-struct: null
              x-validate: null
            digit:
              description: Account digit. Null for a CPF
              nullable: true
              type: string
              x-struct: null
              x-validate: null
            id:
              description: >-
                Counterparty bank account ID, once Trio has registered the
                account
              format: uuid
              nullable: true
              type: string
              x-struct: null
              x-validate: null
            ispb:
              description: ISPB of the bank
              type: string
              x-struct: null
              x-validate: null
            number:
              description: Account number. Null for a CPF
              nullable: true
              type: string
              x-struct: null
              x-validate: null
            type:
              description: Account type. Null for a CPF
              enum:
                - checking
                - payment
                - salary
                - savings
              nullable: true
              type: string
              x-struct: null
              x-validate: null
          required:
            - id
            - ispb
            - branch
            - number
            - digit
            - type
          type: object
          x-struct: null
          x-validate: null
        id:
          description: Counterparty ID, once Trio has registered the counterparty
          format: uuid
          nullable: true
          type: string
          x-struct: null
          x-validate: null
        name:
          description: Name
          type: string
          x-struct: null
          x-validate: null
        tax_number:
          description: >-
            Tax number. A CPF is masked (e.g. ***982247**); a CNPJ is published
            as is
          type: string
          x-struct: null
          x-validate: null
      required:
        - id
        - name
        - tax_number
        - bank_account
      title: V2 Pix check counterparty
      type: object
      x-struct: >-
        Elixir.TrioFoundationWeb.Schemas.Banking.V2.Cashout.PixCheck.Counterparty
      x-validate: null
  securitySchemes:
    authorization:
      scheme: basic
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.