1. Sign up
Email + password at /signup. You'll land in a sandbox dashboard immediately — no KYC needed yet.
2. Mint a sandbox API key
Open /merchant/developer → Create API key → label it "Quickstart", environment sandbox, scopes customer:write + usage:write + invoice:read. Copy the token — it's shown once.
BUFFMONEY_API_KEY=bm_sandbox_YOUR_KEY_ID.YOUR_SECRET
3. Sync a test customer
From your backend, upsert the customer identifier you already use in your product. The dashboard form is only for sandbox tests or one-off corrections.
curl https://www.buffmoney.com/api/v1/customers \
-H "Authorization: Bearer bm_sandbox_YOUR_KEY.YOUR_SECRET" \
-H "Content-Type: application/json" \
-d '{
"customers": [
{
"externalId": "user_42",
"name": "Jane Chen",
"email": "jane@example.com"
}
]
}'4. Send your first usage event
From your backend, any language. curl example:
curl https://www.buffmoney.com/api/v1/usage-events \
-H "Authorization: Bearer bm_sandbox_YOUR_KEY.YOUR_SECRET" \
-H "Content-Type: application/json" \
-d '{
"events": [
{
"customerExternalId": "user_42",
"idempotencyKey": "evt_quickstart_001",
"metric": "tokens_input",
"quantity": "1000",
"occurredAt": "2026-05-25T10:00:00Z"
}
]
}'Success response:
{
"ok": true,
"accepted": 1,
"duplicate": 0,
"rejected": 0,
"results": [
{ "idempotencyKey": "evt_quickstart_001", "status": "accepted", "eventId": "..." }
]
}5. See it in the dashboard
Refresh /merchant/usage — your event shows up at the top. Replay the same idempotencyKey and you'll see duplicate: 1 in the response — proof the dedup works.