Skip to main content
GET
Look up a PIX key before paying it

Authorizations

Authorization
string
header
required

JWT bearer token issued by the identity provider.

Headers

X-Payer-Document
string

The CPF/CNPJ of the indirect participant's customer who pays, as the indirect declares it, mask allowed. Only with indirectId, and required there unless the legacy account_id is sent instead: an indirect keeps its customers in its own core, so this plugin reads no record of them and sends this document to DICT as the payer (PI-PayerId), canonical (digits, and the letters of an alphanumeric CNPJ). Refused 400 PIX-0061 without indirectId, together with account_id, or when it is not a CPF of 11 digits or a CNPJ of 14 characters.

Example:

"52998224725"

Path Parameters

entryId
string
required

The PIX key to resolve, URL-encoded.

Example:

"payee@example.com"

Query Parameters

account_id
string

The Midaz ledger account id of the PAYER - the account the payment will leave from, a customer of the asking direct participant. Its holder's CPF/CNPJ is the identity DICT counts the lookup against. REQUIRED on a direct lookup (absent or blank is 400 PIX-0061). With indirectId it is DEPRECATED in favour of the X-Payer-Document header: an indirect keeps its customers in its own core, so the payer is the customer it declares. account_id is still accepted there, unchanged, when the direct participant's own credential sends the lookup, and refused 400 PIX-0061 when an Access Manager partner is behind the request. Sending it together with X-Payer-Document is 400 PIX-0061.

Example:

"019a1b2c-3d4e-7f60-8a9b-0c1d2e3f4a5b"

ispb
string

The ISPB of the direct participant the payer banks at, and therefore the one that asks DICT. This deployment may act as SEVERAL direct SPI participants - one ISPB each, each with its own customers and its own DICT credential - and this field is the only thing on the request that says which of them asks. OPTIONAL while it acts as a single participant: omit it and that one asks. REQUIRED once it acts as several - omitted is 422 PIX-0127, and an ISPB this deployment does not act as is 422 PIX-0128. Send the same participant as the payment's payerIspb: the endToEndId DICT mints carries the ISPB of the participant that asked. Sending it empty (ispb=) reads the same as omitting it.

Pattern: ^[0-9A-Z]{8}$
Example:

"12345678"

indirectId
string<uuid>

The registered indirect participant (UUID) the payment will be paid through - send the SAME indirectId the payment order will carry. DICT then mints the endToEndId under that indirect's ISPB, which is the institution the payment originates from; without it the endToEndId names the direct participant, and a payment by key ordered with an indirectId would go out naming the wrong institution. Omit it for a payment the direct participant pays. Validated before DICT is asked, exactly as the order validates it: 404 PIX-0095 unknown to this tenant, 422 PIX-0100 not ACTIVE, 422 PIX-0111 while this deployment's indirect-participants feature is off - the lookup is never made as a direct one instead. The lookup then acts as the direct participant the indirect is mounted on: omit ispb, or send that participant's ISPB; any other is 422 PIX-0102. A token confined to one indirect has to name it here, and may name no other.

Example:

"3f2504e0-4f89-41d3-9a0c-0305e82c3301"

Response

OK

accountNumber
string
required

The account number as DICT returns it, the same value payee.accountNumber carries.

Example:

"0007654321"

endToEndId
string
required

The end-to-end id DICT minted for THIS lookup. Send it on POST /v1/transactions together with payee.key: that pair is what makes the payment one initiated by key (JDPI tpIniciacao=1). One lookup, one payment.

Example:

"E87654321202610061200abcdefghijk"

keyType
integer<int64>
required

Numeric eKeyType of the key (0=CPF,1=CNPJ,2=EMAIL,3=PHONE,4=RANDOM).

Example:

2

payee
object
required

The recipient, ready to be sent as the payee of POST /v1/transactions.

personType
integer<int64>
required

The holder's person type (DICT tpPessoa): 0=Pessoa Fisica, 1=Pessoa Juridica.

Example:

1

tradeName
string

The holder's trade name (DICT nomeFantasia), when DICT holds one.

Example:

"Payee"