List what the plans cost
GET
/console/plans
const url = 'https://example.com/console/plans';const options = { method: 'GET', headers: {cookie: 'bottle.session_token=<bottle.session_token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/console/plans \ --cookie bottle.session_token=<bottle.session_token>Each plan anyone can buy, with its current price and any discount every new checkout carries. A plan with nothing set here is sold at the price the environment names.
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”Plans
Media typeapplication/json
object
items
required
Array<object>
object
plan
required
string
monthlyPence
required
integer | null
stripePriceId
required
string | null
discount
required
object
percentOff
required
integer
months
required
integer | null
setAt
required
string | null format: date-time
setByName
required
string | null
Example
{ "items": [ { "plan": "starter" } ]}Not signed in
Media typeapplication/json
object
error
required
string
message
required
string
Example
{ "error": "not_found", "message": "Customer not found"}Not Bottle staff, no two-step sign-in, or a console role too low for this
Media typeapplication/json
object
error
required
string
message
required
string
Example
{ "error": "not_found", "message": "Customer not found"}Validation failed
Media typeapplication/json
object
error
required
string
message
required
string
issues
required
Array<object>
object
path
required
string
message
required
string
Example
{ "error": "validation", "issues": [ { "path": "email", "message": "Invalid email" } ]}Billing is not configured on this deployment
Media typeapplication/json
object
error
required
string
message
required
string
Example
{ "error": "not_found", "message": "Customer not found"}