Herald
OpenapiBilling

List purchasable price-level options for a client app.

Returns a FLAT list of enabled price-granularity mappings (recurring + one_time) for the purchase page; the frontend groups by `external_product_id` / billing period. Replaces the purchase page's dependency on `list_one_time_mappings` (which only covered one_time).

GET
/api/bill/client/{clientAppId}/purchase-options

Returns a FLAT list of enabled price-granularity mappings (recurring + one_time) for the purchase page; the frontend groups by external_product_id / billing period. Replaces the purchase page's dependency on list_one_time_mappings (which only covered one_time).

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Path Parameters

clientAppId*string

Client App ID

Formatuuid

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/bill/client/497f6eca-6276-4993-bfeb-53cbbbba6f08/purchase-options"
{  "items": [    {      "alreadyOwned": true,      "amount": 0,      "billingPeriod": "string",      "billingType": "string",      "currency": "string",      "displayName": "string",      "enabled": true,      "entitlementKey": "string",      "externalPriceId": "string",      "externalProductId": "string",      "grantsRole": true,      "mappingId": "455df1f6-33e0-45b1-a8aa-27c64555cdd0",      "paymentProvider": "string",      "pointRules": [        {          "bucketId": "1980377d-7926-47e0-9e64-a9d0c746404d",          "displayOrder": 0,          "enabled": true,          "grantMode": "string",          "grantPeriodType": "string",          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",          "pointsAmount": 0,          "quotaWindows": [            {              "key": "string",              "limit": 0,              "windowSeconds": 0            }          ],          "triggerSources": [            "string"          ],          "validityDays": 0        }      ]    }  ]}
{  "code": "string",  "details": null,  "message": "string",  "requestId": "string",  "status": 0}
{  "code": "string",  "details": null,  "message": "string",  "requestId": "string",  "status": 0}
{  "code": "string",  "details": null,  "message": "string",  "requestId": "string",  "status": 0}