Skip to content

Subscriptions (tiers)

Every route on this page needs the subscriptions scope. See Subscriptions for what tiers are.

GET/seller/v1/tiersscope: subscriptions
Query Notes
app_id Your token’s app

Ordered by level, then name.

200 OK
{
"ok": true,
"data": {
"items": [
{
"id": "tier_048ef9f8f38c4ab2af05db05bbde4aed",
"app_id": "app_ea9745b1df9e4a9bacb22cb1c200993b",
"app_name": "My App",
"name": "Default",
"level": 1,
"archived": 0,
"created_at": 1794497605,
"keys_total": 7,
"keys_unused": 5,
"users": 2
}
]
}
}
POST/seller/v1/tier/createscope: subscriptions
Field Type Required Notes
app_id string yes
name string yes 1 to 32 characters, unique in the app
level integer yes 0 to 1000
Request
{ "app_id": "app_ea9745b1df9e4a9bacb22cb1c200993b", "name": "Pro", "level": 2 }
201 Created
{ "ok": true, "data": { "id": "tier_e26fe8d406f94e13bff9d10c9291c37f" } }
POST/seller/v1/tier/updatescope: subscriptions
Field Type Required Notes
tier_id string yes
name string no Renaming changes what your app’s HasTier matches
level integer no 0 to 1000
archived boolean no true stops new keys for the tier; existing ones keep working
200 OK
{ "ok": true, "data": { "updated": true } }
POST/seller/v1/tier/deletescope: subscriptions
Request
{ "tier_id": "tier_e26fe8d406f94e13bff9d10c9291c37f" }
200 OK
{ "ok": true, "data": { "deleted": true } }

Refused with 409 CONFLICT, and a message saying why, when:

  • any key was ever made for the tier, or any account has time added on it (archive it instead),
  • it is the app’s last tier,
  • a store product sells it,
  • it is the only tier a variable or file is limited to.