Appearance
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: AppMutations
paymentSessionResolve
Mark a payment session as successfully paid.
graphql
paymentSessionResolve(id: ID!, providerReference: String, amount: Float): PaymentSessionMutationResult!| Argument | Type | Default | Description |
|---|---|---|---|
id | ID! | ||
providerReference | String | ||
amount | Float |
paymentSessionReject
Mark a payment session as failed/declined.
graphql
paymentSessionReject(id: ID!, reason: String): PaymentSessionMutationResult!| Argument | Type | Default | Description |
|---|---|---|---|
id | ID! | ||
reason | String |
paymentSessionPending
Mark a payment session as still pending an asynchronous outcome.
graphql
paymentSessionPending(id: ID!, providerReference: String): PaymentSessionMutationResult!| Argument | Type | Default | Description |
|---|---|---|---|
id | ID! | ||
providerReference | String |
reservationCreate
Create or update a reservation that originated on an external channel.
graphql
reservationCreate(input: ReservationInput!): ReservationMutationResult!| Argument | Type | Default | Description |
|---|---|---|---|
input | ReservationInput! |
availabilityUpdate
Push availability changes for a unit from an external channel.
graphql
availabilityUpdate(input: AvailabilityInput!): AvailabilityMutationResult!| Argument | Type | Default | Description |
|---|---|---|---|
input | AvailabilityInput! |
Object types
PaymentSessionMutationResult
| Field | Type | Description |
|---|---|---|
paymentSession | PaymentSession | The affected session, or null when the input was invalid. |
userErrors | [UserError!]! | Per-field problems with the request; empty on success. |
PaymentSession
| Field | Type | Description |
|---|---|---|
id | ID! | |
status | String! | |
amount | String! | |
currency | String! | |
providerReference | String |
UserError
| Field | Type | Description |
|---|---|---|
field | [String!] | Path to the offending argument. |
message | String! |
ReservationMutationResult
| Field | Type | Description |
|---|---|---|
reservation | Reservation | |
userErrors | [UserError!]! |
Reservation
| Field | Type | Description |
|---|---|---|
id | ID! | |
externalId | String! | |
channel | String! | |
status | String! |
AvailabilityMutationResult
| Field | Type | Description |
|---|---|---|
ok | Boolean! | |
userErrors | [UserError!]! |
App
An installed app instance, scoped to the team that installed it.
| Field | Type | Description |
|---|---|---|
id | ID! | |
name | String! | |
type | String! |
Input types
ReservationInput
| Field | Type | Description |
|---|---|---|
externalId | String! | The reservation id in the external channel. |
channel | String! | Channel slug, e.g. airbnb / vrbo / booking_com. |
checkIn | String! | |
checkOut | String! | |
unitId | ID | |
guestName | String | |
guestEmail | String | |
totalAmount | Float | |
currency | String |
AvailabilityInput
| Field | Type | Description |
|---|---|---|
unitId | ID! | |
dates | [String!]! | ISO dates (YYYY-MM-DD) the change applies to. |
available | Boolean! |