Skip to content
Dashboard

Cancel a reservation.

POST
/reservations/{id}/cancel
curl --request POST \
--url https://api-us.suiteop.com/api/v1/reservations/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/cancel \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{}'

Cancel a reservation by UUID.

id
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
Media type application/json
object
Example generated
{}

Success.

Media type application/json
object
data
required

Response payload.

object
bookingSourceId
required
Any of:
string
checkIn
required
Any of:
string format: date-time
checkInOverride
required
Any of:
string format: date-time
checkInState
required
Any of:
string
checkOut
required
Any of:
string format: date-time
checkOutOverride
required
Any of:
string format: date-time
codeStatus
required
Any of:
string
confirmationCode
required
Any of:
string
confirmedAt
required
Any of:
string format: date-time
createdAt
required
string format: date-time
currency
required
Any of:
string
etaCheckIn
required
Any of:
string format: date-time
etaCheckOut
required
Any of:
string format: date-time
externalReservationId
required
Any of:
string
guestCount
required
Any of:
number
guestEmail
required
Any of:
string
guestFirstName
required
Any of:
string
guestId
required
Any of:
string
guestLastName
required
Any of:
string
guestPhone
required
Any of:
string
hostPayoutCents
required
Any of:
number
id
required
string
isAutoScheduleDisabled
required
boolean
isReturning
required
boolean
nightCount
required
Any of:
number
occupancyMethod
required
Any of:
string
paymentStatus
required
Any of:
string
pmsProvider
required
Any of:
string
portalLoadCount
required
number
propertyGroupId
required
Any of:
string
propertyId
required
Any of:
string
sourceText
required
Any of:
string
status
required
Any of:
string
subtotalCents
required
Any of:
number
totalFeeCents
required
Any of:
number
updatedAt
required
string format: date-time
verificationStatus
required
Any of:
string
verificationStatusChangedAt
required
Any of:
string format: date-time
verificationStatusChangedReason
required
Any of:
string
meta
required

Response metadata present on every success response.

object
pagination

Present on list responses.

object
limit
required

Page size used for this request.

integer
offset
required

Number of items skipped.

integer
total
required

Total number of matching items (across all pages).

integer
requestId
required

Unique identifier for this request.

string
Example generated
{
"data": {
"bookingSourceId": "example",
"checkIn": "2026-04-15T12:00:00Z",
"checkInOverride": "2026-04-15T12:00:00Z",
"checkInState": "example",
"checkOut": "2026-04-15T12:00:00Z",
"checkOutOverride": "2026-04-15T12:00:00Z",
"codeStatus": "example",
"confirmationCode": "example",
"confirmedAt": "2026-04-15T12:00:00Z",
"createdAt": "2026-04-15T12:00:00Z",
"currency": "example",
"etaCheckIn": "2026-04-15T12:00:00Z",
"etaCheckOut": "2026-04-15T12:00:00Z",
"externalReservationId": "example",
"guestCount": 1,
"guestEmail": "example",
"guestFirstName": "example",
"guestId": "example",
"guestLastName": "example",
"guestPhone": "example",
"hostPayoutCents": 1,
"id": "example",
"isAutoScheduleDisabled": true,
"isReturning": true,
"nightCount": 1,
"occupancyMethod": "example",
"paymentStatus": "example",
"pmsProvider": "example",
"portalLoadCount": 1,
"propertyGroupId": "example",
"propertyId": "example",
"sourceText": "example",
"status": "example",
"subtotalCents": 1,
"totalFeeCents": 1,
"updatedAt": "2026-04-15T12:00:00Z",
"verificationStatus": "example",
"verificationStatusChangedAt": "2026-04-15T12:00:00Z",
"verificationStatusChangedReason": "example"
},
"meta": {
"pagination": {
"limit": 1,
"offset": 1,
"total": 1
},
"requestId": "example"
}
}
Idempotency-Replayed
string

Present with value ‘true’ only when this response was replayed from a previously stored Idempotency-Key result.

X-RateLimit-Limit
integer

Maximum requests per minute for this API key.

X-RateLimit-Remaining
integer

Remaining requests in the current rate-limit window.

X-RateLimit-Reset
integer

Unix epoch seconds when the rate-limit window resets.

X-Request-Id
string

Unique identifier for this request (matches meta.requestId in the body).

400

Media type application/json
ValidationError

Error envelope returned for HTTP 400 responses.

object
error
required
object
code
required

Machine-readable error code.

string
details

Optional structured details (omitted when undefined).

object
key
additional properties
any
message
required

Human-readable error message.

string
type
required

Error type.

string
Allowed values: validation_error
meta
required
object
requestId
required
string
Example
{
"error": {
"type": "validation_error"
}
}
X-RateLimit-Limit
integer

Maximum requests per minute.

X-RateLimit-Remaining
integer

Remaining requests in the current window.

X-RateLimit-Reset
integer

