Retrieve the calling project
GET /v1/project
Answers “who am I”: the project the API key belongs to, and the attributes of the key itself. The key is the selector, so there is no identifier to pass.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Header Parameters
Section titled “Header Parameters ”The dated API version to speak. Defaults to 2026-09-01; an unsupported value is a 400.
Example
2026-09-01Which Bookrail tool the caller is, recorded as actor.via on every event the request writes. A closed list: an unknown value is a 400. Absent means the request declared no tool.
Responses
Section titled “ Responses ”Success.
object
Identifier of a project, prefixed with proj_.
Example
proj_0198f0c2a1b47e2e9a1c0f4d5e6a7b8cThe environment of the API key that created the object.
object
Identifier of a api_key, prefixed with key_.
Example
key_0198f0c2a1b47e2e9a1c0f4d5e6a7b8cThe environment of the API key that created the object.
Stored, not yet enforced. An empty list means no restriction.
Optional tenant this object belongs to, for multi-tenant customers.
The plan of the account this project belongs to.
object
The calendar month the numbers are about, in UTC: YYYY-MM.
Example
2026-09Live 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.
Confirmed live bookings the plan includes each month. null: negotiated.
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.
Paid volume the plan includes each month, in the minor unit. null: not capped (a paying plan is billed on the volume instead).
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.
Whether reaching an included quantity refuses the next live booking with 402 plan_limit_reached. True on the free plan only.
ISO 8601 instant in UTC.
Example
2026-09-08T07:00:00ZHeaders
Section titled “Headers ”Identifier of this request. Quote it to support.
The API version this response was produced with.
Requests this key may have in flight at one instant: the burst of its policy.
Requests this key may still make right now, as a whole number.
Whole seconds until RateLimit-Remaining is back at RateLimit-Limit.
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.
<confirmed>/<included>: the confirmed live bookings of the account this month, over the ones its plan includes, as they stood when this request started. On responses to live keys only, and absent for a plan whose included bookings are negotiated and for a key scoped to a tenant.
Error codes: parameter_invalid, unsupported_api_version.
object
object
Machine readable code. The set is per operation; each response below lists the ones it can produce.
The field or header the error is about, when there is one.
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.
Headers
Section titled “Headers ”Identifier of this request. Quote it to support.
The API version this response was produced with.
Requests this key may have in flight at one instant: the burst of its policy.
Requests this key may still make right now, as a whole number.
Whole seconds until RateLimit-Remaining is back at RateLimit-Limit.
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.
<confirmed>/<included>: the confirmed live bookings of the account this month, over the ones its plan includes, as they stood when this request started. On responses to live keys only, and absent for a plan whose included bookings are negotiated and for a key scoped to a tenant.
Error codes: invalid_api_key, invalid_authorization_header, missing_api_key, revoked_api_key.
object
object
Machine readable code. The set is per operation; each response below lists the ones it can produce.
The field or header the error is about, when there is one.
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.
Headers
Section titled “Headers ”Identifier of this request. Quote it to support.
The API version this response was produced with.
Requests this key may have in flight at one instant: the burst of its policy.
Requests this key may still make right now, as a whole number.
Whole seconds until RateLimit-Remaining is back at RateLimit-Limit.
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.
<confirmed>/<included>: the confirmed live bookings of the account this month, over the ones its plan includes, as they stood when this request started. On responses to live keys only, and absent for a plan whose included bookings are negotiated and for a key scoped to a tenant.
Error codes: rate_limited.
object
object
Machine readable code. The set is per operation; each response below lists the ones it can produce.
The field or header the error is about, when there is one.
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.
Headers
Section titled “Headers ”Identifier of this request. Quote it to support.
The API version this response was produced with.
Requests this key may have in flight at one instant: the burst of its policy.
Requests this key may still make right now, as a whole number.
Whole seconds until RateLimit-Remaining is back at RateLimit-Limit.
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.
<confirmed>/<included>: the confirmed live bookings of the account this month, over the ones its plan includes, as they stood when this request started. On responses to live keys only, and absent for a plan whose included bookings are negotiated and for a key scoped to a tenant.
Whole seconds to wait before sending this request again. At least 1.
Error codes: internal_error.
object
object
Machine readable code. The set is per operation; each response below lists the ones it can produce.
The field or header the error is about, when there is one.
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.
Headers
Section titled “Headers ”Identifier of this request. Quote it to support.
The API version this response was produced with.
Requests this key may have in flight at one instant: the burst of its policy.
Requests this key may still make right now, as a whole number.
Whole seconds until RateLimit-Remaining is back at RateLimit-Limit.
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.
<confirmed>/<included>: the confirmed live bookings of the account this month, over the ones its plan includes, as they stood when this request started. On responses to live keys only, and absent for a plan whose included bookings are negotiated and for a key scoped to a tenant.