Skip to content

Set what a plan costs

POST
/console/plans/{plan}/price
curl --request POST \
--url https://example.com/console/plans/starter/price \
--header 'Content-Type: application/json' \
--cookie bottle.session_token=<bottle.session_token> \
--data '{ "monthlyPence": 1, "applyToExisting": "renewal", "reason": "example" }'

Makes a new Stripe price on the plan’s product and sells it from now on. Businesses already paying the old price are moved to the new one when their month renews if applyToExisting is renewal, or left where they are with none. A business on a price agreed for it alone is never moved by this.

plan
required
string
Allowed values: starter round
Media typeapplication/json
object
monthlyPence
required
integer
>= 100 <= 10000000
applyToExisting
required
string
Allowed values: renewal none
reason
required
string
>= 3 characters <= 500 characters

The plan afterwards

Media typeapplication/json
object
plan
required
string
Allowed values: starter round depot
monthlyPence
required
integer | null
stripePriceId
required
string | null
discount
required
object
percentOff
required
integer
>= 1 <= 100
months
required
integer | null
> 0
setAt
required
string | null format: date-time
setByName
required
string | null
Example
{
"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
Allowed values: validation
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"
}