Remotehost Docs

Buy an add-on

POST
/orgs/{orgId}/addons/{listingId}/purchase

Adds the add-on to the org's subscription, charged now for the rest of the period. The purchase is pending until Stripe has the payment; when the payment needs confirming, confirmationUrl is the invoice's page, and an unpaid purchase expires after 24 hours. Asking again for a pending purchase Stripe never received sends it again, with no second charge. Buying a cancelled add-on again before its endsAt keeps it with no second charge, at the quantity held, while the billing period is unchanged. Needs billing.manage, a live plan that is not trialing and has no scheduled change, and an org that is billed. Free and included add-ons are not sold. One add-on change per org at a time. Audited.

Authorization

bearerAuth
AuthorizationBearer <token>

A RemoteHost API key (rh_sk_...) or a user session token.

In: header

Path Parameters

orgId*string
listingId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/orgs/string/addons/string/purchase" \  -H "Content-Type: application/json" \  -d '{}'
{  "purchase": {    "id": "string",    "listingId": "string",    "status": "pending",    "source": "billing",    "quantity": 0,    "pendingQuantity": 0,    "startedAt": "string",    "endsAt": "string",    "endedAt": "string"  },  "confirmationUrl": "string"}