Developer docs

SubCharge is API-first: everything you can do from the dashboard — products, plans, customers, subscriptions, invoices — is also a REST endpoint under /v1.

Authentication

Every request carries a bearer API key, created from your dashboard's Developers page — bl_test_ for test mode, bl_live_ for live.

curl https://www.subcharge.co.za/v1/customers \
  -H "Authorization: Bearer bl_test_..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: <a key unique to this request>" \
  -d '{"email": "customer@example.com", "name": "Jane Customer"}'

Idempotency

Every mutating request accepts an Idempotency-Key header. Send the same key with the same body and you get back the stored response, safely, even on a retry. Manual payment recording requires this header.

Rate limits

Limits scale with your plan (see pricing). A request over the limit returns 429 with a Retry-After header.