{"openapi":"3.1.0","info":{"title":"Conta Digital API","description":"Public API for account management, transactions, and PIX operations","license":{"name":""},"version":"0.1.0"},"servers":[{"url":"https://conta-public-api.kiwify.com","description":"Production environment"}],"paths":{"/v1/account":{"get":{"tags":["Account"],"summary":"Get Account Details","description":"Retrieves account details including balance and legal entity information. Supports both PF (Pessoa Física - natural person) and PJ (Pessoa Jurídica - legal entity) accounts. For PF accounts, the legal_name field contains the person's name and trading_name is omitted. For PJ accounts, legal_name contains the company name and trading_name contains the trading name.","operationId":"get_account","responses":{"200":{"description":"Account details retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalApiAccountsResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"No account found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]}},"/v1/account-limits":{"get":{"tags":["Account"],"summary":"Get Account Limits","description":"Retrieves transaction limits for the account including current usage and available amounts. Returns limits for different transaction types including daily/nightly personal transactions, business transactions, scheduled payments, automatic PIX, and PIX withdrawals.","operationId":"get_account_limits","responses":{"200":{"description":"Account limits retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountLimitsResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"No account found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]}},"/v1/balance":{"get":{"tags":["Account"],"summary":"Get Balance","operationId":"get_account_balance","responses":{"200":{"description":"Balance retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalApiBalanceResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"No account found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]}},"/v1/boleto-payments":{"get":{"tags":["Boleto Payments"],"summary":"List Boleto Payments","description":"Retrieves a paginated list of boleto payments for the authenticated account. Supports filtering by external_reference_id and cursor-based pagination for efficient data retrieval.","operationId":"get_boleto_payments","parameters":[{"name":"external_reference_id","in":"query","description":"Filter by external reference ID (exact match)","required":false,"schema":{"type":["string","null"]}},{"name":"transaction_id","in":"query","description":"Filter by transaction ID (exact match)","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"limit","in":"query","description":"Maximum number of results per page (1–100, default: 20).","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}},{"name":"cursor","in":"query","description":"Pagination cursor in format \"timestamp_micros:id\"","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"Boleto payments retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetBoletoPaymentsResponse"}}}},"400":{"description":"Invalid query parameters. Error code: INVALID_REQUEST (invalid cursor format or limit out of range 1–100)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Access denied - requires ViewTransactions permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]},"post":{"tags":["Boleto Payments"],"summary":"Creates a batch of boleto payments.","description":"## External Reference IDs\nEach payment must have a unique `external_reference_id` within the bank account.\nAttempting to create a payment with a duplicate `external_reference_id` will fail with 400 Bad Request.\n\n## Idempotency\n- **With X-Idempotency-Key header**: Multiple requests with the same idempotency key return the same batch (safe retries).\n- **Without X-Idempotency-Key header**: Each request creates a new batch. Duplicate `external_reference_id` values will fail.\n\n## Amount Handling\n- If `amount_in_cents` is provided, it will be used for the payment.\n- If `amount_in_cents` is null, the amount will be extracted from the barcode line during processing.\n\n## Uniqueness Scope\nThe `external_reference_id` is unique per bank account, not globally. Different accounts can use the same `external_reference_id`.\n\n## Allowed Beneficiaries (allowed_tax_ids)\nWhen `allowed_tax_ids` is provided, it acts as an allowlist that restricts which beneficiary documents are accepted for the entire batch.\nThe `tax_id` in each payment must be present in the list.\nWhen empty, payments to any document are accepted.","operationId":"create_boleto_payments","parameters":[{"name":"X-Idempotency-Key","in":"header","description":"Optional idempotency key for safe retries. When provided, requests with the same key return the same result. Without this header, duplicate external_reference_id values will fail with 400 Bad Request.","required":false,"schema":{"type":["string","null"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBoletoPaymentsRequest"}}},"required":true},"responses":{"201":{"description":"Boleto payments batch created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBoletoPaymentsResponse"}}}},"400":{"description":"Invalid request. Error codes: INVALID_REQUEST (field validation in error.details), DUPLICATE_EXTERNAL_REFERENCE_ID, TOO_MANY_ITEMS, INVALID_AMOUNT, TAX_ID_NOT_IN_ALLOWED_LIST, VALIDATION_ERROR, DUPLICATE_BATCH","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"No account found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Idempotency conflict — same X-Idempotency-Key with different payload. Error code: IDEMPOTENCY_CONFLICT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]}},"/v1/boleto-payments/{id}":{"get":{"tags":["Boleto Payments"],"summary":"Get Boleto Payment","description":"Retrieves a single boleto payment by its ID for the authenticated account.","operationId":"get_boleto_payment_by_id","parameters":[{"name":"id","in":"path","description":"Boleto payment identifier","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Boleto payment retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoletoPaymentItemResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Access denied - requires ViewTransactions permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Boleto payment not found. Error code: PAYMENT_NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]}},"/v1/dict-keys":{"get":{"tags":["Account"],"summary":"List DICT Keys","operationId":"list_dict_keys","responses":{"200":{"description":"List of DICT keys","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DictKeyItemResponse"}}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Service account cannot view DICT keys","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"No account found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]}},"/v1/dynamic-qrcode":{"get":{"tags":["PIX QR Codes"],"summary":"List Dynamic QR Codes","description":"Lists dynamic PIX QR codes with optional filters by external_reference_id and transaction_id. Results are paginated using cursor-based pagination.","operationId":"list_dynamic_qrcodes","parameters":[{"name":"external_reference_id","in":"query","description":"External reference identifier to filter QR codes","required":false,"schema":{"type":["string","null"]}},{"name":"transaction_id","in":"query","description":"Filter to QR codes whose most recent payment has this transaction ID.","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"limit","in":"query","description":"Maximum number of QR codes to return (1-100, default: 20)","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}},{"name":"cursor","in":"query","description":"Cursor for pagination","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"QR codes retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetDynamicQrcodesResponse"}}}},"400":{"description":"Invalid query parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Access denied - missing ManageQRCode permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]},"post":{"tags":["PIX QR Codes"],"summary":"Create Dynamic QR Code","description":"## Allowed Payers (allowed_tax_ids)\nWhen `allowed_tax_ids` is provided, only payers whose CPF/CNPJ matches one of the listed values will be accepted at payment time.\nWhen omitted or null, payments from any document are accepted.","operationId":"create_dynamic_brcode","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDynamicBrcodeRequest"}}},"required":true},"responses":{"201":{"description":"Dynamic QR code created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDynamicBrcodeResponse"}}}},"400":{"description":"Invalid request: malformed JSON, invalid enum values (e.g., 'CPF' instead of 'cpf'), missing required fields, or validation errors. Error codes: INVALID_JSON_BODY, MALFORMED_JSON, INVALID_REQUEST, VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Access denied - missing ManageQRCode permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"PIX key not found. Error code: PIX_KEY_NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict: duplicate transaction_id or external_reference_id already exists for this account. Error codes: DUPLICATE_TRANSACTION_ID, DUPLICATE_EXTERNAL_REFERENCE_ID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]}},"/v1/dynamic-qrcode/{id}":{"get":{"tags":["PIX QR Codes"],"summary":"Get Dynamic QR Code Details","description":"Retrieves details of a specific dynamic PIX QR code by its ID.","operationId":"get_dynamic_qrcode_details","parameters":[{"name":"id","in":"path","description":"QR code identifier","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"QR code details retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetDynamicQrcodeDetailsResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Access denied - missing ManageQRCode permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"QR code not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]}},"/v1/incoming-infractions":{"get":{"tags":["MED Incoming Infractions"],"summary":"List incoming infractions","description":"Lists incoming MED infractions raised against transactions on the authenticated account, ordered by creation time descending. Cursor-based pagination.","operationId":"list_incoming_infractions","parameters":[{"name":"status","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/PublicMedInfractionStatus"}]}},{"name":"limit","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"cursor","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"Infractions listed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListExternalApiIncomingInfractionsResponse"}}}},"400":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing ManageDisputes permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]}},"/v1/incoming-infractions/{id}":{"get":{"tags":["MED Incoming Infractions"],"summary":"Get incoming infraction","description":"Retrieves a single incoming MED infraction by its id, scoped to the authenticated account.","operationId":"get_incoming_infraction_by_id","parameters":[{"name":"id","in":"path","description":"Incoming infraction id","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Infraction detail","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalApiMedInfraction"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing ManageDisputes permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Infraction not found on this account","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]}},"/v1/outgoing-disputes":{"get":{"tags":["MED Outgoing Disputes"],"summary":"List outgoing disputes","description":"Lists outgoing MED disputes opened against transactions on the authenticated account, ordered by creation time descending. Cursor-based pagination.","operationId":"list_outgoing_disputes","parameters":[{"name":"status","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/PublicMedDisputeStatus"}]}},{"name":"infraction_status","in":"query","description":"Filter by the infraction-analysis status (a different axis from `status`).","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/OutgoingInfractionStatus"}]}},{"name":"limit","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"cursor","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"Disputes listed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListExternalApiOutgoingDisputesResponse"}}}},"400":{"description":"Validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing ManageDisputes permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]}},"/v1/outgoing-disputes/{id}":{"get":{"tags":["MED Outgoing Disputes"],"summary":"Get outgoing dispute","description":"Retrieves a single outgoing MED dispute by its id, scoped to the authenticated account.","operationId":"get_outgoing_dispute_by_id","parameters":[{"name":"id","in":"path","description":"Outgoing dispute id","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Dispute detail","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalApiMedDispute"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing ManageDisputes permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Dispute not found on this account","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]}},"/v1/refunds":{"get":{"tags":["PIX Refunds"],"summary":"List Refunds","description":"Retrieves a paginated list of PIX refunds for the authenticated account. Supports filtering by external_reference_id, original_transaction_id, and cursor-based pagination for efficient data retrieval.","operationId":"get_refunds","parameters":[{"name":"external_reference_id","in":"query","description":"External reference identifier to filter refunds","required":false,"schema":{"type":["string","null"]}},{"name":"original_transaction_id","in":"query","description":"Original transaction identifier to filter refunds (exact match)","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"limit","in":"query","description":"Maximum number of refunds to return (1–100, default: 20)","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}},{"name":"cursor","in":"query","description":"Cursor for pagination (format: timestamp_micros:id)","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"Refunds retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetRefundsResponse"}}}},"400":{"description":"Invalid query parameters. Error code: INVALID_REQUEST (invalid cursor format or limit out of range 1–100)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Access denied - requires ViewTransactions permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]},"post":{"tags":["PIX Refunds"],"summary":"Create Refund","description":"Creates a refund request for a PIX transaction. The transaction_id must be provided in the request body. The refund will be processed asynchronously - validation and execution are performed by a worker process. If amount_in_cents is not provided, it defaults to 0 and will be determined during processing.","operationId":"create_refund","parameters":[{"name":"X-Idempotency-Key","in":"header","description":"Optional idempotency key for safe retries. When provided, requests with the same key and payload return the same result. Without this header, duplicate external_reference_id values will fail with 400 Bad Request.","required":false,"schema":{"type":["string","null"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRefundRequest"}}},"required":true},"responses":{"201":{"description":"Refund request created successfully and will be processed asynchronously","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefundResponse"}}}},"400":{"description":"Invalid request. Error codes: INVALID_REQUEST (field validation in error.details), DUPLICATE_EXTERNAL_REFERENCE_ID, VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Idempotency conflict — same X-Idempotency-Key with different payload. Error code: IDEMPOTENCY_CONFLICT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]}},"/v1/refunds/{id}":{"get":{"tags":["PIX Refunds"],"summary":"Get Refund","description":"Retrieves a single PIX refund by its ID for the authenticated account.","operationId":"get_refund_by_id","parameters":[{"name":"id","in":"path","description":"Refund identifier","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Refund retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefundItemResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Access denied - requires ViewTransactions permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Refund not found. Error code: PAYMENT_NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]}},"/v1/scheduled-payments":{"get":{"tags":["Transactions"],"summary":"List Scheduled Payments","operationId":"list_scheduled_payments","parameters":[{"name":"cursor","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"limit","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}},{"name":"status","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ScheduledPaymentStatus"}]}}],"responses":{"200":{"description":"Scheduled payments retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalGetScheduledPaymentsResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"No account found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]}},"/v1/scheduled-payments/{id}":{"get":{"tags":["Transactions"],"summary":"Get Scheduled Payment","operationId":"get_scheduled_payment_details","parameters":[{"name":"id","in":"path","description":"Scheduled payment identifier","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Scheduled payment details retrieved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalScheduledPaymentDetails"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Scheduled payment not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]}},"/v1/transactions":{"get":{"tags":["Transactions"],"summary":"List Transactions","description":"Retrieves a paginated list of transactions for the account. Supports cursor-based pagination and filtering by date range or search term.","operationId":"get_transactions","parameters":[{"name":"cursor","in":"query","description":"Pagination cursor (`\"<unix_micros>:<transaction_id>\"`). Opaque token from a previous response's pagination metadata.","required":false,"schema":{"type":["string","null"]}},{"name":"before","in":"query","description":"Return transactions created before this instant (UTC, RFC 3339). Exclusive upper bound.","required":false,"schema":{"type":["string","null"],"format":"date-time"}},{"name":"after","in":"query","description":"Return transactions created after this instant (UTC, RFC 3339). Exclusive lower bound.","required":false,"schema":{"type":["string","null"],"format":"date-time"}},{"name":"limit","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}},{"name":"search_term","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"Transactions retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalApiTransactionsResponse"}}}},"400":{"description":"Invalid query parameters. Error code: INVALID_REQUEST (invalid cursor format or limit out of range 1–100)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"No account found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]}},"/v1/transactions/{transaction_id}":{"get":{"tags":["Transactions"],"summary":"Get Transaction","description":"Retrieves a transaction for the account.","operationId":"get_transaction_details","parameters":[{"name":"transaction_id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Transaction retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalApiTransactionDto"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Account or transaction not found. Error codes: TRANSACTION_NOT_FOUND, ACCOUNT_NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]}},"/v1/transfers":{"get":{"tags":["PIX"],"summary":"List Transfers","description":"Retrieves a paginated list of PIX transfers for the authenticated account. Supports filtering by external_reference_id and cursor-based pagination for efficient data retrieval.","operationId":"get_transfers","parameters":[{"name":"external_reference_id","in":"query","description":"Filter by external reference ID (exact match)","required":false,"schema":{"type":["string","null"]}},{"name":"transaction_id","in":"query","description":"Filter by transaction ID (exact match)","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"limit","in":"query","description":"Maximum number of results per page (1–100, default: 20).","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}},{"name":"cursor","in":"query","description":"Pagination cursor in format \"timestamp_micros:id\"","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"Transfers retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTransfersResponse"}}}},"400":{"description":"Invalid query parameters. Error code: INVALID_REQUEST (invalid cursor format or limit out of range 1–100)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Access denied - requires ViewTransactions permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]},"post":{"tags":["PIX"],"summary":"Create Transfers","description":"## External Reference IDs\nEach transfer must have a unique `external_reference_id` within the bank account.\nAttempting to create a transfer with a duplicate `external_reference_id` will fail with 400 Bad Request.\n\n## Idempotency\n- **With X-Idempotency-Key header**: Multiple requests with the same idempotency key return the same batch (safe retries).\n- **Without X-Idempotency-Key header**: Each request creates a new batch. Duplicate `external_reference_id` values will fail.\n\n## Uniqueness Scope\nThe `external_reference_id` is unique per bank account, not globally. Different accounts can use the same `external_reference_id`.\n\n## Allowed Beneficiaries (allowed_tax_ids)\nWhen `allowed_tax_ids` is provided, it acts as an allowlist that restricts which beneficiary documents are accepted for the entire batch.\n- For `pix_key` transfers: the document resolved from the PIX key must match one of the listed values.\n- For `bank_account` transfers: the `tax_id` provided in the transfer must be present in the list.\nWhen empty, transfers to any document are accepted.","operationId":"create_transfers","parameters":[{"name":"X-Idempotency-Key","in":"header","description":"Optional idempotency key for safe retries. When provided, requests with the same key return the same result. Without this header, duplicate external_reference_id values will fail with 400 Bad Request.","required":false,"schema":{"type":["string","null"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTransfersRequest"}}},"required":true},"responses":{"201":{"description":"Transfers batch created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTransfersResponse"}}}},"400":{"description":"Invalid request. Error codes: INVALID_REQUEST (field validation in error.details), DUPLICATE_EXTERNAL_REFERENCE_ID, TOO_MANY_ITEMS, INVALID_AMOUNT, TAX_ID_NOT_IN_ALLOWED_LIST, VALIDATION_ERROR, DUPLICATE_BATCH; JSON errors: WRONG_CONTENT_TYPE, MALFORMED_JSON, INVALID_JSON_BODY","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"No account found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Idempotency conflict — same X-Idempotency-Key with different payload. Error code: IDEMPOTENCY_CONFLICT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]}},"/v1/transfers/{id}":{"get":{"tags":["PIX"],"summary":"Get Transfer","description":"Retrieves a single PIX transfer by its ID for the authenticated account.","operationId":"get_transfer_by_id","parameters":[{"name":"id","in":"path","description":"Transfer identifier","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Transfer retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferItemResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Access denied - requires ViewTransactions permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Transfer not found. Error code: PAYMENT_NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]}},"/v1/webhooks":{"get":{"tags":["Webhooks"],"summary":"List Webhook Subscriptions","description":"Retrieves all active webhook subscriptions for the authenticated bank account.","operationId":"list_webhooks","responses":{"200":{"description":"List of webhook subscriptions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListWebhooksResponse"}}}},"401":{"description":"Authentication failed - invalid or missing service account credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Access denied - service account requires ManageWebhooks permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error. Error code: INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]},"post":{"tags":["Webhooks"],"summary":"Create Webhook Subscription","description":"The provided HTTPS endpoint will receive HTTP POST requests with a signed JSON envelope whenever subscribed events occur.\n\n## Webhook Envelope Format\n\nEach webhook delivery contains a JSON envelope with the following structure:\n\n```json\n{\n  \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n  \"type\": \"CASHOUT.PIX.TRANSFERS.COMPLETED\",\n  \"version\": \"1.0\",\n  \"data\": { ... },\n  \"created_at\": \"2026-03-10T12:00:00Z\"\n}\n```\n\n- `id`: Event identifier (UUID). **Important**: This ID changes on every retry and must NOT be used for deduplication.\n- `type`: Concrete event type (see Event Types below).\n- `version`: Envelope schema version (currently \"1.0\").\n- `data`: Event payload (structure depends on event type).\n- `created_at`: Timestamp when the event was generated.\n\n## Event Types by Subscription\n\n### `CASHIN.PIX.QRCODES`\nTriggers when dynamic PIX QR codes are created or paid:\n- `CASHIN.PIX.QRCODES.CREATED` — QR code created via API\n- `CASHIN.PIX.QRCODES.PAID` — QR code paid by external payer\n\n### `CASHIN.DEPOSITS`\nTriggers when incoming PIX transfers are received (excluding QR code payments):\n- `CASHIN.DEPOSITS.RECEIVED` — Deposit received in the account\n\n### `CASHOUT.PIX.TRANSFERS`\nTriggers for PIX transfer lifecycle events:\n- `CASHOUT.PIX.TRANSFERS.SCHEDULED` — Transfer scheduled for future execution\n- `CASHOUT.PIX.TRANSFERS.COMPLETED` — Transfer completed successfully\n- `CASHOUT.PIX.TRANSFERS.FAILED` — Transfer failed during processing\n- `CASHOUT.PIX.TRANSFERS.SCHEDULED.FAILED` — Scheduled transfer failed during execution\n\nPlanned (not yet delivered): `CASHOUT.PIX.TRANSFERS.CREATED`\n\n### `CASHOUT.PIX.REFUNDS`\nTriggers for PIX refund events:\n- `CASHOUT.PIX.REFUNDS.COMPLETED` — Refund completed successfully\n- `CASHOUT.PIX.REFUNDS.FAILED` — Refund failed during processing\n\n### `CASHOUT.BOLETO.PAYMENTS`\nTriggers for boleto payment lifecycle events:\n- `CASHOUT.BOLETO.PAYMENTS.SCHEDULED` — Boleto payment scheduled for future execution\n- `CASHOUT.BOLETO.PAYMENTS.COMPLETED` — Boleto payment completed successfully\n- `CASHOUT.BOLETO.PAYMENTS.FAILED` — Boleto payment failed (authorization, void, or processing error)\n- `CASHOUT.BOLETO.PAYMENTS.SCHEDULED.FAILED` — Scheduled boleto payment failed during execution\n\n### `CASHOUT.PIX.QRCODE.PAYMENTS`\nReserved for future PIX QR code payment events. No webhook delivery yet.\n\n## Signature Verification\n\nAll webhook deliveries include cryptographic signatures in HTTP headers:\n- `Content-Type`: `application/json`\n- `x-kiwify-digital-signature`: Base64url-encoded EdDSA-Ed25519 signature (no padding)\n- `x-kiwify-timestamp`: Unix timestamp in milliseconds\n\nFetch public keys from `GET /v1/webhooks-keys` to verify webhook authenticity.\nReconstruct the signed message as `{path}:POST:{raw_body}:{timestamp}`, SHA-256 hash it, then verify with Ed25519.\n\n## Idempotency\n\n**Important**: The envelope `id` is an event identifier that changes on every retry attempt.\nDo NOT use it for deduplication.\n\nInstead, deduplicate using the resource identifiers inside `data`:\n- For transfers: `transfer_id` + event `type`\n- For QR codes: `qrcode_id` + event `type`\n- For deposits: `transaction_id` + event `type`\n- For refunds: `refund_id` + event `type`\n\nExample: If a transfer webhook is retried, you'll receive two different envelope `id` values\nbut the same `transfer_id` in the `data` payload.\n\n## Rules\n- The endpoint URL must use HTTPS.\n- A bank account can have at most 10 active webhook subscriptions.\n- Each (bank_account, endpoint_url) combination must be unique among active subscriptions.\n- At least one event type must be specified.","operationId":"create_webhook","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebhookRequest"}}},"required":true},"responses":{"201":{"description":"Webhook subscription created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebhookResponse"}}}},"400":{"description":"Invalid request: malformed JSON, wrong Content-Type, missing required fields, non-HTTPS URL, or invalid event_types. Error codes: WRONG_CONTENT_TYPE, MALFORMED_JSON, INVALID_JSON_BODY, VALIDATION_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed - invalid or missing service account credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Access denied - service account requires ManageWebhooks permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict: a subscription with this URL already exists for this account. Error code: DUPLICATE_ENDPOINT","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Unprocessable entity: the account has reached the maximum of 10 active webhook subscriptions. Error code: MAX_SUBSCRIPTIONS_REACHED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error. Error code: INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]}},"/v1/webhooks-keys":{"get":{"tags":["Webhooks"],"summary":"List Webhook Public Keys","description":"Use these keys to verify the authenticity of webhook deliveries by validating the EdDSA-Ed25519 signature.\n\n## Webhook Delivery Headers\n\nEvery webhook delivery includes these HTTP headers:\n- `Content-Type`: `application/json`\n- `x-kiwify-digital-signature`: Base64url-encoded signature (no padding)\n- `x-kiwify-timestamp`: Unix timestamp in milliseconds when the webhook was signed\n\n## Signature Verification Process\n\n1. Extract the signature and timestamp from the webhook headers\n2. Fetch the active public key from this endpoint (cache it for 24 hours)\n3. Reconstruct the signed message using the PoP format:\n   ```\n   {path}:POST:{body}:{timestamp}\n   ```\n   Where:\n   - `{path}` is only the path portion of your registered webhook URL (e.g., `/webhooks/kiwibank`)\n   - `POST` is the HTTP method (always POST for webhooks)\n   - `{body}` is the raw compact JSON body (as received, without re-serialization)\n   - `{timestamp}` is the value from the `x-kiwify-timestamp` header\n\n4. SHA-256 hash the message bytes, then verify the signature using EdDSA-Ed25519 with the public key\n5. Validate the timestamp is within 5 minutes of current time (replay attack protection)\n\n## Response Format\n- Returns public keys ordered by creation date (newest first), paginated via cursor\n- The `isActive` field indicates the currently active signing key (use this one for verification)\n- The `algorithm` field confirms the signing algorithm (EdDSA-Ed25519)\n- Use `next_cursor` to fetch the next page when present\n\nRequires `ManageWebhooks` permission.","operationId":"list_webhook_public_keys","parameters":[{"name":"limit","in":"query","description":"Maximum number of results per page (1-100, default: 20).","required":false,"schema":{"type":["integer","null"],"format":"int32","minimum":0}},{"name":"cursor","in":"query","description":"Pagination cursor in format \"timestamp_micros:id\".","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"List of public keys for webhook signature verification","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookPublicKeysResponse"}}}},"400":{"description":"Invalid query parameters (e.g., invalid cursor format, limit out of range)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed - invalid or missing service account credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Access denied - service account requires ManageWebhooks permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error. Error code: INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]}},"/v1/webhooks/{id}":{"get":{"tags":["Webhooks"],"summary":"Get Webhook Subscription by ID","description":"Retrieves a specific webhook subscription by its ID for the authenticated bank account.","operationId":"get_webhook","parameters":[{"name":"id","in":"path","description":"Webhook subscription ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Webhook subscription details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookDto"}}}},"401":{"description":"Authentication failed - invalid or missing service account credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Access denied - service account requires ManageWebhooks permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Webhook subscription not found or does not belong to this account. Error code: WEBHOOK_NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error. Error code: INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]},"delete":{"tags":["Webhooks"],"summary":"Delete Webhook Subscription","description":"This operation performs a soft delete by setting `is_active = false` and `deleted_at = NOW()`.\nThe subscription will no longer receive webhook events.\n\n## Rules\n- Only the bank account that owns the subscription can delete it.\n- Attempting to delete a subscription from another account returns 404 (not 403, to avoid leaking existence).\n- Deleting an already-deleted subscription returns 404.\n\nRequires `ManageWebhooks` permission.","operationId":"delete_webhook","parameters":[{"name":"id","in":"path","description":"Webhook subscription ID to delete","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Webhook subscription deleted successfully"},"401":{"description":"Authentication failed - invalid or missing service account credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Access denied - service account requires ManageWebhooks permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Webhook subscription not found. Error code: WEBHOOK_NOT_FOUND","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error. Error code: INTERNAL_ERROR","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"AccessId":[],"PoPChallenge":[],"PoPFormat":[],"PoPSignature":[]}]}}},"components":{"schemas":{"AccountLimitsResponse":{"type":"object","required":["account_id","currency","limits"],"properties":{"account_id":{"type":"integer","format":"int64"},"currency":{"type":"string"},"limits":{"type":"array","items":{"$ref":"#/components/schemas/LimitItem"}}}},"AccountStatus":{"type":"string","enum":["active","inactive"]},"AccountTransactionCategory":{"type":"string","enum":["credit","debit","block"]},"AccountType":{"type":"string","enum":["checking_account","savings_account","prepaid_payment_account","payment_account","other"]},"AcquiringReceivableDetailsPayload":{"type":"object","description":"Mirrors `banking_models::AcquiringReceivableDetailsPayload`. Surfaced here (not re-exported)\nto keep the public-API schema decoupled from the internal model — fields can be added or\nrenamed downstream without breaking the public contract.","required":["flow","arrangement","card_brand","settlement_type","payment_date","settlement_count","receiver_name","receiver_document_number","receiver_document_type","receiver_bank_name","receiver_bank_branch","receiver_bank_account_number","receiver_bank_account_type","receiver_bank_ispb"],"properties":{"arrangement":{"$ref":"#/components/schemas/SlcArrangement"},"card_brand":{"$ref":"#/components/schemas/CardBrand"},"flow":{"$ref":"#/components/schemas/SettlementFlow"},"payment_date":{"type":"string","format":"date","description":"Settlement date this credit covers (`YYYY-MM-DD`).","example":"2026-06-01"},"receiver_bank_account_number":{"type":"string"},"receiver_bank_account_type":{"$ref":"#/components/schemas/AccountType"},"receiver_bank_branch":{"type":"string"},"receiver_bank_ispb":{"type":"string"},"receiver_bank_name":{"type":"string"},"receiver_document_number":{"type":"string"},"receiver_document_type":{"$ref":"#/components/schemas/DocumentType"},"receiver_name":{"type":"string"},"settlement_count":{"type":"integer","format":"int32"},"settlement_type":{"$ref":"#/components/schemas/SettlementType"}}},"ActionNatureType":{"type":"string","enum":["civil","criminal","labor","fiscal","alimentary"]},"BankAccountTransferRequest":{"type":"object","required":["amount_in_cents","tax_id","ispb","branch_code","account_number","account_type"],"properties":{"account_number":{"type":"string","description":"Destination account number.","example":"123456"},"account_type":{"$ref":"#/components/schemas/PublicAccountType","description":"Destination account type (required for manual transfers).\nAccepted values: `checking_account` (Checking Account), `savings_account` (Savings Account),\n`payment_account` (Payment Account), `other_account` (Other Account)"},"amount_in_cents":{"type":"integer","format":"int64","description":"Amount in centavos (BRL). Must be >= 1.","example":25000,"minimum":1},"branch_code":{"type":"string","description":"Destination branch code.","example":"0001"},"display_description":{"type":["string","null"],"description":"Description shown to the beneficiary (max 140 characters).","example":"Pagamento fornecedor"},"external_reference_id":{"type":["string","null"],"description":"Client-provided unique reference for this transfer within the account (1–127 characters).","example":"supplier-001"},"ispb":{"type":"string","description":"Destination bank ISPB (8 digits).","example":"00000000"},"name":{"type":["string","null"],"description":"Beneficiary name (optional, but cannot be empty when provided).","example":"João Silva"},"scheduled_date":{"type":["string","null"],"format":"date","description":"Scheduled execution date (`YYYY-MM-DD`, America/São Paulo). Must be after today's date in that timezone.","example":"2026-06-01"},"tax_id":{"type":"string","description":"Beneficiary CPF or CNPJ (with or without formatting).","example":"12345678909"}}},"BatchResponse":{"type":"object","required":["id","payment_type","status","total_items","total_amount_in_cents","created_at","origin_bank_account_id"],"properties":{"allowed_tax_ids":{"type":"array","items":{"type":"string"},"description":"List of CPF/CNPJ that restricts the allowed beneficiary documents for this batch. Empty if unrestricted."},"created_at":{"type":"string","format":"date-time","description":"Batch creation timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"},"id":{"type":"integer","format":"int64"},"idempotency_key":{"type":["string","null"]},"origin_bank_account_id":{"type":"integer","format":"int64"},"payment_type":{"$ref":"#/components/schemas/PaymentTypeResponse"},"status":{"$ref":"#/components/schemas/BatchStatusResponse"},"total_amount_in_cents":{"type":"integer","format":"int64"},"total_items":{"type":"integer","format":"int32"}}},"BatchStatusResponse":{"type":"string","enum":["created","ready","scheduled","cancelled","completed","partially_failed","failed"]},"BeneficiaryResponse":{"allOf":[{"$ref":"#/components/schemas/DestinationData"},{"$ref":"#/components/schemas/ResolvedData"},{"type":"object","properties":{"name":{"type":["string","null"]},"tax_id":{"type":["string","null"]}}}]},"BoletoDetails":{"type":"object","required":["bar_code","inputtable_line","sender","receiver","assignor"],"properties":{"assignor":{"type":"string"},"bar_code":{"type":"string"},"due_date":{"type":["string","null"],"format":"date","description":"Boleto due date (`YYYY-MM-DD`).","example":"2026-06-01"},"inputtable_line":{"type":"string"},"receiver":{"$ref":"#/components/schemas/BoletoReceiverInfo"},"sender":{"$ref":"#/components/schemas/PartyInfo"}}},"BoletoDetailsPayload":{"type":"object","required":["bar_code","inputtable_line","due_date","sender","receiver","assignor"],"properties":{"assignor":{"type":"string"},"bar_code":{"type":"string"},"due_date":{"type":"string","format":"date","description":"Boleto due date (`YYYY-MM-DD`).","example":"2026-06-01"},"inputtable_line":{"type":"string"},"paid_at":{"type":["string","null"],"format":"date-time","description":"Payment confirmation timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"},"receiver":{"$ref":"#/components/schemas/PartyInfo"},"sender":{"$ref":"#/components/schemas/PartyInfo"}}},"BoletoPaymentItemResponse":{"type":"object","required":["id","status","barcode_line","tax_id","created_at"],"properties":{"amount_in_cents":{"type":["integer","null"],"format":"int64"},"barcode_line":{"type":"string"},"created_at":{"type":"string","format":"date-time","description":"Payment creation timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"},"description":{"type":["string","null"]},"external_reference_id":{"type":["string","null"]},"failed_message":{"type":["string","null"]},"id":{"type":"integer","format":"int64"},"scheduled_date":{"type":["string","null"],"format":"date","description":"Scheduled execution date (`YYYY-MM-DD`). Null when executed immediately.","example":"2026-06-01"},"status":{"$ref":"#/components/schemas/BoletoPaymentItemStatusResponse"},"tax_id":{"type":"string"},"transaction_id":{"type":["integer","null"],"format":"int64"}}},"BoletoPaymentItemStatusResponse":{"type":"string","enum":["awaiting_approval","pending","processing","success","cancelled","failed"]},"BoletoPaymentRequest":{"type":"object","required":["line","tax_id"],"properties":{"amount_in_cents":{"type":["integer","null"],"format":"int64","description":"Payment amount in centavos. Optional — if omitted, the amount is extracted from the barcode during processing.","example":11631,"minimum":1},"description":{"type":["string","null"],"description":"Payment description (1–255 characters).","example":"Pagamento boleto"},"external_reference_id":{"type":["string","null"],"description":"Client-provided unique reference for this payment within the account (1–127 characters).","example":"boleto-001"},"line":{"type":"string","description":"Boleto barcode line (47 or 48 digits). Supports standard boletos and utility bills (concessionárias).","example":"34191091070544794730971544640008884660000011631"},"scheduled_date":{"type":["string","null"],"format":"date","description":"Scheduled execution date (`YYYY-MM-DD`, America/São Paulo). Must be after today's date in that timezone.","example":"2026-06-01"},"tax_id":{"type":"string","description":"Beneficiary CPF or CNPJ (with or without formatting).","example":"12345678909"}}},"BoletoReceiverInfo":{"type":"object","required":["name"],"properties":{"document":{"type":["string","null"]},"name":{"type":"string"}}},"CardBrand":{"type":"string","description":"Card brand, normalized across all surfaces that touch acquiring or settlement (charges,\ncaptures, receivables, SLC settlement decisions). Free-text inputs from external sources\nshould be lowercased before going through [`From<&str>`]; unknown brands collapse to\n[`CardBrand::Unknown`] rather than failing so a single odd row never poisons a batch.","enum":["mastercard","visa","elo","amex","unknown"]},"CreateBoletoPaymentsRequest":{"type":"object","required":["payments"],"properties":{"allowed_tax_ids":{"type":"array","items":{"type":"string"},"description":"Optional list of CPF/CNPJ that restricts the allowed beneficiary documents for this batch.\nWhen provided, the `tax_id` in each payment must be present in the list.\nWhen empty, payments to any document are accepted."},"payments":{"type":"array","items":{"$ref":"#/components/schemas/BoletoPaymentRequest"},"description":"Boleto payments to create in this batch (1–100 items)."}},"example":{"allowed_tax_ids":["12345678909"],"payments":[{"amount_in_cents":11631,"description":"Pagamento boleto","external_reference_id":"boleto-001","line":"34191091070544794730971544640008884660000011631","tax_id":"12345678909"}]}},"CreateBoletoPaymentsResponse":{"type":"object","required":["batch","payments"],"properties":{"batch":{"$ref":"#/components/schemas/BatchResponse"},"payments":{"type":"array","items":{"$ref":"#/components/schemas/BoletoPaymentItemResponse"}}}},"CreateDynamicBrcodeRequest":{"type":"object","required":["type","amount_in_cents"],"properties":{"accept_change_value":{"type":["boolean","null"],"description":"Allows payer to change the QR code value when scanning. Defaults to false.","example":false},"allowed_tax_ids":{"type":["array","null"],"items":{"type":"string"},"description":"Optional allowlist of CPF/CNPJ (with or without formatting) that restricts which payers can use this QR code.\nLeave this null/omitted unless you specifically need to restrict who can pay. Do not set it from the buyer's\ndocument: a Pix payment may legitimately come from another account (for example, a family member) and would\nthen be rejected. When provided, only payers whose document matches one of the listed values are accepted.\nWhen omitted or null, payments from any document are accepted.","example":["012.345.678-90","45.059.493/0001-73"]},"amount_in_cents":{"type":"integer","format":"int64","description":"Amount in cents (must be greater than 0)","example":4000},"due_date":{"type":["string","null"],"format":"date","description":"Due date in `YYYY-MM-DD` format. Required for DUE_DATE type.","example":"2026-06-01"},"expiration":{"type":["integer","null"],"format":"int32","description":"Expiration time in seconds for INSTANT type. Defaults to 86400 (24 hours).","example":86400,"minimum":0},"external_reference_id":{"type":["string","null"],"description":"External unique identifier for client's own tracking. **Must be unique per account if provided.**","example":"external-ref-123"},"payer_data":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/PayerData","description":"Payer information. Optional for INSTANT type, required for DUE_DATE type."}]},"type":{"$ref":"#/components/schemas/QRCodeType","description":"QR Code type: INSTANT or DUE_DATE"}}},"CreateDynamicBrcodeResponse":{"type":"object","required":["id","copy_paste","picture_code_base64"],"properties":{"copy_paste":{"type":"string","description":"PIX copy-paste code (BR Code)","example":"00020126..."},"external_reference_id":{"type":["string","null"],"description":"External reference ID provided by the client (if any)","example":"order-12345"},"id":{"type":"string","format":"uuid","description":"Unique QR Code identifier"},"picture_code_base64":{"type":"string","description":"QR Code image in base64 format"}}},"CreateRefundRequest":{"type":"object","required":["transaction_id"],"properties":{"amount_in_cents":{"type":["integer","null"],"format":"int64","description":"Refund amount in centavos. Optional — if omitted, defaults to 0 and is determined during async processing.","example":15000,"minimum":1},"external_reference_id":{"type":["string","null"],"description":"Client-provided unique reference for this refund within the account (1–127 characters).","example":"refund-001"},"message_to_payer":{"type":["string","null"],"description":"Message sent to the original payer (1–255 characters).","example":"Devolução parcial"},"transaction_id":{"type":"integer","format":"int64","description":"Identifier of the original PIX transaction to refund.","example":123456789}},"example":{"amount_in_cents":15000,"external_reference_id":"refund-001","message_to_payer":"Devolução parcial","transaction_id":123456789}},"CreateTransfersRequest":{"type":"object","required":["transfers"],"properties":{"allowed_tax_ids":{"type":"array","items":{"type":"string"},"description":"Optional list of CPF/CNPJ that restricts the allowed beneficiary documents for this batch.\nFor `pix_key` transfers: the document resolved from the PIX key must match one of the listed values.\nFor `bank_account` transfers: the `tax_id` provided in the transfer must be present in the list.\nWhen empty, transfers to any document are accepted."},"transfers":{"type":"array","items":{"$ref":"#/components/schemas/TransferRequest"},"description":"Transfers to create in this batch (1–100 items)."}},"example":{"allowed_tax_ids":["12345678909"],"transfers":[{"amount_in_cents":15000,"display_description":"Pagamento fornecedor","external_reference_id":"payroll-2026-05-001","pix_key":"12345678901","pix_key_type":"cpf","type":"pix_key"},{"account_number":"123456","account_type":"payment_account","amount_in_cents":25000,"branch_code":"0001","external_reference_id":"supplier-001","ispb":"00000000","name":"João Silva","tax_id":"12345678909","type":"bank_account"}]}},"CreateTransfersResponse":{"type":"object","required":["batch","transfers"],"properties":{"batch":{"$ref":"#/components/schemas/BatchResponse","description":"Batch metadata for the created transfers."},"transfers":{"type":"array","items":{"$ref":"#/components/schemas/TransferItemResponse"},"description":"Individual transfer items in the batch."}}},"CreateWebhookRequest":{"type":"object","description":"Request body for creating a webhook subscription.","required":["url","event_types"],"properties":{"event_types":{"type":"array","items":{"$ref":"#/components/schemas/WebhookEventTypeDoc"},"description":"List of event types to subscribe to. At least one is required.","example":["CASHIN.PIX.QRCODES","CASHIN.DEPOSITS"]},"url":{"type":"string","description":"HTTPS endpoint URL that will receive webhook event notifications.\nMust be a valid HTTPS URL with a maximum length of 2048 characters.","example":"https://empresa.com/empresa_webhook"}}},"CreateWebhookResponse":{"type":"object","description":"Response returned after successfully creating a webhook subscription.","required":["message","webhook"],"properties":{"message":{"type":"string","description":"Human-readable confirmation message.","example":"Webhook successfully created"},"webhook":{"$ref":"#/components/schemas/WebhookDto","description":"The newly created webhook subscription."}}},"DestinationData":{"oneOf":[{"type":"object","required":["pix_key"],"properties":{"pix_key":{"type":"string"}}},{"type":"object","required":["ispb","branch_code","account_number"],"properties":{"account_number":{"type":"string"},"account_type":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/PublicAccountType"}]},"branch_code":{"type":"string"},"ispb":{"type":"string"}}}]},"DictKeyClaimInfo":{"type":"object","required":["id","claim_type","status","role","ispb","resolution_deadline"],"properties":{"claim_type":{"$ref":"#/components/schemas/PixClaimType"},"completion_deadline":{"type":["string","null"],"format":"date-time","description":"Claim completion deadline (UTC, RFC 3339), when applicable.","example":"2026-05-28T14:30:00Z"},"id":{"type":"integer","format":"int64"},"ispb":{"type":"string"},"resolution_deadline":{"type":"string","format":"date-time","description":"Claim resolution deadline (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"},"role":{"$ref":"#/components/schemas/PixClaimRole"},"status":{"$ref":"#/components/schemas/PixClaimStatus"}}},"DictKeyItemResponse":{"type":"object","required":["key_value","key_type","created_at"],"properties":{"claim":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DictKeyClaimInfo"}]},"created_at":{"type":"string","format":"date-time","description":"PIX key registration timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"},"key_type":{"$ref":"#/components/schemas/DictKeyType"},"key_value":{"type":"string"}}},"DictKeyType":{"type":"string","enum":["cpf","cnpj","email","phone","evp"]},"DocumentType":{"type":"string","enum":["cpf","cnpj"]},"DynamicQrcodeItemResponse":{"type":"object","required":["id","type","status","copy_paste_code","picture_code_base64","created_at","updated_at"],"properties":{"copy_paste_code":{"type":"string","description":"PIX copy-paste code (BR Code)","example":"00020126..."},"created_at":{"type":"string","format":"date-time","description":"QR Code creation timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"},"external_reference_id":{"type":["string","null"],"description":"External reference ID provided by the client (if any)","example":"order-12345"},"id":{"type":"string","format":"uuid","description":"Unique QR Code identifier"},"picture_code_base64":{"type":"string","description":"QR Code image in base64 format"},"status":{"$ref":"#/components/schemas/QRCodeStatus","description":"QR Code status: active, cancelled, or completed"},"transaction_id":{"type":["integer","null"],"format":"int64","description":"ID of the most recent transaction that paid this QR code.","example":880123},"type":{"$ref":"#/components/schemas/QRCodeType","description":"QR Code type: INSTANT or DUE_DATE"},"updated_at":{"type":"string","format":"date-time","description":"QR Code last update timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"}}},"ErrorDetails":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code. Use this for branching logic, not `message`.","example":"INVALID_REQUEST"},"details":{"type":"object","description":"Optional structured details. For `INVALID_REQUEST`, may be an array of field validation errors or a `validation_failed` object depending on the endpoint."},"message":{"type":"string","description":"Human-readable error description. Do not rely on this text for programmatic handling."}}},"ErrorResponse":{"type":"object","required":["error","timestamp"],"properties":{"error":{"$ref":"#/components/schemas/ErrorDetails","description":"Error payload."},"timestamp":{"type":"string","format":"date-time","description":"ISO 8601 / RFC 3339 UTC timestamp of when the error occurred.","example":"2026-05-28T14:30:00Z"}}},"ExternalApiAccountDto":{"type":"object","required":["id","branch","account_number","account_name","account_type","balance","status","created_at","updated_at","legal_entity"],"properties":{"account_name":{"type":"string"},"account_number":{"type":"string"},"account_type":{"$ref":"#/components/schemas/AccountType"},"balance":{"$ref":"#/components/schemas/ExternalApiBalanceDto"},"branch":{"type":"string"},"created_at":{"type":"string","format":"date-time","description":"Account creation timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"},"id":{"type":"integer","format":"int64"},"legal_entity":{"$ref":"#/components/schemas/ExternalApiLegalEntityDto"},"status":{"$ref":"#/components/schemas/AccountStatus"},"updated_at":{"type":"string","format":"date-time","description":"Account last update timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"}}},"ExternalApiAccountsResponse":{"type":"object","required":["accounts"],"properties":{"accounts":{"type":"array","items":{"$ref":"#/components/schemas/ExternalApiAccountDto"}}}},"ExternalApiAddressDto":{"type":"object","required":["street","number","neighborhood","city","state","postal_code","country"],"properties":{"city":{"type":"string"},"complement":{"type":["string","null"]},"country":{"type":"string"},"neighborhood":{"type":"string"},"number":{"type":"string"},"postal_code":{"type":"string"},"state":{"type":"string"},"street":{"type":"string"}}},"ExternalApiBalance":{"type":"object","required":["id","amount_in_cents","currency","updated"],"properties":{"amount_in_cents":{"type":"integer","format":"int64"},"currency":{"type":"string"},"id":{"type":"string"},"updated":{"type":"string","format":"date-time","description":"Balance last update timestamp (UTC, RFC 3339). Reflects the most recent transaction or balance change.","example":"2026-05-28T14:30:00Z"}}},"ExternalApiBalanceDto":{"type":"object","required":["amount_in_cents","currency"],"properties":{"amount_in_cents":{"type":"integer","format":"int64"},"currency":{"type":"string"}}},"ExternalApiBalanceResponse":{"type":"object","required":["account"],"properties":{"account":{"$ref":"#/components/schemas/ExternalApiBalance"}}},"ExternalApiIncomingInfractionListItem":{"type":"object","required":["id","transaction_id","end_to_end_id","situation_type","status","original_amount_in_cents","infraction_amount_in_cents","refunded_amount_in_cents","protocol","created_at"],"properties":{"created_at":{"type":"string","format":"date-time","description":"Infraction creation timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"},"end_to_end_id":{"type":"string"},"id":{"type":"integer","format":"int64"},"infraction_amount_in_cents":{"type":"integer","format":"int64"},"original_amount_in_cents":{"type":"integer","format":"int64"},"payer":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TransactionParty"}]},"protocol":{"type":"string"},"receiver":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TransactionParty"}]},"refunded_amount_in_cents":{"type":"integer","format":"int64"},"situation_type":{"$ref":"#/components/schemas/MedOriginType"},"status":{"$ref":"#/components/schemas/PublicMedInfractionStatus"},"transaction_id":{"type":"integer","format":"int64"}}},"ExternalApiInternalDisputeDetails":{"type":"object","description":"Public-API representation of an `InternalDispute` ledger movement (Block / Unblock / Return).\n\nInternal disputes never cross BACEN — both parties are Kiwify accounts — so the payload\nonly carries the contested-Pix context (already masked) plus the dispute identifiers. No\n`pix_details` (role-swapped SPI payload) field, unlike Med, because there's no SPI leg.","required":["operation_type","dispute_id","original_transaction_id"],"properties":{"dispute_id":{"type":"integer","format":"int64"},"operation_type":{"$ref":"#/components/schemas/InternalDisputeOperationType"},"original_pix_details":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/PixDetailsPayload","description":"Original Pix the dispute refers to. The counterparty CPF is masked; the side that gets\nmasked depends on the leg: receiver-side rows (Block, Unblock, Return cashout) mask the\npayer doc; the disputer's Return cashin leg masks the receiver doc. See\n`convert_internal_dispute_details`."}]},"original_transaction_id":{"type":"integer","format":"int64"}}},"ExternalApiLegalEntityDto":{"type":"object","required":["legal_name","tax_id","address"],"properties":{"address":{"$ref":"#/components/schemas/ExternalApiAddressDto"},"legal_name":{"type":"string"},"tax_id":{"$ref":"#/components/schemas/ExternalApiTaxIdDto"},"trading_name":{"type":["string","null"]}}},"ExternalApiMedDetails":{"type":"object","required":["operation_type","infraction_id","infraction_external_id","original_end_to_end_id"],"properties":{"infraction_external_id":{"type":"string"},"infraction_id":{"type":"integer","format":"int64"},"is_root_receiver":{"type":["boolean","null"]},"operation_type":{"$ref":"#/components/schemas/MedOperationType"},"original_end_to_end_id":{"type":"string"},"original_pix_details":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/PixDetailsPayload","description":"Original cashin context for Return (root receiver). Counterparty CPF is masked."}]},"pix_details":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/PixDetailsPayload","description":"Role-swapped PIX payload SPI uses for the Return pacs.008 path. Counterparty CPF is masked."}]}}},"ExternalApiMedDispute":{"type":"object","required":["id","transaction_id","end_to_end_id","status","infraction_status","original_amount_in_cents","refunded_amount_in_cents","created_at","original_transaction"],"properties":{"cancellation_requested_at":{"type":["string","null"],"format":"date-time","description":"Timestamp when cancellation was requested (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"},"created_at":{"type":"string","format":"date-time","description":"Dispute creation timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"},"deadline":{"type":["string","null"],"format":"date-time","description":"Response deadline (UTC, RFC 3339). Derived from funds recovery `external_created_at` + 7 days when available.","example":"2026-05-28T14:30:00Z"},"end_to_end_id":{"type":"string"},"funds_recovery":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ExternalApiMedFundsRecovery"}]},"id":{"type":"integer","format":"int64"},"infraction_status":{"$ref":"#/components/schemas/OutgoingInfractionStatus","description":"How the contested PSPs analysed the contestation — orthogonal to `status`."},"original_amount_in_cents":{"type":"integer","format":"int64"},"original_transaction":{"$ref":"#/components/schemas/ExternalApiMedOriginalTransactionSummary"},"refunded_amount_in_cents":{"type":"integer","format":"int64"},"status":{"$ref":"#/components/schemas/PublicMedDisputeStatus"},"transaction_id":{"type":"integer","format":"int64"}}},"ExternalApiMedFundsRecovery":{"type":"object","required":["external_id","status"],"properties":{"closed_at":{"type":["string","null"],"format":"date-time","description":"BACEN funds recovery closure timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"},"contact_email":{"type":["string","null"]},"contact_phone":{"type":["string","null"]},"external_created_at":{"type":["string","null"],"format":"date-time","description":"BACEN funds recovery creation timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"},"external_id":{"type":"string"},"external_last_modified_at":{"type":["string","null"],"format":"date-time","description":"BACEN funds recovery last modification timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"},"report_details":{"type":["string","null"]},"reporter_participant":{"type":["string","null"]},"root_transaction_id":{"type":["string","null"]},"situation_type":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/MedOriginType"}]},"status":{"$ref":"#/components/schemas/MedFundsRecoveryStatus"}}},"ExternalApiMedInfraction":{"type":"object","required":["id","transaction_id","end_to_end_id","status","situation_type","original_amount_in_cents","infraction_amount_in_cents","refunded_amount_in_cents","created_at","original_transaction"],"properties":{"created_at":{"type":"string","format":"date-time","description":"Infraction creation timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"},"deadline":{"type":["string","null"],"format":"date-time","description":"Response deadline (UTC, RFC 3339). Derived from funds recovery `external_created_at` + 7 days when available.","example":"2026-05-28T14:30:00Z"},"end_to_end_id":{"type":"string"},"funds_recovery":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ExternalApiMedFundsRecovery"}]},"id":{"type":"integer","format":"int64"},"infraction_amount_in_cents":{"type":"integer","format":"int64","description":"Contested amount. Differs from `original_amount_in_cents` when the claim is partial."},"original_amount_in_cents":{"type":"integer","format":"int64"},"original_transaction":{"$ref":"#/components/schemas/ExternalApiMedOriginalTransactionSummary"},"refunded_amount_in_cents":{"type":"integer","format":"int64"},"situation_type":{"$ref":"#/components/schemas/MedOriginType","description":"Named to match `ExternalApiIncomingInfractionListItem::situation_type`, which projects the\nsame `origin_type` column. Unlike `funds_recovery.situation_type` this is always present."},"status":{"$ref":"#/components/schemas/PublicMedInfractionStatus"},"transaction_id":{"type":"integer","format":"int64"}}},"ExternalApiMedOriginalTransactionSummary":{"type":"object","required":["created_at"],"properties":{"counterparty_name":{"type":["string","null"]},"created_at":{"type":"string","format":"date-time","description":"Original transaction creation timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"}}},"ExternalApiOutgoingDisputeListItem":{"type":"object","required":["id","transaction_id","end_to_end_id","status","infraction_status","original_amount_in_cents","refunded_amount_in_cents","protocol","created_at"],"properties":{"cancellation_requested_at":{"type":["string","null"],"format":"date-time","description":"Cancellation request timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"},"created_at":{"type":"string","format":"date-time","description":"Dispute creation timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"},"end_to_end_id":{"type":"string"},"id":{"type":"integer","format":"int64"},"infraction_status":{"$ref":"#/components/schemas/OutgoingInfractionStatus","description":"How the contested PSPs analysed the contestation — orthogonal to `status`."},"original_amount_in_cents":{"type":"integer","format":"int64"},"payer":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TransactionParty"}]},"protocol":{"type":"string"},"receiver":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TransactionParty"}]},"refunded_amount_in_cents":{"type":"integer","format":"int64"},"situation_type":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/MedOriginType"}]},"status":{"$ref":"#/components/schemas/PublicMedDisputeStatus"},"transaction_id":{"type":"integer","format":"int64"}}},"ExternalApiRefundDetails":{"oneOf":[{"type":"object","required":["value","type"],"properties":{"type":{"type":"string","enum":["Pix"]},"value":{"$ref":"#/components/schemas/PixDetailsPayload"}}},{"type":"object","required":["value","type"],"properties":{"type":{"type":"string","enum":["Boleto"]},"value":{"$ref":"#/components/schemas/BoletoDetailsPayload"}}},{"type":"object","required":["value","type"],"properties":{"type":{"type":"string","enum":["AcquiringReceivable"]},"value":{"$ref":"#/components/schemas/AcquiringReceivableDetailsPayload"}}}]},"ExternalApiTaxIdDto":{"type":"object","required":["number"],"properties":{"number":{"type":"string"}}},"ExternalApiTransactionDetails":{"oneOf":[{"type":"object","required":["value","type"],"properties":{"type":{"type":"string","enum":["Pix"]},"value":{"$ref":"#/components/schemas/PixDetailsPayload"}}},{"type":"object","required":["value","type"],"properties":{"type":{"type":"string","enum":["Boleto"]},"value":{"$ref":"#/components/schemas/BoletoDetailsPayload"}}},{"type":"object","required":["value","type"],"properties":{"type":{"type":"string","enum":["Refund"]},"value":{"$ref":"#/components/schemas/RefundDetailsPayload"}}},{"type":"object","required":["value","type"],"properties":{"type":{"type":"string","enum":["Judicial"]},"value":{"$ref":"#/components/schemas/JudicialDetailsResponse"}}},{"type":"object","required":["value","type"],"properties":{"type":{"type":"string","enum":["Med"]},"value":{"$ref":"#/components/schemas/ExternalApiMedDetails"}}},{"type":"object","required":["value","type"],"properties":{"type":{"type":"string","enum":["InternalDispute"]},"value":{"$ref":"#/components/schemas/ExternalApiInternalDisputeDetails"}}}]},"ExternalApiTransactionDto":{"type":"object","required":["id","type","status","category","amount_in_cents","end_to_end_id","description","created_at","details"],"properties":{"amount_in_cents":{"type":"integer","format":"int64","description":"Transaction amount in centavos. Positive for credits, negative for debits."},"category":{"$ref":"#/components/schemas/AccountTransactionCategory","description":"Transaction category."},"completed_at":{"type":["string","null"],"format":"date-time","description":"Transaction completion timestamp (UTC, RFC 3339). Null while pending.","example":"2026-05-28T14:30:00Z"},"counterparty":{"type":["string","null"],"description":"Counterparty name, when available."},"created_at":{"type":"string","format":"date-time","description":"Transaction creation timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"},"description":{"type":"string","description":"Human-readable transaction description."},"details":{"$ref":"#/components/schemas/ExternalApiTransactionDetails","description":"Type-specific transaction details."},"end_to_end_id":{"type":"string","description":"End-to-End (E2E) identifier of the PIX in the Central Bank's Instant Payment System.\nFormat: `E{ISPB}{YYYYMMDD}{HHmmss}{UniqueID}` (e.g.: E323070002024011012345612345678901234).\nUsed for tracking, reconciliation, and proof of PIX transactions.","example":"E323070002024011012345612345678901234"},"id":{"type":"integer","format":"int64","description":"Transaction identifier."},"med":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ExternalApiTransactionMedInfo","description":"MED dispute/infraction context, when applicable."}]},"status":{"$ref":"#/components/schemas/TransactionStatus","description":"Transaction status."},"type":{"type":"string","description":"Transaction type (e.g., `pix_transfer`, `boleto_payment`)."}}},"ExternalApiTransactionMedInfo":{"type":"object","required":["can_be_disputed"],"properties":{"can_be_disputed":{"type":"boolean"},"incoming_infraction":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ExternalApiMedInfraction"}]},"outgoing_dispute":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ExternalApiMedDispute"}]}}},"ExternalApiTransactionsResponse":{"type":"object","required":["transactions"],"properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results. Null when there are no more results."},"transactions":{"type":"array","items":{"$ref":"#/components/schemas/ExternalApiTransactionDto"},"description":"List of transactions matching the query filters."}}},"ExternalGetScheduledPaymentsQuery":{"type":"object","properties":{"cursor":{"type":["string","null"]},"limit":{"type":["integer","null"],"format":"int32","minimum":0},"status":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ScheduledPaymentStatus"}]}}},"ExternalGetScheduledPaymentsResponse":{"type":"object","required":["scheduled_payments"],"properties":{"next_cursor":{"type":["string","null"]},"scheduled_payments":{"type":"array","items":{"$ref":"#/components/schemas/ExternalScheduledPaymentItem"}}}},"ExternalScheduledPaymentDetails":{"type":"object","required":["id","type","status","amount_in_cents","receiver","scheduled_date","created_at","details"],"properties":{"amount_in_cents":{"type":"integer","format":"int64"},"cancelled_at":{"type":["string","null"],"format":"date-time","description":"Cancellation timestamp (UTC, RFC 3339), if cancelled.","example":"2026-05-28T14:30:00Z"},"created_at":{"type":"string","format":"date-time","description":"Record creation timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"},"details":{"$ref":"#/components/schemas/ExternalScheduledPaymentDetailsPayload"},"executed_at":{"type":["string","null"],"format":"date-time","description":"Execution timestamp (UTC, RFC 3339). Null until processed.","example":"2026-05-28T14:30:00Z"},"id":{"type":"integer","format":"int64"},"receiver":{"type":"string"},"scheduled_date":{"type":"string","format":"date","description":"Scheduled execution date (`YYYY-MM-DD`).","example":"2026-06-01"},"status":{"$ref":"#/components/schemas/ScheduledPaymentStatus"},"transaction_id":{"type":["integer","null"],"format":"int64"},"type":{"type":"string","example":"pix"},"updated_at":{"type":["string","null"],"format":"date-time","description":"Last update timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"}}},"ExternalScheduledPaymentDetailsPayload":{"oneOf":[{"$ref":"#/components/schemas/PixDetails"},{"$ref":"#/components/schemas/BoletoDetails"}]},"ExternalScheduledPaymentItem":{"type":"object","required":["id","type","status","amount_in_cents","receiver","scheduled_date","created_at"],"properties":{"amount_in_cents":{"type":"integer","format":"int64"},"created_at":{"type":"string","format":"date-time","description":"Record creation timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"},"executed_at":{"type":["string","null"],"format":"date-time","description":"Execution timestamp (UTC, RFC 3339). Null until the payment is processed.","example":"2026-05-28T14:30:00Z"},"id":{"type":"integer","format":"int64"},"receiver":{"type":"string"},"scheduled_date":{"type":"string","format":"date","description":"Scheduled execution date (`YYYY-MM-DD`).","example":"2026-06-01"},"status":{"$ref":"#/components/schemas/ScheduledPaymentStatus"},"transaction_id":{"type":["integer","null"],"format":"int64"},"type":{"type":"string","example":"pix"}}},"FieldErrorDetails":{"type":"object","required":["validation_failed"],"properties":{"validation_failed":{"type":"array","items":{"$ref":"#/components/schemas/FieldValidationError"},"description":"List of field-level validation errors."}}},"FieldValidationError":{"type":"object","required":["field","message"],"properties":{"field":{"type":"string","description":"JSON path of the invalid field (e.g., `transfers.0.amount_in_cents`).","example":"transfers.0.amount_in_cents"},"message":{"type":"string","description":"Validation error message for the field.","example":"Amount must be positive"}}},"GetAccountTransactionsQuery":{"type":"object","properties":{"after":{"type":["string","null"],"format":"date-time","description":"Return transactions created after this instant (UTC, RFC 3339). Exclusive lower bound.","example":"2026-05-01T00:00:00Z"},"before":{"type":["string","null"],"format":"date-time","description":"Return transactions created before this instant (UTC, RFC 3339). Exclusive upper bound.","example":"2026-05-28T23:59:59Z"},"cursor":{"type":["string","null"],"description":"Pagination cursor (`\"<unix_micros>:<transaction_id>\"`). Opaque token from a previous response's pagination metadata."},"limit":{"type":["integer","null"],"format":"int32","minimum":0},"search_term":{"type":["string","null"]}}},"GetBoletoPaymentsQuery":{"type":"object","properties":{"cursor":{"type":["string","null"],"description":"Pagination cursor in format \"timestamp_micros:id\""},"external_reference_id":{"type":["string","null"],"description":"Filter by external reference ID (exact match)"},"limit":{"type":["integer","null"],"format":"int32","description":"Maximum number of results per page (1–100, default: 20).","example":20,"maximum":100,"minimum":1},"transaction_id":{"type":["integer","null"],"format":"int64","description":"Filter by transaction ID (exact match)"}}},"GetBoletoPaymentsResponse":{"type":"object","required":["payments"],"properties":{"next_cursor":{"type":["string","null"]},"payments":{"type":"array","items":{"$ref":"#/components/schemas/BoletoPaymentItemResponse"}}}},"GetDynamicQrcodeDetailsResponse":{"type":"object","required":["id","type","status","amount_in_cents","accept_change_value","copy_paste_code","picture_code_base64","allowed_tax_ids","created_at","updated_at"],"properties":{"accept_change_value":{"type":"boolean","description":"Allows payer to change the QR code value when scanning","example":false},"allowed_tax_ids":{"type":"array","items":{"type":"string"},"description":"List of CPF/CNPJ allowed to pay this QR code. Empty if unrestricted.","example":["012.345.678-90","45.059.493/0001-73"]},"amount_in_cents":{"type":"integer","format":"int64","description":"Amount in cents","example":4000},"copy_paste_code":{"type":"string","description":"PIX copy-paste code (BR Code)","example":"00020126..."},"created_at":{"type":"string","format":"date-time","description":"QR Code creation timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"},"due_date":{"type":["string","null"],"format":"date","description":"Due date (`YYYY-MM-DD`). Present for DUE_DATE type QR codes.","example":"2026-06-01"},"external_reference_id":{"type":["string","null"],"description":"External reference ID provided by the client (if any)","example":"order-12345"},"id":{"type":"string","format":"uuid","description":"Unique QR Code identifier"},"payer_data":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/PayerData","description":"Payer information (required for DUE_DATE type)"}]},"picture_code_base64":{"type":"string","description":"QR Code image in base64 format"},"status":{"$ref":"#/components/schemas/QRCodeStatus","description":"QR Code status: active, cancelled, or completed"},"transaction":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ExternalApiTransactionDto","description":"Most recent transaction that paid this QR code."}]},"type":{"$ref":"#/components/schemas/QRCodeType","description":"QR Code type: INSTANT or DUE_DATE"},"updated_at":{"type":"string","format":"date-time","description":"QR Code last update timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"}}},"GetDynamicQrcodesQuery":{"type":"object","properties":{"cursor":{"type":["string","null"],"description":"Cursor for pagination"},"external_reference_id":{"type":["string","null"],"description":"External reference identifier to filter QR codes"},"limit":{"type":["integer","null"],"format":"int32","description":"Maximum number of QR codes to return (1-100, default: 20)","minimum":0},"transaction_id":{"type":["integer","null"],"format":"int64","description":"Filter to QR codes whose most recent payment has this transaction ID."}}},"GetDynamicQrcodesResponse":{"type":"object","required":["qrcodes"],"properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results. If null, there are no more results."},"qrcodes":{"type":"array","items":{"$ref":"#/components/schemas/DynamicQrcodeItemResponse"},"description":"List of dynamic QR codes"}}},"GetRefundsQuery":{"type":"object","properties":{"cursor":{"type":["string","null"],"description":"Cursor for pagination (format: timestamp_micros:id)"},"external_reference_id":{"type":["string","null"],"description":"External reference identifier to filter refunds"},"limit":{"type":["integer","null"],"format":"int32","description":"Maximum number of refunds to return (1–100, default: 20)","example":20,"maximum":100,"minimum":1},"original_transaction_id":{"type":["integer","null"],"format":"int64","description":"Original transaction identifier to filter refunds (exact match)"}}},"GetRefundsResponse":{"type":"object","required":["refunds"],"properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for the next page of results. If null, there are no more results."},"refunds":{"type":"array","items":{"$ref":"#/components/schemas/RefundItemResponse"},"description":"List of refunds"}}},"GetTransfersQuery":{"type":"object","properties":{"cursor":{"type":["string","null"],"description":"Pagination cursor in format \"timestamp_micros:id\""},"external_reference_id":{"type":["string","null"],"description":"Filter by external reference ID (exact match)"},"limit":{"type":["integer","null"],"format":"int32","description":"Maximum number of results per page (1–100, default: 20).","example":20,"maximum":100,"minimum":1},"transaction_id":{"type":["integer","null"],"format":"int64","description":"Filter by transaction ID (exact match)"}}},"GetTransfersResponse":{"type":"object","required":["transfers"],"properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for next page (null if no more results)"},"transfers":{"type":"array","items":{"$ref":"#/components/schemas/TransferItemResponse"},"description":"List of transfer items"}}},"InternalDisputeOperationType":{"type":"string","enum":["Block","Unblock","Return"]},"JudicialDetailsResponse":{"type":"object","required":["protocol_id","operation_type"],"properties":{"action_nature_type":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ActionNatureType"}]},"judicial_process_number":{"type":["string","null"]},"operation_type":{"$ref":"#/components/schemas/JudicialOperationType"},"protocol_id":{"type":"string"}}},"JudicialOperationType":{"type":"string","enum":["Block","Unblock","Return"]},"LimitItem":{"type":"object","required":["type","description","total_in_cents","used_in_cents","available_in_cents"],"properties":{"available_in_cents":{"type":"integer","format":"int64"},"description":{"type":"string"},"total_in_cents":{"type":"integer","format":"int64"},"type":{"type":"string"},"used_in_cents":{"type":"integer","format":"int64"}}},"ListExternalApiIncomingInfractionsQuery":{"type":"object","properties":{"cursor":{"type":["string","null"]},"limit":{"type":["integer","null"],"format":"int64"},"status":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/PublicMedInfractionStatus"}]}}},"ListExternalApiIncomingInfractionsResponse":{"type":"object","required":["incoming_infractions"],"properties":{"incoming_infractions":{"type":"array","items":{"$ref":"#/components/schemas/ExternalApiIncomingInfractionListItem"}},"next_cursor":{"type":["string","null"]}}},"ListExternalApiOutgoingDisputesQuery":{"type":"object","properties":{"cursor":{"type":["string","null"]},"infraction_status":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/OutgoingInfractionStatus","description":"Filter by the infraction-analysis status (a different axis from `status`)."}]},"limit":{"type":["integer","null"],"format":"int64"},"status":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/PublicMedDisputeStatus"}]}}},"ListExternalApiOutgoingDisputesResponse":{"type":"object","required":["outgoing_disputes"],"properties":{"next_cursor":{"type":["string","null"]},"outgoing_disputes":{"type":"array","items":{"$ref":"#/components/schemas/ExternalApiOutgoingDisputeListItem"}}}},"ListWebhookPublicKeysQuery":{"type":"object","description":"Query parameters for listing webhook public keys.","properties":{"cursor":{"type":["string","null"],"description":"Pagination cursor in format \"timestamp_micros:id\"."},"limit":{"type":["integer","null"],"format":"int32","description":"Maximum number of results per page (1-100, default: 20).","minimum":0}}},"ListWebhooksResponse":{"type":"object","description":"Response containing the list of webhook subscriptions.","required":["webhooks"],"properties":{"webhooks":{"type":"array","items":{"$ref":"#/components/schemas/WebhookDto"},"description":"List of webhook subscriptions for the authenticated account."}}},"MedFundsRecoveryStatus":{"type":"string","enum":["created","tracked","awaiting_analysis","analysed","refunding","completed","cancelled"]},"MedOperationType":{"type":"string","enum":["Block","Unblock","Return"]},"MedOriginType":{"type":"string","description":"Situation type from DICT API (SituationType).\nSet by the creator PSP when creating the Recuperação de Valores.","enum":["scam_fraud","unauthorized_transaction","coercion_crime","fraudulent_access","others","unknown"]},"OutgoingInfractionStatus":{"type":"string","description":"Derived, per-dispute view of how the contested PSPs analysed the contestation.\nComputed from the dispute's linked `med_outgoing_infractions`","enum":["pending","accepted","rejected","cancelled"]},"PartyInfo":{"type":"object","required":["name","document","bank","bank_code","account_number","account_type"],"properties":{"account_number":{"type":"string"},"account_type":{"$ref":"#/components/schemas/AccountType"},"bank":{"type":"string"},"bank_code":{"type":"string"},"document":{"type":"string"},"name":{"type":"string"}}},"PayerData":{"type":"object","required":["name","document_number","document_type"],"properties":{"document_number":{"type":"string","description":"Payer CPF or CNPJ (with or without formatting)","example":"012.345.678-90"},"document_type":{"$ref":"#/components/schemas/DocumentType","description":"Payer document type. \"cpf\"/\"CPF\" or \"cnpj\"/\"CNPJ\""},"name":{"type":"string","description":"Payer full name","example":"João Silva"}}},"PaymentTypeResponse":{"type":"string","enum":["pix_transfer","boleto_payment"]},"PixClaimRole":{"type":"string","enum":["claimer","donor"]},"PixClaimStatus":{"type":"string","enum":["pending_user_confirmation","open","waiting_resolution","confirmed","cancelled","completed"]},"PixClaimType":{"type":"string","enum":["portability","possession"]},"PixDetails":{"type":"object","required":["pix_type","sender","receiver","end_to_end_id"],"properties":{"end_to_end_id":{"type":"string"},"message":{"type":["string","null"]},"pix_key":{"type":["string","null"]},"pix_type":{"type":"string"},"receiver":{"$ref":"#/components/schemas/PartyInfo"},"sender":{"$ref":"#/components/schemas/PartyInfo"}}},"PixDetailsPayload":{"type":"object","required":["pix_type","sender","receiver"],"properties":{"message":{"type":["string","null"]},"pix_key":{"type":["string","null"]},"pix_type":{"$ref":"#/components/schemas/PixType"},"receiver":{"$ref":"#/components/schemas/PartyInfo"},"sender":{"$ref":"#/components/schemas/PartyInfo"}}},"PixKeyTransferRequest":{"type":"object","required":["amount_in_cents","pix_key"],"properties":{"amount_in_cents":{"type":"integer","format":"int64","description":"Amount in centavos (BRL). Must be >= 1.","example":15000,"minimum":1},"display_description":{"type":["string","null"],"description":"Description shown to the beneficiary (max 140 characters).","example":"Pagamento fornecedor"},"external_reference_id":{"type":["string","null"],"description":"Client-provided unique reference for this transfer within the account (1–127 characters).","example":"payroll-2026-05-001"},"pix_key":{"type":"string","description":"The PIX key (DICT entry) to pay. Examples by type:\n- **CPF** (document, digits only — no punctuation): `12345678901`\n- **CNPJ** (document, digits only — no punctuation): `12345678901234`\n- **PHONE** (E.164: `+`, country code, number — no spaces/parentheses/dashes): `+5510998765432`\n- **EMAIL** (lowercase, max 77 chars): `pix@bcb.gov.br`\n- **EVP** (random key generated by DICT): `123e4567-e89b-12d3-a456-426655440000`\n\nDocument numbers (CPF/CNPJ) must be sent **without punctuation** and phones must follow the\npattern above. Counter-example: `(10) 10998765432` is **invalid** (compare with `+5510998765432`).","example":"12345678901"},"pix_key_type":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DictKeyType","description":"Optional. Pins the expected PIX key type so the key is validated against that type's rules\nonly. Accepted values: `cpf`, `cnpj`, `email`, `phone`, `evp`. When omitted, the key is\nvalidated against all supported rules."}]},"scheduled_date":{"type":["string","null"],"format":"date","description":"Scheduled execution date (`YYYY-MM-DD`, America/São Paulo). Must be after today's date in that timezone.","example":"2026-06-01"}},"additionalProperties":false},"PixType":{"type":"string","enum":["Manual","Key","QRCode"]},"PublicAccountType":{"type":"string","description":"Account types allowed in the Public API.\nchecking_account, savings_account, payment_account, and other_account are supported.","enum":["checking_account","savings_account","payment_account","other_account"]},"PublicMedDisputeStatus":{"type":"string","enum":["pending","completed","cancelled"]},"PublicMedInfractionStatus":{"type":"string","enum":["pending","completed","cancelled"]},"QRCodeStatus":{"type":"string","enum":["waiting_payment","paid","cancelled"]},"QRCodeType":{"type":"string","enum":["INSTANT","DUE_DATE"]},"RefundDetails":{"type":"object","required":["amount_in_cents"],"properties":{"amount_in_cents":{"type":"integer","format":"int64","description":"Refund amount in centavos."},"message_to_payer":{"type":["string","null"],"description":"Message sent to the original payer."}}},"RefundDetailsPayload":{"type":"object","required":["amount_in_cents","refund_triggered_at","original_transaction_details"],"properties":{"amount_in_cents":{"type":"integer","format":"int64"},"original_transaction_details":{"$ref":"#/components/schemas/ExternalApiRefundDetails"},"reason":{"type":["string","null"]},"refund_triggered_at":{"type":"string","format":"date-time","description":"Refund initiation timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"}}},"RefundDetailsResponse":{"type":"object","required":["amount_in_cents"],"properties":{"amount_in_cents":{"type":"integer","format":"int64","description":"Refund amount in cents"},"message_to_payer":{"type":["string","null"],"description":"Optional message to the payer"}}},"RefundItemResponse":{"type":"object","required":["id","transaction_id","status","details","created_at","updated_at"],"properties":{"beneficiary":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BeneficiaryResponse","description":"Beneficiary information (payer of original transfer)"}]},"cancelled_at":{"type":["string","null"],"format":"date-time","description":"Cancellation timestamp (UTC, RFC 3339), if cancelled.","example":"2026-05-28T14:30:00Z"},"created_at":{"type":"string","format":"date-time","description":"Refund creation timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"},"details":{"$ref":"#/components/schemas/RefundDetailsResponse","description":"Refund details (amount, message)"},"external_reference_id":{"type":["string","null"],"description":"External reference identifier provided by the client"},"failed_message":{"type":["string","null"],"description":"Error message if the refund failed"},"id":{"type":"integer","format":"int64","description":"Refund identifier"},"status":{"$ref":"#/components/schemas/RefundItemStatusResponse","description":"Current status of the refund"},"transaction_id":{"type":"integer","format":"int64","description":"Original transaction identifier"},"updated_at":{"type":"string","format":"date-time","description":"Last update timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"}}},"RefundItemStatusResponse":{"type":"string","enum":["pending","processing","success","cancelled","failed"]},"RefundResponse":{"type":"object","required":["id","transaction_id","status","details","created_at","updated_at"],"properties":{"beneficiary":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BeneficiaryResponse","description":"Beneficiary details, populated after processing."}]},"cancelled_at":{"type":["string","null"],"format":"date-time","description":"Cancellation timestamp (UTC, RFC 3339), if cancelled.","example":"2026-05-28T14:30:00Z"},"created_at":{"type":"string","format":"date-time","description":"Refund creation timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"},"details":{"$ref":"#/components/schemas/RefundDetails","description":"Refund amount and payer message."},"external_reference_id":{"type":["string","null"],"description":"Client-provided reference identifier."},"id":{"type":"integer","format":"int64","description":"Refund identifier."},"status":{"$ref":"#/components/schemas/TransferItemStatusResponse","description":"Current refund status."},"transaction_id":{"type":"integer","format":"int64","description":"Original transaction identifier."},"updated_at":{"type":"string","format":"date-time","description":"Last update timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"}}},"ResolvedData":{"type":"object","properties":{"resolved_account_number":{"type":["string","null"]},"resolved_account_type":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/PublicAccountType"}]},"resolved_branch":{"type":["string","null"]},"resolved_ispb":{"type":["string","null"]}}},"ScheduledPaymentStatus":{"type":"string","enum":["pending","processing","executed","failed","cancelled"]},"SettlementFlow":{"type":"string","description":"Settlement family a decision row belongs to. Mirrors the\n`acquirer.slc_domicile_settlement_flow` enum.","enum":["credit","debit","anticipation"]},"SettlementType":{"type":"string","description":"Whether the merchant got their money via the standard Núclea/SILOC settlement cycle or via\nKiwify's own anticipation product. ASLC-driven credits are always `Standard`; `Turbo` is the\nD0 capture-time anticipation, `SpotAnticipation` is on-demand anticipation against the future\nagenda.","enum":["standard","turbo","spot_anticipation"]},"SlcArrangement":{"oneOf":[{"type":"string","description":"Mastercard crédito. Núclea wire `003`, canonical text `mastercard`.","enum":["Mastercard"]},{"type":"string","description":"Elo crédito. Núclea wire `008`, canonical text `elo_credit`.","enum":["EloCredit"]},{"type":"string","description":"Mastercard débito (Maestro). Núclea wire `025`, canonical text `mastercard_debit`.","enum":["MastercardDebit"]},{"type":"string","description":"Elo débito. Núclea wire `027`, canonical text `elo_debit`.","enum":["EloDebit"]},{"type":"string","description":"Mastercard Pré-pago. Núclea wire `045`, canonical text `mastercard_pre`.","enum":["MastercardPre"]},{"type":"string","description":"Visa crédito. Núclea wire `004`, canonical text `visa`.","enum":["Visa"]},{"type":"string","description":"Visa Electron débito. Núclea wire `026`, canonical text `visa_debit`.","enum":["VisaDebit"]},{"type":"string","description":"Visa pré-pago. Núclea wire `046`, canonical text `visa_pre`.","enum":["VisaPre"]},{"type":"string","description":"American Express crédito. Núclea wire `006`, canonical text `amex`.","enum":["Amex"]},{"type":"string","description":"American Express débito. Núclea wire `062`, canonical text `amex_debit`.","enum":["AmexDebit"]},{"type":"object","description":"Any other code Núclea sent, preserved verbatim. Refused as `arrangement_not_supported`.","required":["Unknown"],"properties":{"Unknown":{"type":"string","description":"Any other code Núclea sent, preserved verbatim. Refused as `arrangement_not_supported`."}}},{"type":"string","description":"Aggregate cash leg of a spot anticipation request. Not a Núclea wire arrangement —\nonly ever constructed by the acquirer settlement path when paying out a request that\nspans multiple per-receivable arrangements. Persisted canonical text is\n`spot_anticipation`.","enum":["SpotAnticipation"]}]},"TransactionParty":{"type":"object","description":"One side (payer or receiver) of a transaction. Only `name` is always populated — pix fills the\nfull set, boleto omits ispb and document_type, and synthetic labels (judicial/precautionary)\nfill only `name`.","required":["name"],"properties":{"bank_account_number":{"type":["string","null"]},"bank_branch":{"type":["string","null"]},"bank_ispb":{"type":["string","null"]},"bank_name":{"type":["string","null"]},"document_number":{"type":["string","null"]},"document_type":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DocumentType"}]},"name":{"type":"string"}}},"TransactionStatus":{"type":"string","enum":["initial","pending","committed","voided","failed"]},"TransferItemResponse":{"type":"object","required":["id","status","beneficiary","amount_in_cents","created_at"],"properties":{"amount_in_cents":{"type":"integer","format":"int64","description":"Transfer amount in centavos."},"beneficiary":{"$ref":"#/components/schemas/BeneficiaryResponse","description":"Beneficiary and destination details."},"created_at":{"type":"string","format":"date-time","description":"Transfer creation timestamp (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"},"display_description":{"type":["string","null"],"description":"Description shown to the beneficiary."},"end_to_end_id":{"type":["string","null"],"description":"PIX End-to-End ID assigned after successful processing."},"external_reference_id":{"type":["string","null"],"description":"Client-provided reference identifier."},"failed_message":{"type":["string","null"],"description":"Failure reason when status is `failed`."},"id":{"type":"integer","format":"int64","description":"Transfer identifier."},"scheduled_date":{"type":["string","null"],"format":"date","description":"Scheduled execution date (`YYYY-MM-DD`). Null when executed immediately.","example":"2026-06-01"},"status":{"$ref":"#/components/schemas/TransferItemStatusResponse","description":"Current transfer status."},"transaction_id":{"type":["integer","null"],"format":"int64","description":"Ledger transaction identifier, available after processing."}}},"TransferItemStatusResponse":{"type":"string","enum":["awaiting_approval","pending","processing","success","cancelled","failed"]},"TransferRequest":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/PixKeyTransferRequest","description":"Transfer to a PIX key (email, phone, CPF/CNPJ, or random key)."},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["pix_key"]}}}],"description":"Transfer to a PIX key (email, phone, CPF/CNPJ, or random key)."},{"allOf":[{"$ref":"#/components/schemas/BankAccountTransferRequest","description":"Transfer to a bank account using manual bank details."},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["bank_account"]}}}],"description":"Transfer to a bank account using manual bank details."}]},"WebhookBeneficiaryData":{"allOf":[{"$ref":"#/components/schemas/WebhookDestinationData"},{"type":"object","properties":{"name":{"type":["string","null"]},"tax_id":{"type":["string","null"]}}}]},"WebhookBoletoData":{"type":"object","required":["id","status","barcode_line","tax_id","created_at"],"properties":{"amount_in_cents":{"type":["integer","null"],"format":"int64"},"barcode_line":{"type":"string"},"created_at":{"type":"string","format":"date-time","example":"2026-05-28T14:30:00Z"},"description":{"type":["string","null"]},"external_reference_id":{"type":["string","null"]},"failed_message":{"type":["string","null"]},"id":{"type":"integer","format":"int64"},"scheduled_date":{"type":["string","null"],"format":"date","example":"2026-06-01"},"status":{"$ref":"#/components/schemas/WebhookBoletoStatus"},"tax_id":{"type":"string"},"transaction_id":{"type":["integer","null"],"format":"int64"}}},"WebhookBoletoStatus":{"type":"string","enum":["pending","processing","success","cancelled","failed"]},"WebhookDeliveryEventTypeDoc":{"type":"string","enum":["CASHOUT.PIX.TRANSFERS.COMPLETED","CASHOUT.PIX.TRANSFERS.CREATED","CASHOUT.PIX.TRANSFERS.SCHEDULED","CASHOUT.PIX.TRANSFERS.FAILED","CASHOUT.PIX.TRANSFERS.SCHEDULED.FAILED","CASHIN.PIX.QRCODES.CREATED","CASHIN.PIX.QRCODES.PAID","CASHIN.DEPOSITS.RECEIVED","CASHOUT.PIX.REFUNDS.COMPLETED","CASHOUT.PIX.REFUNDS.FAILED","CASHOUT.BOLETO.PAYMENTS.COMPLETED","CASHOUT.BOLETO.PAYMENTS.FAILED","CASHOUT.BOLETO.PAYMENTS.SCHEDULED","CASHOUT.BOLETO.PAYMENTS.SCHEDULED.FAILED"]},"WebhookDepositData":{"type":"object","required":["transaction_id","amount_in_cents","end_to_end_id","sender","receiver","pix_type","created_at"],"properties":{"amount_in_cents":{"type":"integer","format":"int64"},"completed_at":{"type":["string","null"],"format":"date-time","example":"2026-05-28T14:30:00Z"},"created_at":{"type":"string","format":"date-time","example":"2026-05-28T14:30:00Z"},"description":{"type":["string","null"]},"end_to_end_id":{"type":"string"},"pix_key":{"type":["string","null"]},"pix_type":{"$ref":"#/components/schemas/WebhookDepositPixType"},"receiver":{"$ref":"#/components/schemas/WebhookDepositPartyInfo"},"sender":{"$ref":"#/components/schemas/WebhookDepositPartyInfo"},"transaction_id":{"type":"integer","format":"int64"}}},"WebhookDepositPartyInfo":{"type":"object","required":["name","document","bank","bank_code","account_number","account_type"],"properties":{"account_number":{"type":"string"},"account_type":{"$ref":"#/components/schemas/AccountType"},"bank":{"type":"string"},"bank_code":{"type":"string"},"document":{"type":"string"},"name":{"type":"string"}}},"WebhookDepositPixType":{"type":"string","enum":["MANUAL","KEY"]},"WebhookDestinationData":{"oneOf":[{"type":"object","required":["pix_key"],"properties":{"pix_key":{"type":"string"}}},{"type":"object","required":["ispb","branch_code","account_number"],"properties":{"account_number":{"type":"string"},"account_type":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AccountType"}]},"branch_code":{"type":"string"},"ispb":{"type":"string"}}}]},"WebhookDto":{"type":"object","description":"Webhook subscription representation.","required":["id","url","subscriptions"],"properties":{"id":{"type":"string","description":"Unique identifier of the webhook subscription.","example":"6225875037061120"},"subscriptions":{"type":"array","items":{"$ref":"#/components/schemas/WebhookEventTypeDoc"},"description":"List of event types this webhook is subscribed to."},"url":{"type":"string","description":"The endpoint URL registered to receive webhook events.","example":"https://empresa.com/empresa_webhook"}}},"WebhookEnvelope":{"type":"object","required":["id","type","version","data","created_at"],"properties":{"created_at":{"type":"string","format":"date-time","example":"2026-05-28T14:30:00Z"},"data":{"type":"object"},"id":{"type":"string","example":"550e8400-e29b-41d4-a716-446655440000"},"type":{"$ref":"#/components/schemas/WebhookDeliveryEventTypeDoc"},"version":{"type":"string","example":"1.0"}}},"WebhookEventTypeDoc":{"type":"string","description":"Event type to subscribe to for webhook notifications.\n\nEach webhook subscription must include at least one event type.\nEvents are sent as HTTP POST requests to the registered endpoint URL.\n\n## Subscription → delivery event mapping\n\n| Subscription | Delivery events (`envelope.type`) |\n|---|---|\n| `CASHIN.PIX.QRCODES` | `CASHIN.PIX.QRCODES.CREATED`, `CASHIN.PIX.QRCODES.PAID` |\n| `CASHIN.DEPOSITS` | `CASHIN.DEPOSITS.RECEIVED` |\n| `CASHOUT.PIX.TRANSFERS` | `CASHOUT.PIX.TRANSFERS.SCHEDULED`, `CASHOUT.PIX.TRANSFERS.COMPLETED`, `CASHOUT.PIX.TRANSFERS.FAILED`, `CASHOUT.PIX.TRANSFERS.SCHEDULED.FAILED` (planned: `CASHOUT.PIX.TRANSFERS.CREATED`) |\n| `CASHOUT.PIX.REFUNDS` | `CASHOUT.PIX.REFUNDS.COMPLETED`, `CASHOUT.PIX.REFUNDS.FAILED` |\n| `CASHOUT.BOLETO.PAYMENTS` | `CASHOUT.BOLETO.PAYMENTS.SCHEDULED`, `CASHOUT.BOLETO.PAYMENTS.COMPLETED`, `CASHOUT.BOLETO.PAYMENTS.FAILED`, `CASHOUT.BOLETO.PAYMENTS.SCHEDULED.FAILED` |\n| `CASHOUT.PIX.QRCODE.PAYMENTS` | Reserved — no delivery yet |","enum":["CASHIN.PIX.QRCODES","CASHIN.DEPOSITS","CASHOUT.PIX.TRANSFERS","CASHOUT.PIX.REFUNDS","CASHOUT.BOLETO.PAYMENTS","CASHOUT.PIX.QRCODE.PAYMENTS"]},"WebhookPublicKeyDto":{"type":"object","description":"Public key information for webhook signature verification.","required":["id","content","algorithm","is_active","created_at"],"properties":{"algorithm":{"type":"string","description":"Signing algorithm used.","example":"EdDSA-Ed25519"},"content":{"type":"string","description":"PEM-encoded public key content.","example":"-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEQA+bOEY57yQGYdcF0q7Ia/JPc0Hr8Il0\n/pbETwvDSM+7yCkqTPDRsdptMMaoK9UEXILOaXq9Ot5azrgQEcTetg==\n-----END PUBLIC KEY-----"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the key was created (UTC, RFC 3339).","example":"2026-05-28T14:30:00Z"},"id":{"type":"integer","format":"int64","description":"Unique identifier of the public key.","example":2},"is_active":{"type":"boolean","description":"Whether this key is currently active."}}},"WebhookPublicKeysResponse":{"type":"object","description":"Response containing the list of webhook public keys.","required":["public_keys"],"properties":{"next_cursor":{"type":["string","null"],"description":"Cursor for next page (null if no more results)."},"public_keys":{"type":"array","items":{"$ref":"#/components/schemas/WebhookPublicKeyDto"},"description":"List of public keys used for webhook signature verification."}}},"WebhookQrCodeCreatedData":{"type":"object","required":["id","copy_paste","picture_code_base64"],"properties":{"copy_paste":{"type":"string"},"external_reference_id":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"picture_code_base64":{"type":"string"}}},"WebhookQrCodePaidData":{"type":"object","required":["qrcode_id","type","status","amount_in_cents","accept_change_value","allowed_tax_ids","qrcode_created_at","qrcode_updated_at"],"properties":{"accept_change_value":{"type":"boolean"},"allowed_tax_ids":{"type":"array","items":{"type":"string"}},"amount_in_cents":{"type":"integer","format":"int64"},"due_date":{"type":["string","null"],"format":"date","example":"2026-06-01"},"external_reference_id":{"type":["string","null"]},"payment_details":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WebhookQrCodePaymentDetails"}]},"qrcode_created_at":{"type":"string","format":"date-time","example":"2026-05-28T14:30:00Z"},"qrcode_id":{"type":"string","format":"uuid"},"qrcode_updated_at":{"type":"string","format":"date-time","example":"2026-05-28T14:30:00Z"},"status":{"$ref":"#/components/schemas/WebhookQrCodeStatus"},"type":{"$ref":"#/components/schemas/WebhookQrCodeType"}}},"WebhookQrCodePaymentDetails":{"type":"object","required":["transaction_id","end_to_end_id","amount_paid_in_cents","paid_at"],"properties":{"amount_paid_in_cents":{"type":"integer","format":"int64"},"end_to_end_id":{"type":"string"},"paid_at":{"type":"string","format":"date-time","example":"2026-05-28T14:30:00Z"},"transaction_id":{"type":"integer","format":"int64"}}},"WebhookQrCodeStatus":{"type":"string","enum":["waiting_payment","paid","cancelled"]},"WebhookQrCodeType":{"type":"string","enum":["INSTANT","DUE_DATE"]},"WebhookRefundData":{"type":"object","required":["refund_id","transaction_id","status","details","refund_created_at","refund_updated_at"],"properties":{"details":{"$ref":"#/components/schemas/WebhookRefundDetails"},"external_reference_id":{"type":["string","null"]},"failed_message":{"type":["string","null"]},"refund_created_at":{"type":"string","format":"date-time","example":"2026-05-28T14:30:00Z"},"refund_id":{"type":"integer","format":"int64"},"refund_updated_at":{"type":"string","format":"date-time","example":"2026-05-28T14:30:00Z"},"status":{"$ref":"#/components/schemas/WebhookRefundStatus"},"transaction_id":{"type":"integer","format":"int64"}}},"WebhookRefundDetails":{"type":"object","required":["amount_in_cents"],"properties":{"amount_in_cents":{"type":"integer","format":"int64"},"message_to_payer":{"type":["string","null"]}}},"WebhookRefundStatus":{"type":"string","enum":["pending","processing","success","cancelled","failed"]},"WebhookTransferData":{"type":"object","required":["transfer_id","status","beneficiary","amount_in_cents","transfer_created_at"],"properties":{"amount_in_cents":{"type":"integer","format":"int64"},"beneficiary":{"$ref":"#/components/schemas/WebhookBeneficiaryData"},"display_description":{"type":["string","null"]},"external_reference_id":{"type":["string","null"]},"failed_message":{"type":["string","null"]},"scheduled_date":{"type":["string","null"],"format":"date","example":"2026-06-01"},"status":{"$ref":"#/components/schemas/WebhookTransferStatus"},"transaction_id":{"type":["integer","null"],"format":"int64"},"transfer_created_at":{"type":"string","format":"date-time","example":"2026-05-28T14:30:00Z"},"transfer_id":{"type":"integer","format":"int64","example":123}}},"WebhookTransferStatus":{"type":"string","enum":["pending","processing","success","cancelled","failed"]}},"securitySchemes":{"AccessId":{"type":"apiKey","in":"header","name":"x-access-id","description":"UUID of the service account (e.g., 550e8400-e29b-41d4-a716-446655440000)"},"PoPChallenge":{"type":"apiKey","in":"header","name":"X-PoP-Challenge","description":"Unix timestamp in milliseconds (e.g., 1704636800000). Must be within 5 minutes of server time."},"PoPFormat":{"type":"apiKey","in":"header","name":"X-PoP-Format","description":"Must be 'service-account' for service account authentication"},"PoPSignature":{"type":"apiKey","in":"header","name":"X-PoP-Signature","description":"EdDSA signature of the request in base64 format. Signs: uri:method:body:timestamp"}}},"tags":[{"name":"Account","description":"Account and balance operations"},{"name":"Transactions","description":"Transaction history and details"},{"name":"PIX","description":"PIX keys and transfers"},{"name":"PIX Refunds","description":"Refund PIX transactions"},{"name":"Boleto Payments","description":"Boleto payment batch operations for service accounts"},{"name":"PIX QR Codes","description":"PIX QR code generation for receiving payments"},{"name":"Webhooks","description":"Webhook subscription management for receiving event notifications"}]}