List the PSP's PIX QR codes
Lists the PIX QR codes this participant created at JD (JDPI §8.3.12) whose registration falls inside a date window. Call it to reconcile or audit the charges you generated; it only reads, and changes nothing.
The response always carries all four blocks: staticQrCodes, dynamicQrCodes (immediate), cobvQrCodes (dynamic with due date) and recurrenceQrCodes. A block with no match is an empty array, and a window with no QR code is a 200, never a 404. qrCodeType filters by JD type: 11 static, 12 immediate dynamic, 13 dynamic with due date, 14 QRCode Composto, and 15-17 QRCode Composto carrying static, immediate-dynamic or due-date data. Omit it to list every type: the plugin asks JD once per type and merges the answers, so page and pageSize apply to each type’s answer.
startDateTime and endDateTime are required. Send any RFC 3339 date-time, with or without milliseconds and with any offset (2026-01-01T00:00:00Z, 2026-01-01T00:00:00-03:00); the plugin converts both to UTC in JD’s format. The window may span at most 90 days, counted to the millisecond. pageSize is 1-100 (default 50); page defaults to 1.
JD lists every charge of the DIRECT participant whose credential signs the call, and the indirect participants riding it share that listing. indirectId narrows it to ONE indirect: only the immediate dynamic charges created for that indirect come back - never another indirect’s and never the direct participant’s own - and the static, due-date and recurrence blocks come back empty, because none of them is created for an indirect. A charge created before this deployment recorded which indirect a charge belongs to is not returned to a listing that names an indirect. The narrowing is applied to each page JD answers, so a page may hold fewer entries than pageSize. A token confined to one indirect has to name it.
What goes wrong. Every refusal below except the JD answers is decided before JD is called:
- 400 PIX-0061, errors[] naming the field: startDateTime or endDateTime missing or not an RFC 3339 date-time; startDateTime later than endDateTime (startDateTime); a window over 90 days (endDateTime); pageSize outside 1-100 (pageSize).
- 400 PIX-0061: indirectId is not a valid UUID.
- 422 PIX-0127 / PIX-0128: the participant rule for ispb, below.
- 400 PIX-1001: JD refused the filters; detail carries JD’s reason when JD gave one. 400 PIX-1000 when JD named the fields, with errors[] per field.
- 404 PIX-1005: JD answered not found. 429 PIX-1008: JD’s rate limit; retry later.
- 503 PIX-1050 / 504 PIX-1051: JD unavailable or timing out; retry. 409 PIX-0092: the participant’s JD credential is not provisioned, an operator setting.
Which of this deployment’s direct participants answers is decided by ispb, by exactly the rule an order’s payerIspb follows: this deployment may act as several direct participants, each with its own customers and its own JDPI credential, and naming none is answerable only while there is one answer. Omit it while this deployment acts as a single participant; once it acts as several, omitting it is 422 PIX-0127 and naming one it is not is 422 PIX-0128. When the account named on the request cannot be used by that participant, the request is refused before the operation acts and the answer names the account: 422 PIX-0137 when it is held in a ledger that is not configured for Pix, 422 PIX-0138 when its record does not say which ledger holds it, and 422 PIX-0139 when its record names a different institution. Sending it empty (ispb=) reads the same as omitting it. §8.3.12 answers for the participant whose credential signs the call, so reading as another one lists that institution’s charges, not yours.
Authorizations
JWT bearer token issued by the identity provider.
Query Parameters
tpQRCode filter: 11 static, 12 immediate dynamic, 13 dynamic with due date, 14 QRCode Composto, 15-17 QRCode Composto carrying static, immediate-dynamic or due-date data. Omit to list every type.
12
Window start (dtHrInicial), an RFC 3339 date-time with any offset; milliseconds optional. Sent to JD in UTC as aaaa-mm-ddTHH:mm:ss.sssZ.
"2024-10-01T00:00:00Z"
Window end (dtHrFinal), an RFC 3339 date-time, not before startDateTime and at most 90 days after it.
"2024-11-25T23:59:59.999Z"
Page number (pagina; default 1).
1
Page size (tamanhoPagina): 1-100; omit it for the default of 50. Sent outside 1-100 (0 included) is 400 PIX-0061.
1 <= x <= 100100
The registered indirect participant (UUID) whose charges are listed. OPTIONAL: omit it and the listing is not narrowed by indirect. Named, only the immediate dynamic charges created for that indirect come back - never another indirect's, never the direct participant's own, and never a charge created before this deployment recorded which indirect a charge belongs to; staticQrCodes, cobvQrCodes and recurrenceQrCodes come back empty, because none of them is created for an indirect. A token confined to one indirect has to name it here. Not a valid UUID is 400 PIX-0061.
"3f2504e0-4f89-41d3-9a0c-0305e82c3301"
The ISPB of the direct participant whose QR codes are listed. This deployment may act as SEVERAL direct SPI participants - one ISPB each, each with its own customers and its own JDPI credential - and this field is the only thing on the request that says which of them acts. OPTIONAL while it acts as a single participant: omit it and that one acts. REQUIRED once it acts as several - omitted is 422 PIX-0127, and an ISPB this deployment does not act as is 422 PIX-0128. It is ROUTING DATA you supply and guarantee, exactly like payerIspb on a transaction: never a credential, never read from a header or a path, and it never widens what your token can reach. JDPI answers this listing for the participant whose credential signs the call, so reading as another one lists that institution's charges, not yours. Sending it empty (ispb=) reads the same as omitting it.
^[0-9]{8}$"12345678"
Response
OK
The due-date dynamic QR codes (qrCodeDinamicoCobv).
The JDPI consult timestamp (dtHrJdPi).
"2024-11-26T18:08:49.025Z"
The immediate-dynamic QR codes (qrCodeDinamico).
The recurrence-only composite QR codes (qrCodeRecorrencia).
The static QR codes (qrCodeEstatico).

