The Card Partners API lets you issue virtual cards, manage users, fund and withdraw from cards, and track transactions — all through a single integration.Documentation Index
Fetch the complete documentation index at: https://docs.getplu.com/llms.txt
Use this file to discover all available pages before exploring further.
Base URL
| Environment | URL |
|---|---|
| Staging | https://services-staging.getplu.com/api |
| Production | https://services.getplu.com/api |
Core Concepts
Partner Isolation
Every API call is scoped to your partner account. You can only access users, cards, and transactions that belong to you. This isolation is enforced at the API layer — no cross-partner data access is possible.Service IDs
Resources are identified by service IDs rather than internal database IDs:| Resource | Format | Example |
|---|---|---|
| User | {slug}-user-{uid} | acme-user-abc123def456ghi |
| Card | {slug}-card-{uid} | acme-card-xyz789jkl012mno |
| Transaction | {slug}-card-transactions-{uid} | acme-card-transactions-pqr345 |
Idempotency
All mutating endpoints (POST, DELETE) require anidempotency-key header to prevent duplicate operations:
400 error indicating the key was already used. Keys expire after 5 minutes.
Response Format
All responses follow the same shape:Success
Error
Integration Flow
Get your API key
Obtain your API key (prefixed
sk_staging_ or sk_live_) from your partner dashboard.Configure webhooks
Set your webhook URL via Set Webhook to receive event notifications.
Create users
Create users via the Create User endpoint. Users go through Persona KYC verification.
Issue cards
Once a user is KYC-approved, create a card for them. Choose a funding type:
- Float (default) — fund from your partner wallet via API
- Crypto — card gets a USDC on Base deposit address for on-chain funding
Fund and manage
Fund cards (float cards only), withdraw, freeze/unfreeze, and track transactions. Crypto cards are funded via USDC on Base deposits.