Skip to content

Open areas beyond the plan by hand

POST
/console/businesses/{id}/areas
curl --request POST \
--url https://example.com/console/businesses/019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f/areas \
--header 'Content-Type: application/json' \
--cookie bottle.session_token=<bottle.session_token> \
--data '{ "areas": [ "rounds" ] }'

For a deal agreed on the phone, or a business trying something before it moves up: the areas named are opened on top of what the plan opens, and the list replaces the last one. An empty list takes every grant back. Nothing is said to Stripe, and nothing is deleted when an area closes again. Console owners only.

id
required

UUID v7

string format: uuid
Example
019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f

UUID v7

Media typeapplication/json
object
areas
required
Array<string>
<= 7 items
Allowed values: rounds vehicles rota cash standingOrders yards storefront

The business afterwards

Media typeapplication/json
object
id
required

UUID v7

string format: uuid
name
required
string
slug
required
string
createdAt
required
string format: date-time
subscription
required
object
plan
required
string
Allowed values: shop yard round depot
status
required
string
Allowed values: trialing active past_due unpaid canceled incomplete incomplete_expired paused none
inGoodStanding
required
boolean
manageable
required
boolean
trialEndsAt
required
string | null format: date-time
currentPeriodEnd
required
string | null format: date-time
cancelAt
required
string | null format: date-time
pendingPlan
required
string | null
Allowed values: shop yard round depot
pendingPlanAt
required
string | null format: date-time
rateLimits
required
object
requestsPerMinute
required
integer
> 0
heavyPerMinute
required
integer
> 0
discount
required
object
percentOff
required
integer
>= 1 <= 100
until
required
string | null format: date-time
customPrice
required
object
monthlyPence
required
integer
from
required
string | null format: date-time
vehiclesUsed
required
integer
addons
required
Array<string>
Allowed values: shop
areasGranted
required
Array<string>
Allowed values: rounds vehicles rota cash standingOrders yards storefront
features
required
object
rounds
required
boolean
vehicles
required
boolean
rota
required
boolean
cash
required
boolean
standingOrders
required
boolean
yards
required
boolean
storefront
required
boolean
limits
required
object
requestsPerMinute
required
integer
> 0
heavyPerMinute
required
integer
> 0
vehicleLimit
required
integer | null
vehicles
required
integer
members
required
integer
people
required
Array<object>
object
userId
required
string
name
required
string
email
required
string
role
required

Owner: billing, deleting the tenant, full control of members. admin: all operational work and may manage drivers and admins. driver: their own round only.

string
Allowed values: owner admin driver
supportAccess
required
object
level
required
string
Allowed values: none view act
until
required
string | null format: date-time
setByName
required
string | null
lockedAt
required
string | null format: date-time
lockedReason
required
string | null
lastSignInAt
required
string | null format: date-time
Example
{
"id": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f",
"subscription": {
"plan": "shop",
"status": "trialing",
"pendingPlan": "shop",
"addons": [
"shop"
],
"areasGranted": [
"rounds"
]
},
"people": [
{
"role": "owner"
}
],
"supportAccess": {
"level": "none"
}
}

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"
}

Not found

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"
}
]
}