Skip to content

Retrieve the account of a dashboard session

GET
/v1/dashboard/account

The account, its plan, this month’s usage in the shape of GET /v1/project, what is accepted and not yet counted, and every project with every key. Never a secret: a key is shown by its prefix.

Success.

object
object
required
string
Allowed values: dashboard_account
account
required
object
id
required

Identifier of a account, prefixed with acct_.

string
/^acct_[0-9a-f]{32}$/
Example
acct_0198f0c2a1b47e2e9a1c0f4d5e6a7b8c
object
required
string
Allowed values: account
name
required
string
plan
required
string
Allowed values: free pro scale enterprise
owner_email
required
string
usage
required

This month’s usage of the plan, summed over the account’s projects: the same object GET /v1/project returns.

object
month
required

The calendar month the numbers are about, in UTC: YYYY-MM.

string
Example
2026-09
bookings_confirmed
required

Live bookings of every project of the account that reached confirmed this month, each counted once. Cancellations, holds, no-shows and reschedules do not count again; the test environment never counts.

integer
bookings_included
required

Confirmed live bookings the plan includes each month. null: negotiated.

integer | null
payment_volume
required

Live payments that succeeded this month, net of the refunds made this month, in the minor unit. Can be negative after a refund of an earlier month.

integer
payment_volume_included
required

Paid volume the plan includes each month, in the minor unit. null: not capped (a paying plan is billed on the volume instead).

integer | null
currency
required

The currency of payment_volume: the one currency this month’s payments were in, mixed when there were several (no conversion is made), null when no money moved.

string | null
blocks_at_limit
required

Whether reaching an included quantity refuses the next live booking with 402 plan_limit_reached. True on the free plan only.

boolean
reserved
required

What the account has accepted and not yet counted.

object
bookings_pending
required

Live bookings in pending right now, every month. On the free plan they count against the threshold already, together with usage.bookings_confirmed.

integer
payment_volume_pending
required

Open live payments of pending bookings, in the minor unit. On the free plan they count against the included volume, together with usage.payment_volume.

integer
projects
required
Array<object>
object
id
required

Identifier of a project, prefixed with proj_.

string
/^proj_[0-9a-f]{32}$/
Example
proj_0198f0c2a1b47e2e9a1c0f4d5e6a7b8c
object
required
string
Allowed values: project
name
required
string
default_timezone
required
string
default_currency
required
string
created_at
required

ISO 8601 instant in UTC.

string format: date-time
Example
2026-09-08T07:00:00Z
api_keys
required
Array<object>
object
id
required

Identifier of a api_key, prefixed with key_.

string
/^key_[0-9a-f]{32}$/
Example
key_0198f0c2a1b47e2e9a1c0f4d5e6a7b8c
object
required
string
Allowed values: api_key
environment
required

The environment of the API key that created the object.

string
Allowed values: test live
kind
required
string
Allowed values: secret publishable
name
required
string | null
prefix
required

The first eight characters after sk_test_ or sk_live_: enough to recognise a key, never enough to use it.

string
tenant_id
required

Optional tenant this object belongs to, for multi-tenant customers.

string | null
status
required
string
Allowed values: active revoked
created_at
required

ISO 8601 instant in UTC.

string format: date-time
Example
2026-09-08T07:00:00Z
last_used_at
required

The last request made with the key, to the minute. null: never used.

string | null format: date-time
Example
2026-09-08T07:00:00Z
revoked_at
required

ISO 8601 instant in UTC.

string | null format: date-time
Example
2026-09-08T07:00:00Z
session
required

The session this answer was read with.

object
expires_at
required

ISO 8601 instant in UTC.

string format: date-time
Example
2026-09-08T07:00:00Z
billing
required

The Stripe subscription of the account, or null when it has never had one. The plan of the account follows it.

object
status
required
string
Allowed values: incomplete incomplete_expired trialing active past_due canceled unpaid paused
live
required

Whether the account still has this subscription: incomplete, trialing, active or past_due. While it is live a second checkout is refused; unpaid and paused are not live.

boolean
plan
required
string
Allowed values: pro scale
current_period_end
required

The end of the current period: the first of the next month, at midnight UTC.

string | null format: date-time
Example
2026-09-08T07:00:00Z
cancel_at_period_end
required
boolean
scheduled_plan
required

The plan the subscription moves to at the end of the period, when a move down is scheduled.

string | null
Allowed values: pro scale
past_due_since
required

The first failed payment of the period, or null when payments are up to date.

string | null format: date-time
Example
2026-09-08T07:00:00Z
grace_ends_at
required

Fourteen days after past_due_since: if no payment has succeeded by then, the subscription is closed and the account returns to Free.

string | null format: date-time
Example
2026-09-08T07:00:00Z
unpaid_invoice
required

An invoice left open when the subscription was closed for non payment, or null. A new checkout is refused until it is paid.

object
id
required
string
number
required
string | null
amount_due
required
integer
currency
required
string
url
required

The Stripe page where the invoice is paid (hosted_invoice_url).

string | null
terms
required

