Sandbox

Try every scenario without touching real data; simulate what owners do.

Every agency has its own sandbox: three sample properties just for you (one subscribed, one needing approval, one with instant approval) with calendars and rates. Everything you do with a test key only affects these properties; other agencies cannot see yours and you cannot see theirs.

Webhooks work in the sandbox like the real thing: with livemode: false, the same signature and the same retry logic. A webhook endpoint made with a test key only receives sandbox events.

Simulating owner actions

EndpointWhat happensEvent you get
POST /v1/sandbox/simulate/owner-blockThe owner closes datescalendar.updated (owner)
POST /v1/sandbox/simulate/owner-unblockThe owner reopens datescalendar.updated (owner)
POST /v1/sandbox/simulate/other-agency-bookingAnother agency bookscalendar.updated (agency)
POST /v1/sandbox/simulate/price-changeThe owner changes the pricerates.updated
POST /v1/sandbox/simulate/property-updateThe owner edits the listingproperty.updated
POST /v1/sandbox/simulate/subscription-approveThe owner approves your requestsubscription.approved
POST /v1/sandbox/simulate/subscription-revokeThe owner ends your subscriptionsubscription.revoked
curl
curl -s -X POST https://api.cesisync.com/v1/sandbox/simulate/owner-block \
  -H "Authorization: Bearer $BP_KEY" -H "Content-Type: application/json" \
  -d '{"propertyId":"'$PROPERTY_ID'","from":"2027-02-01","to":"2027-02-05"}'

Resetting

POST /v1/sandbox/reset (or Reset the sandbox in the panel) deletes all your test reservations and changes and puts the three sample properties back. Call it at the start of your automated tests to begin each run from a clean state.

Differences from live

  • A test key is limited to 120 requests a minute (live: 600).
  • Sandbox properties have no real owner: no e-mail or message is sent.
  • The sandbox needs no agency approval; a live key does.