Unix epoch seconds when the window resets.

X-Request-Id
string

Request correlation id (also in meta.requestId).

401

Media type application/json
AuthenticationError

Error envelope returned for HTTP 401 responses.

object
error
required
object
code
required

Machine-readable error code.

string
details

Optional structured details (omitted when undefined).

object
key
additional properties
any
message
required

Human-readable error message.

string
type
required

Error type.

string
Allowed values: authentication_error
meta
required
object
requestId
required
string
Example
{
"error": {
"type": "authentication_error"
}
}
X-Request-Id
string

Request correlation id (also in meta.requestId).

403

Media type application/json
AuthorizationError

Error envelope returned for HTTP 403 responses.

object
error
required
object
code
required

Machine-readable error code.

string
details

Optional structured details (omitted when undefined).

object
key
additional properties
any
message
required

Human-readable error message.

string
type
required

Error type.

string
Allowed values: authorization_error
meta
required
object
requestId
required
string
Example
{
"error": {
"type": "authorization_error"
}
}
X-RateLimit-Limit
integer

Maximum requests per minute.

X-RateLimit-Remaining
integer

Remaining requests in the current window.

X-RateLimit-Reset
integer

Unix epoch seconds when the window resets.

X-Request-Id
string

Request correlation id (also in meta.requestId).

404

Media type application/json
NotFoundError

Error envelope returned for HTTP 404 responses.

object
error
required
object
code
required

Machine-readable error code.

string
details

Optional structured details (omitted when undefined).

object
key
additional properties
any
message
required

Human-readable error message.

string
type
required

Error type.

string
Allowed values: not_found_error
meta
required
object
requestId
required
string
Example
{
"error": {
"type": "not_found_error"
}
}
X-RateLimit-Limit
integer

Maximum requests per minute.

X-RateLimit-Remaining
integer

Remaining requests in the current window.

X-RateLimit-Reset
integer

Unix epoch seconds when the window resets.

X-Request-Id
string

Request correlation id (also in meta.requestId).

409

Media type application/json
ConflictError

Error envelope returned for HTTP 409 responses.

object
error
required
object
code
required

Machine-readable error code.

string
details

Optional structured details (omitted when undefined).

object
key
additional properties
any
message
required

Human-readable error message.

string
type
required

Error type.

string
Allowed values: conflict_error
meta
required
object
requestId
required
string
Example
{
"error": {
"type": "conflict_error"
}
}
X-RateLimit-Limit
integer

Maximum requests per minute.

X-RateLimit-Remaining
integer

Remaining requests in the current window.

X-RateLimit-Reset
integer

Unix epoch seconds when the window resets.

X-Request-Id
string

Request correlation id (also in meta.requestId).

422

Media type application/json
BusinessRuleError

Error envelope returned for HTTP 422 responses.

object
error
required
object
code
required

Machine-readable error code.

string
details

Optional structured details (omitted when undefined).

object
key
additional properties
any
message
required

Human-readable error message.

string
type
required

Error type.

string
Allowed values: business_rule_error
meta
required
object
requestId
required
string
Example
{
"error": {
"type": "business_rule_error"
}
}
X-RateLimit-Limit
integer

Maximum requests per minute.

X-RateLimit-Remaining
integer

Remaining requests in the current window.

X-RateLimit-Reset
integer

Unix epoch seconds when the window resets.

X-Request-Id
string

Request correlation id (also in meta.requestId).

429

Media type application/json
RateLimitError

Error envelope returned for HTTP 429 responses.

object
error
required
object
code
required

Machine-readable error code.

string
details

Optional structured details (omitted when undefined).

object
key
additional properties
any
message
required

Human-readable error message.

string
type
required

Error type.

string
Allowed values: rate_limit_error
meta
required
object
requestId
required
string
Example
{
"error": {
"type": "rate_limit_error"
}
}
Retry-After
integer

Number of seconds to wait before retrying.

X-RateLimit-Limit
integer

Maximum requests per minute.

X-RateLimit-Remaining
integer

Remaining requests in the current window.

X-RateLimit-Reset
integer

Unix epoch seconds when the window resets.

X-Request-Id
string

Request correlation id (also in meta.requestId).

500

Media type application/json
InternalError

Error envelope returned for HTTP 500 responses.

object
error
required
object
code
required

Machine-readable error code.

string
details

Optional structured details (omitted when undefined).

object
key
additional properties
any
message
required

Human-readable error message.

string
type
required

Error type.

string
Allowed values: internal_error
meta
required
object
requestId
required
string
Example
{
"error": {
"type": "internal_error"
}
}
X-RateLimit-Limit
integer

Maximum requests per minute.

X-RateLimit-Remaining
integer

Remaining requests in the current window.

X-RateLimit-Reset
integer

Unix epoch seconds when the window resets.

X-Request-Id
string

Request correlation id (also in meta.requestId).