The versions of the terms in force, and whether the account has accepted them.

object
terms_version
required
string
dpa_version
required
string
accepted_at
required

When the account accepted these versions of the terms and of the DPA, or null: then the checkout asks for both ticks first.

string | null format: date-time
Example
2026-09-08T07:00:00Z
Bookrail-Request-Id
required
string

Identifier of this request. Quote it to support.

Bookrail-Version
required
string

The API version this response was produced with.

RateLimit-Limit
string

Requests this key may have in flight at one instant: the burst of its policy.

RateLimit-Remaining
string

Requests this key may still make right now, as a whole number.

RateLimit-Reset
string

Whole seconds until RateLimit-Remaining is back at RateLimit-Limit.

RateLimit-Policy
string

unavailable when no limit could be applied to this request, because the store that holds the counters did not answer. The three counters are then absent and the request was served.

Error codes: parameter_invalid, unsupported_api_version.

object
error
required
object
type
required
string
Allowed values: invalid_request authentication permission not_found conflict rate_limit policy_violation payment_required internal
code
required

Machine readable code. The set is per operation; each response below lists the ones it can produce.

string
message
required
string
param

The field or header the error is about, when there is one.

string
fix

What to do next, when there is one thing to do. Present on the errors that are about the state of the deployment rather than about the request.

string
doc_url
required
string
request_id
required
string
Bookrail-Request-Id
required
string

Identifier of this request. Quote it to support.

Bookrail-Version
required
string

The API version this response was produced with.

RateLimit-Limit
string

Requests this key may have in flight at one instant: the burst of its policy.

RateLimit-Remaining
string

Requests this key may still make right now, as a whole number.

RateLimit-Reset
string

Whole seconds until RateLimit-Remaining is back at RateLimit-Limit.

RateLimit-Policy
string

unavailable when no limit could be applied to this request, because the store that holds the counters did not answer. The three counters are then absent and the request was served.

Error codes: dashboard_session_invalid.

object
error
required
object
type
required
string
Allowed values: invalid_request authentication permission not_found conflict rate_limit policy_violation payment_required internal
code
required

Machine readable code. The set is per operation; each response below lists the ones it can produce.

string
message
required
string
param

The field or header the error is about, when there is one.

string
fix

What to do next, when there is one thing to do. Present on the errors that are about the state of the deployment rather than about the request.

string
doc_url
required
string
request_id
required
string
Bookrail-Request-Id
required
string

Identifier of this request. Quote it to support.

Bookrail-Version
required
string

The API version this response was produced with.

RateLimit-Limit
string

Requests this key may have in flight at one instant: the burst of its policy.

RateLimit-Remaining
string

Requests this key may still make right now, as a whole number.

RateLimit-Reset
string

Whole seconds until RateLimit-Remaining is back at RateLimit-Limit.

RateLimit-Policy
string

unavailable when no limit could be applied to this request, because the store that holds the counters did not answer. The three counters are then absent and the request was served.

Error codes: rate_limited.

object
error
required
object
type
required
string
Allowed values: invalid_request authentication permission not_found conflict rate_limit policy_violation payment_required internal
code
required

Machine readable code. The set is per operation; each response below lists the ones it can produce.

string
message
required
string
param

The field or header the error is about, when there is one.

string
fix

What to do next, when there is one thing to do. Present on the errors that are about the state of the deployment rather than about the request.

string
doc_url
required
string
request_id
required
string
Bookrail-Request-Id
required
string

Identifier of this request. Quote it to support.

Bookrail-Version
required
string

The API version this response was produced with.

RateLimit-Limit
string

Requests this key may have in flight at one instant: the burst of its policy.

RateLimit-Remaining
string

Requests this key may still make right now, as a whole number.

RateLimit-Reset
string

Whole seconds until RateLimit-Remaining is back at RateLimit-Limit.

RateLimit-Policy
string

unavailable when no limit could be applied to this request, because the store that holds the counters did not answer. The three counters are then absent and the request was served.

Retry-After
string

Whole seconds to wait before sending this request again. At least 1.

Error codes: internal_error.

object
error
required
object
type
required
string
Allowed values: invalid_request authentication permission not_found conflict rate_limit policy_violation payment_required internal
code
required

Machine readable code. The set is per operation; each response below lists the ones it can produce.

string
message
required
string
param

The field or header the error is about, when there is one.

string
fix

What to do next, when there is one thing to do. Present on the errors that are about the state of the deployment rather than about the request.

string
doc_url
required
string
request_id
required
string
Bookrail-Request-Id
required
string

Identifier of this request. Quote it to support.

Bookrail-Version
required
string

The API version this response was produced with.

RateLimit-Limit
string

Requests this key may have in flight at one instant: the burst of its policy.

RateLimit-Remaining
string

Requests this key may still make right now, as a whole number.

RateLimit-Reset
string

Whole seconds until RateLimit-Remaining is back at RateLimit-Limit.

RateLimit-Policy
string

unavailable when no limit could be applied to this request, because the store that holds the counters did not answer. The three counters are then absent and the request was served.