PUT /verificationRequests/cancel

Before integrating

Four things to watch out for

  1. A stay can be cancelled up to and including its check-in day, and no later. The same grace period applies as on create: a check-in date of yesterday is still cancellable until 12:00 UTC, and refused from 12:00 UTC onwards.
  2. Cancel closes earlier than modify. Cancellation closes when the check-in passes; modification stays open until the check-out passes. So a stay that has already started can still be modified but can no longer be cancelled. An integration treating the two as equally available will meet this as an apparent inconsistency.
  3. The response carries no verification. A successful cancel returns the echoed metadata and nothing else. The 200 is the confirmation.
  4. echoToken must be a fresh GUID on every request, exactly as on create. Reusing one returns 400. On a timeout, retry with the same echoToken: if the original request succeeded, the retry returns 400 echoToken (<the token>) already exists from a previous request, which confirms the cancellation rather than reporting a failure. A retry sent with a new token instead returns 400 Verification <verificationId> already cancelled, which confirms it too.

Request

Content-Type: application/json, with the subscription key in the Ocp-Apim-Subscription-Key header.

The body carries three objects, all required. There are no optional fields and no reservation dates: the dates that matter are the ones already stored against the verification.

For a string field, the Format column below describes what the value must contain, not the JSON type it must be sent as.

metadata

Level Field Name Required Format Value Set Description
1 metadata True object Carries timeStamp and echoToken. Sent on every request and echoed on every response and error.
2 timeStamp True date-time yyyy-MM-ddTHH:mm:ss.ff Timestamp in ISO format yyyy-MM-ddTHH:mm:ss.ff, for example 2026-09-03T14:31:07.42. On a request this is the client's; on a response and on an error it is the server's.
2 echoToken True string 36 Char A GUID of exactly 36 characters, unique to the request. Reusing one returns 400, which makes retries safe. Responses and errors echo back the token the client sent, or 'Unknown' when it could not be read (a body the parser rejects, or one without metadata) and on some unexpected errors (500).

verification

Level Field Name Required Format Value Set Description
1 verification True object The verification to modify or cancel.
2 verificationId True string 36 Char Identifier of the verification to modify or cancel. Exactly 36 characters, and must be a GUID.

reservation

Level Field Name Required Format Value Set Description
1 reservation True object The reservation the verification belongs to.
2 reservationId True string 1-200 Char Identifier of the reservation. 1-200 characters.

Example request

{
  "metadata": {
    "timeStamp": "2026-09-05T16:02:19.31",
    "echoToken": "4a7e2d90-8f51-4c63-b28a-9d6f1750e3c8"
  },
  "verification": {
    "verificationId": "9c1f7a20-5b84-4d6e-8a13-7f0c2b95e4d1"
  },
  "reservation": {
    "reservationId": "RES-88213"
  }
}

Response