Skip to main content
GET
Get Boat limits

Authorizations

Authorization
string
header
required

Boat bearer token in the form boat_.... Service API keys authenticate sandbox operations.

Headers

X-Boat-Org
string

Same as the org query parameter. Query wins when both are set.

Query Parameters

org
string

Billing wallet for this request: an organization you belong to, by id (team_…) or by name as GET /orgs lists it (case-insensitive), or personal. Omitted, the account's active wallet applies (PATCH /orgs/active; personal until set). Two organizations sharing the name answer 409 ambiguous_org and need the id. Sandboxes and snapshots stay creator-private. On /environments routes, only this query parameter selects the organization's shared environments; the X-Boat-Org header and the active wallet do not apply there. Members read them, owners and admins change them.

teamId
string

Legacy alias for org. Takes precedence over org / X-Boat-Org when set.

Response

Current creation and concurrent-boat limits.

ok
boolean
required
Example:

true

type
string
required

Stable success envelope discriminator added by v1.

canStart
boolean
required

Whether the authenticated account can create or operate sandboxes right now.

activeSandboxes
integer
required
maxActiveSandboxes
integer
required
billingStatus
string
required

Account access state returned by the current backend. Billing endpoints are not part of v1.

accessTier
string
Example:

"trial"

blockedReason
string | null
currentLimits
object
standardLimits
object
trialLimits
object
upgradeEffects
object
checkoutRequired
boolean
startBlockedReason
string | null
contactMessage
string | null
activeStates
string[]
maxCreationRequestsPerMinute
integer
maxCreationRequestsPerDay
integer | null
startLimits
object | null

Plan caps for machine starts. Null on unlimited accounts. Create, fork and resume each count as one start.

wallet
object | null

The one wallet of this account or organization, in US dollars. It pays overage only: VM time past the plan, saved snapshots past the included count, extra starts and the AI proxy. It never pays the plan. Null on unlimited accounts.

planIncluded
object | null

What the plan includes this billing period. Null on unlimited accounts.

overagePrices
object

What the wallet pays past the plan.

nextStartDollars
number | null

What the next start costs now. 0 inside every limit; null when it would be refused.

startLimitsWithWallet
object | null

Start ceilings with extra starts: the hour and day limits times overagePrices.startLimitMultiplier, and the minute limit times overagePrices.startMinuteLimitMultiplier. Starts above startLimits and up to these ceilings are paid from the wallet at the overagePrices.startBrackets prices. Null when extra starts are not available now (before the first payment, an empty wallet, or an unlimited account).

starts
object

Remaining machine starts in the rolling minute, hour and day windows. Null windows mean the account is unlimited.

creditBalanceHours
number | null
deprecated

Deprecated. Read planIncluded.vmHoursRemaining and wallet.balanceDollars.

packBalanceHours
number
deprecated

Deprecated. Read wallet.balanceDollars.

packBalanceDollars
number
deprecated

Deprecated. Read wallet.balanceDollars.

hasPaymentHistory
boolean
subscriptionQuotaSeconds
integer
subscriptionRemainingSeconds
integer
packBalanceSeconds
integer
deprecated

Deprecated. Read wallet.balanceDollars.

creditPurchasedSeconds
integer
deprecated

Deprecated.

creditUsedSeconds
integer
liveUsageSeconds
integer
creditSecondsPerDollar
integer
sandboxPlanKey
string

Current plan key, or trial before any payment.

Example:

"box_20"

sandboxPlanDollars
number

Monthly price of the current plan in dollars.

sandboxPlanTiers
object[]

Every plan tier and its limits.

accountPlan
string
Examples:

"user"

"service"

plan
string | null

service for service accounts, otherwise null.

planName
string | null

Service for service accounts, otherwise null.

serviceAccount
boolean
unlimited
boolean

True when the account has no machine-time or start limits.

hasSeatPlan
boolean

True when an organization has an active per-seat plan.

last24hUsageSeconds
integer

Machine time used in the last 24 hours, in seconds. Useful to estimate how long the included time and the wallet last.

trialComputeCapSeconds
integer | null

Lifetime VM-time allowance for new sandboxes while the account has not paid, a plan trial included. Null once the account has paid.

trialComputeUsedSeconds
integer | null

VM time already used against trialComputeCapSeconds. Null once the account has paid.

trialLine
string | null

The trial limits in one readable line. Null on paid accounts.

machineTypes
object[]

Each sandbox type, and whether this account can create it now. A blocked type carries the reason.

giftLimit
object | null

Fair-use caps on a gifted account, or null when there are none.

subscriptionStatus
string | null
subscriptionCancelAtPeriodEnd
boolean
hasSubscription
boolean
subscriptionTrialEndsAt
string<date-time> | null
subscriptionCurrentPeriodEnd
string<date-time> | null
creditBalanceSeconds
integer
deprecated

Deprecated. Read planIncluded.vmHoursRemaining and wallet.balanceDollars.

teamId
string

Present when limits were read for a team wallet (?teamId=, ?org=, or X-Boat-Org).

teamRole
string

Caller's role on that team when teamId is present.