Skip to content

GraphQL reference

The full Developer API schema below is generated from the SDL in the app repo (graphql/developer/{version}/), so it always matches what the endpoint serves. Edit a description in the .graphql files and re-run npm run generate to update this page.

All operations are sent as POST to the dated GraphQL endpoint with your bearer token.

Try it

Run queries against the live endpoint right here. Paste your install's API token, adjust the endpoint if needed, and explore the schema with autocomplete.

GraphQL API — 2026-01

The complete schema for the 2026-01 Developer API, generated from the SDL in the app repo (graphql/developer/2026-01/). All operations are served from POST /developer/api/2026-01/graphql.

Queries

apiVersion

The API version served by this endpoint.

graphql
apiVersion: String!

currentApp

The app making the request, resolved from the bearer token. Null if unauthenticated.

graphql
currentApp: App

Mutations

paymentSessionResolve

Mark a payment session as successfully paid.

graphql
paymentSessionResolve(id: ID!, providerReference: String, amount: Float): PaymentSessionMutationResult!
ArgumentTypeDefaultDescription
idID!
providerReferenceString
amountFloat

paymentSessionReject

Mark a payment session as failed/declined.

graphql
paymentSessionReject(id: ID!, reason: String): PaymentSessionMutationResult!
ArgumentTypeDefaultDescription
idID!
reasonString

paymentSessionPending

Mark a payment session as still pending an asynchronous outcome.

graphql
paymentSessionPending(id: ID!, providerReference: String): PaymentSessionMutationResult!
ArgumentTypeDefaultDescription
idID!
providerReferenceString

reservationCreate

Create or update a reservation that originated on an external channel.

graphql
reservationCreate(input: ReservationInput!): ReservationMutationResult!
ArgumentTypeDefaultDescription
inputReservationInput!

availabilityUpdate

Push availability changes for a unit from an external channel.

graphql
availabilityUpdate(input: AvailabilityInput!): AvailabilityMutationResult!
ArgumentTypeDefaultDescription
inputAvailabilityInput!

Object types

PaymentSessionMutationResult

FieldTypeDescription
paymentSessionPaymentSessionThe affected session, or null when the input was invalid.
userErrors[UserError!]!Per-field problems with the request; empty on success.

PaymentSession

FieldTypeDescription
idID!
statusString!
amountString!
currencyString!
providerReferenceString

UserError

FieldTypeDescription
field[String!]Path to the offending argument.
messageString!

ReservationMutationResult

FieldTypeDescription
reservationReservation
userErrors[UserError!]!

Reservation

FieldTypeDescription
idID!
externalIdString!
channelString!
statusString!

AvailabilityMutationResult

FieldTypeDescription
okBoolean!
userErrors[UserError!]!

App

An installed app instance, scoped to the team that installed it.

FieldTypeDescription
idID!
nameString!
typeString!

Input types

ReservationInput

FieldTypeDescription
externalIdString!The reservation id in the external channel.
channelString!Channel slug, e.g. airbnb / vrbo / booking_com.
checkInString!
checkOutString!
unitIdID
guestNameString
guestEmailString
totalAmountFloat
currencyString

AvailabilityInput

FieldTypeDescription
unitIdID!
dates[String!]!ISO dates (YYYY-MM-DD) the change applies to.
availableBoolean!

© Stayblox — Developer Platform