Billing

The partner API lets you hand StandMap subscriptions to your own users without anyone visiting our site. You buy quota up front, then spend it — one unit per subscription — whenever your system decides someone should have one.

How it fits together

Quota is a prepaid counter held per product. It is not money: once it is on your account there is no currency, exchange rate or invoice involved in spending it. You top it up through us, then your backend spends it through the API, and we grant the subscription.

1
You buy quota We credit your account with a number of subscriptions for a specific plan. Contact us to arrange this — there is no self-service top-up endpoint.
2
You create an API key In the reseller panel. Your client id already exists at this point — creating a key generates a secret for it. The secret is shown once.
3
Your backend spends it Either issue a subscription straight to a named user, or generate promo codes you distribute yourself.
4
We grant the subscription The user gets access without ever touching our checkout.

Two ways to deliver

Both spend the same quota and behave identically — pick whichever matches how you sell.

Direct issue

You know the customer's StandMap login. One call, one unit of quota, subscription granted. Best when your users already have accounts with us.

Promo codes

You get a batch of codes to sell or give away. One unit of quota per code, charged when the batch is generated, not when a code is redeemed.

Base URL

POST https://api.standmap.pw/v1/billing/partner/licenses API key

Every partner endpoint lives under /v1/billing/partner. Requests and responses are JSON with camelCase property names, and timestamps are Unix epoch seconds in UTC, sent as plain numbers.

A complete request

Issue one subscription
curl https://api.standmap.pw/v1/billing/partner/licenses \
  -H "X-Client-Id: rsc_your_client_id" \
  -H "X-Client-Secret: rss_your_secret" \
  -H "Content-Type: application/json" \
  -d '{
    "planSlug": "standoff_radar_high_30days",
    "login": "customer-login",
    "idempotencyKey": "b8f1c2a4-5d6e-4f70-8a91-2c3d4e5f6a7b"
  }'

Before you build

This is a server-to-server API. The secret grants the ability to spend your quota. Keep it on your backend — never in a browser, mobile app, or anything a customer can read. Browser origins are not permitted to call it.
Every write needs an idempotency key. Networks fail mid-request. The key is what lets you retry without paying twice, and it is mandatory rather than optional — see Idempotency & retries.