Skip to main content
POST
/
v1
/
cards
curl -X POST https://api.usenaive.ai/v1/cards \
  -H "Authorization: Bearer nv_sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Marketing Card",
    "spending_limit_cents": 5000,
    "agent_id": "agent-uuid-1"
  }'
{
  "card": {
    "id": "card-uuid-1",
    "name": "Marketing Card",
    "provider": "prepaid_gift",
    "status": "pending_payment",
    "spending_limit_cents": 5000,
    "balance_cents": 0,
    "agent_id": "agent-uuid-1",
    "created_at": "2026-03-01T10:00:00Z"
  },
  "checkout_url": "https://checkout.usenaive.ai/c/pay/cs_live_...",
  "session_id": "cs_live_abc123",
  "expires_at": "2026-03-01T10:30:00Z"
}
Creates a new virtual card and returns a hosted checkout URL for funding. The card becomes active after successful payment.

Request Body

ParameterTypeRequiredDescription
namestringYesDisplay name for the card
spending_limit_centsnumberYesInitial funding amount in cents (e.g. 5000 = $50.00)
providerstringNoCard type: prepaid_gift (default — prepaid Visa, no cardholder, $150 max) or managed_virtual (Stripe Issuing, no cap, requires a cardholder)
agent_idstringNoAgent UUID to assign the card to
curl -X POST https://api.usenaive.ai/v1/cards \
  -H "Authorization: Bearer nv_sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Marketing Card",
    "spending_limit_cents": 5000,
    "agent_id": "agent-uuid-1"
  }'
{
  "card": {
    "id": "card-uuid-1",
    "name": "Marketing Card",
    "provider": "prepaid_gift",
    "status": "pending_payment",
    "spending_limit_cents": 5000,
    "balance_cents": 0,
    "agent_id": "agent-uuid-1",
    "created_at": "2026-03-01T10:00:00Z"
  },
  "checkout_url": "https://checkout.usenaive.ai/c/pay/cs_live_...",
  "session_id": "cs_live_abc123",
  "expires_at": "2026-03-01T10:30:00Z"
}

CLI

naive cards create --name "Marketing Card" --spending-limit 5000
Optionally assign to an agent:
naive cards create --name "Marketing Card" --spending-limit 5000 --agent-id <uuid>

MCP

Tool: naive_cards_create
{
  "name": "Marketing Card",
  "spending_limit_cents": 5000,
  "agent_id": "agent-uuid-1"
}
May require approval. If the user’s Account Kit gates cards.create, an agent (API-key) call returns 202 { "status": "pending_approval", "approval_id" } instead of creating the card. A human approves it via Approvals; the card is then created on replay. See Approvals.