/
BA
banqzinc
/
Quidkey API
Search skmtc…
⌘K
Sign in
Sign in
APIs
Generators
Stacks
Projects
Docs
History
Schema
Sources
Subscribe
v1
latest
OpenAPI 3.1.0
2026-07-13
236
365
2.9 MB
Partners
Admin
Get all partners
Get all partners
get
/api/v1/admin/partners
Response
Success
object[]
required
id
string
uuid
required
name
string
required
email
string
email
required
client_id
string
uuid
required
has_client_secret
boolean
required
website
string
uri
nullable
required
created_at
string
date-time
required
updated_at
string
date-time
required
All 236 operations
get
Get all partners
post
Create a new partner
get
Get a partner by ID
put
Update a partner by ID
post
Generate a new client secret for a partner
post
Revoke the client secret for a partner
post
Self-service merchant registration for users with global:user role
get
Get all merchants
post
Create a new merchant
get
Get a merchant by ID
put
Update a merchant by ID
post
Generate a client secret for a merchant
post
Revoke a client secret for a merchant
patch
Update the activation status of a merchant
patch
Update the mode of a merchant (live/sandbox)
patch
Update the multi-account allowed setting for a merchant
put
Update the refund retention rate for a merchant
post
Register or update a merchant webhook URL
post
Generate a webhook signing secret for the authenticated merchant
post
Revoke the current webhook signing secret
get
Get a legal entity for a merchant
put
Update a legal entity for a merchant
post
Create a legal entity for a merchant
patch
Partially update a legal entity for a merchant
patch
Verify a legal entity
get
Get shareholders for a Merchant Legal Entity
post
Create a shareholder for a Merchant Legal Entity
get
Get a shareholder for a Merchant Legal Entity
put
Update a shareholder for a Merchant Legal Entity
delete
Delete a shareholder from a Merchant Legal Entity. Also removes associated documents and the holder legal entity if no longer referenced.
patch
Partially update a shareholder for a Merchant Legal Entity
get
Get all bank accounts for a merchant (active and inactive). Optionally filter by currency query param.
post
Create a bank account for a merchant
get
Get active bank account(s) for a merchant. Optionally filter by currency query param.
put
Deactivate a specific bank account
get
List transactions for a bank account (money in / money out). Currently supported only for refund accounts; other roles return 404. Supports JSON (paginated) and xlsx/csv exports via Accept header.
put
Set the balance on a fake-transfermate account (admin only)
put
Update/merge payment schemes for a specific bank account. Only modifies specified schemes, preserves existing ones not mentioned.
get
Get available payment schemes for a specific country
get
Get a full CountryConfig by ISO2 country code
get
Get a list of all available CountryConfig records
get
Get a list of all available CountryConfig records (public, no auth required)
get
List all documents for a merchant (metadata only)
post
Upload a document for a merchant. Requires multipart/form-data with fields: file (binary) and documentType (string)
get
List all documents for a shareholder (metadata only)
post
Upload a document for a shareholder. Requires multipart/form-data with fields: file (binary) and documentType (string)
post
Create a new payment request
post
Create a payment request via the redirect (Pay by Bank) flow
post
Initiate a payment for a specific payment request with selected bank
get
Handle payment callback from Tink
get
Check payment status (public, keyed by provider request id). Returns a minimal, PII-free status view used by the embedded checkout page.
get
Check the status of one of the merchant's payment requests by internal id. Documented fallback for missed webhooks.
get
Check the status of one of your payment requests by id. Documented fallback for missed webhooks.
get
List payment links with context-aware access control
post
Create a new payment link (Partner or Merchant authentication)
get
Get currencies the merchant can receive payments in
get
Get payment link details by ID
get
Get payment link details (public endpoint). Uses secure token for lookup.
post
Confirm payment link and create payment request (public endpoint). Uses secure token for lookup.
get
Serve the Quidkey iframe bootstrap HTML
get
Server-side rendered HTML fragment for bank selection
post
Create a payment request and return a payment_token for iframe flow
patch
Update an embedded payment request (amount and/or rewards) before payment initiation
post
Create a Flinks Connect session for the embedded payment flow
get
Handle Flinks redirect after bank authentication, create CustomerBankAccount
post
Cancel a Flinks Connect session abandoned by the customer in the iframe
post
Initiate a payment for an embedded flow using payment_token (query or body) and selected bank
get
Render full-page US bank payment flow (Flinks + Straddle)
post
Search transactions for a merchant with filtering and sorting
get
Get a transaction by ID
get
List all refunds for a transaction
put
Update transaction status to trigger async fee payment or currency conversion
put
Update billing address for a transaction
put
Link a customer bank account to a transaction for refund payouts
post
Create a delivery report from an external adapter (Shopify, WooCommerce, etc.) for observability
get
List all refunds for a transaction
post
Create a cross-border refund for a transaction
get
Get the maximum refundable amount for a transaction
get
Check whether a refund's payout details can be resolved for a transaction (read-only)
put
Update billing address for a transaction (authenticated via resolution token)
put
Link customer bank account to a transaction (authenticated via resolution token)
post
Mark resolution link as completed after customer submits fixes
post
Update transaction status and resend webhook (admin only). Use this when payment status changed after initial callback.
get
Get full internal detail for a transaction (admin/debug): merchant, payment-request and provider references, fees, refunds/reversals, and an optional unified event timeline.
post
Calculate fees for a transaction that is missing them. Use force=true to recalculate (deletes existing PENDING fees first).
post
Create a refund session
post
Predict banks for a customer based on their contact information
post
Create a new customer
get
Retrieve a customer by ID
put
Update a customer by ID
get
List all customer bank accounts for a merchant
post
Create a customer bank account for refund payouts
get
Get a customer bank account by ID
put
Update a customer bank account
get
Get current user identity, context, available contexts, and effective permissions
post
Issue a new access token
post
Refresh an existing access token
post
Check the health of the authentication service
get
Retrieve the curated top banks for a market. `country` selects the market; optional `currency` filters further; `limit` caps the result count. Public and cacheable at the market level.
get
Retrieve the top banks for a specific market
put
Update the status of top banks for a specific market
get
Retrieve banks for a specific market. Without query params returns the default list for the market. With `q` performs a substring match on bank name; `provider` further scopes to a provider configuration; `limit` caps results (default 20, max 50).
post
Initialize banks in the system
get
Render bank selection page with predicted and market banks
get
Get bank status and details (admin only)
put
Update bank activation status (admin only)
get
Get all banks with their activation status (admin only)
post
Run database seed scripts
post
Generate test payment requests and transactions for a specific merchant
get
Retrieve currently active default rates
get
Retrieve history of all default rates
post
Create new default rates
get
Retrieve active rates for a merchant
get
Retrieve rate history for a merchant
post
Create custom rates for a merchant
get
Get all Shopify orders for a merchant
post
Create a Shopify order for a merchant
post
Create multiple Shopify orders for a merchant
get
List all cross-border enrollments for a merchant
post
Enable cross-border payments for a merchant with a specific provider
get
Get cross-border enrollment status for a specific provider
put
Update cross-border enrollment status for a specific provider
post
Setup verified merchant accounts (beneficiary and virtual accounts)
get
List fee accounts for a specific provider
post
Create a fee account for a currency by activating a global account with the provider
get
List all fee accounts configured for cross-border payments
get
Get a single fee account including its live global-account balance
post
Handle TransferMate webhook events
get
Get raw TransferMate global account details for a bank account (admin only)
get
Debug-only: fetch raw TransferMate global account details by raw user_bank_id (resolves the owning merchant via provider_metadata to authenticate). Use when you only have a user_bank_id from a webhook/TM dashboard and don't know the QK bank account ID. Returns 404 if no QK bank account owns that user_bank_id.
get
Get raw TransferMate transaction summary for a bank account (admin only)
post
Create a manual transfer between accounts (admin only)
post
Handle Tink Events v2 webhook notifications
post
Handle FumoPay webhook notifications
get
Handle FumoPay payment callback redirect
get
List payout batches for a merchant
post
Create a new payout batch for all CONVERTED cross-border transactions
get
Get details of a payout batch
put
Execute a payout batch by setting status to COMPLETED
get
List payout batches for the authenticated merchant
get
Get details of a payout batch for the authenticated merchant
get
List invoices across all billables with optional filters
post
Create a draft invoice for a merchant over a (period, currency) window. Claims eligible transactions atomically; pre-settled fees produce an immediately_settled payment row.
get
Preview claimable transactions for a (merchant, period) window. Uses the same eligibility predicate as create; surfaces conflicts when other invoices already own rows in the window. Used by the Create-invoice form to validate the window before submit.
get
Get details of an invoice (any billable type)
get
Returns the JSON document bundle that drives the PDF/CSV renderers — line items, per-currency subtotals, fee account, issuer block, FX snapshots. Powers the Console preview.
put
Update invoice status. ISSUED issues a draft (auto-PAID if already covered by pre-settled fees); VOID releases the claimed transactions and reverts fees to PENDING (refused if any invoice_payment rows exist). `paid` is never set directly.
post
Record a payment or pre-issue credit against an invoice. payment_method=manual_bank_transfer requires ISSUED (records received funds); issue_credit allowed on DRAFT or ISSUED (write-off / pre-issue discount, requires `notes`). Idempotent on (invoice_id, external_reference).
get
List the merchant's invoices (drafts are hidden — customers see ISSUED+ only)
get
Get an invoice billed to the merchant
get
Returns the JSON document bundle for a merchant invoice — line items, subtotals, fee account, issuer. Same 404 rules as the detail endpoint (cross-tenant, draft, never-issued).
post
Dev-only: flip a sandbox merchant to live mode and re-flag every one of its payment_requests as live (test_transaction=false, provider_environment=live). Refused in production. Idempotent.
post
Dev-only: revert a merchant back to sandbox mode and re-flag every one of its payment_requests as test. Refused in production. Idempotent.
post
Dev-only: tear down the merchant's cross-border enrollment + every virtual account from a fake provider. Use after `/admin/reset` on the fake provider so core can re-enroll cleanly. Refused in production or if the provider is not registered as fake.
post
Dev-only: wipe all transactions on the merchant's fake-provider refund account and reset its balance to 0. Use for a clean demo slate without tearing down enrollment. Refused in production or for non-fake providers.
post
Dev-only: simulate an inbound wire onto the merchant refund account via the merchant's fake cross-border provider. Refused in production. Refused if the merchant is not enrolled with a fake provider, so it can never trigger a real TransferMate call.
post
Register a new user account
patch
Update the authenticated user's own profile (name fields)
get
List users who have role assignments at this partner
get
List users who have role assignments at this merchant
get
List all users with their role assignments
post
Create a new user
get
Get a user by ID with their role assignments
delete
Delete a user and all their role assignments
post
Assign a role to a user
delete
Revoke a role assignment from a user
get
Get provider status event details including raw payload (admin only)
get
Get merchant webhook delivery details including request payload and response body (admin only)
post
Resend a webhook by delivery ID (replay stored payload; admin only)
get
List invitations for a partner
post
Create an invitation for a user to join a partner
post
Resend a pending partner invitation
delete
Revoke a pending partner invitation
get
List invitations for a merchant
post
Create an invitation for a user to join a merchant
post
Resend a pending merchant invitation
delete
Revoke a pending merchant invitation
get
Preview an invitation (public — used from the email link)
post
Accept an invitation (requires authentication, email must match)
get
List account information sessions with optional status filter and cursor pagination.
post
Create an account information (bank linking) session. Returns connect_url for provider UI and session_id for polling/redirect.
post
Confirm selected accounts from a completed session; creates merchant bank account records. Returns created (masked) and skipped (duplicate) provider account IDs.
post
Cancel a pending verification session.
get
Get account information session status and details (including retrieved accounts when completed).
get
Get account information provider status event summaries for a session.
get
Get account information provider status event summaries for a bank account.
get
Redirect URL for provider (e.g. Flinks) after user completes bank linking. Redirects to client redirect_url with status.
post
Activate a verification session by generating a fresh provider connect URL. Called when the user clicks "Connect Bank Account" on the consent page.
get
Get verification session details for the public verification page. Uses secure token for lookup (not session ID). Returns merchant info, requested data types, and connect URL.
get
Get account information provider status event details including raw payload (admin only)
post
Expire stale PENDING account information sessions past their TTL. Intended for scheduled cleanup (e.g., Cloud Scheduler every 5 minutes).
get
List post-processor log entries with optional filters (admin only)
get
Get a single post-processor log entry by ID (admin only)
post
Handle Flinks GetAccountsDetail webhook payloads
get
Get partner branding (logo, colors)
put
Update partner branding colors and website
post
Upload partner logo (multipart/form-data)
delete
Remove partner logo
post
Upload partner icon (multipart/form-data)
delete
Remove partner icon
post
Auto-extract branding from partner website using Firecrawl
get
Get merchant branding (logo, colors)
put
Update merchant branding colors
post
Upload merchant logo (multipart/form-data)
delete
Remove merchant logo
post
Upload merchant icon (multipart/form-data)
delete
Remove merchant icon
post
Auto-extract branding from merchant URI using Firecrawl
get
List all registered onboarding providers with their requirements and config
get
Get onboarding readiness report for a merchant across all providers
put
Update onboarding status for a merchant with a specific provider. Use 'enrolling' to start enrollment or 'onboarded' to complete it.
get
List all payment providers with country coverage
get
List provider configurations for a merchant (credentials masked)
post
Create or update provider credentials for a merchant
delete
Delete provider configuration for a merchant
get
Get merchant-facing go-live status with steps and progress
post
Mark the go-live celebration as shown for this merchant
get
List all shareholder invitations for a merchant
post
Create a shareholder invitation for KYC onboarding
post
Resend a shareholder invitation email
post
Get the invitation link for a shareholder invitation
delete
Delete a shareholder invitation (and associated shareholder if created)
get
Preview a shareholder invitation (public, no auth required)
post
Submit a wizard step for shareholder onboarding (public, no auth required)
post
Create and optionally send a resolution link for a pending refund
post
Rotate token and get existing resolution link
post
Resend resolution link email with rotated token
get
Customer previews refund requirements via token
get
Get dashboard summary with scope-aware KPI metrics
post
Handle Straddle webhook events
get
Permission-scoped search for the ⌘K command palette.
post
Admin-only: rebuild every command palette index from Postgres. Use after seeding or if indexes drift.
get
List the current version URLs for Quidkey-hosted and Straddle legal agreements
get
Fetch a single evidence record by id (admin debug)
get
Download a markdown forensic bundle for an AgreementRecord — the legal acceptance plus the linked evidence detail.
get
List merchant-level AgreementRecords the merchant has accepted, in the order they were signed. Excludes per-transaction records (e.g. customer ACH authorizations).