Skip to content

Operate

Postman & samples

A Postman collection generated from the same contract that validates every request, and the raw contract itself for your own tooling.

The collection

A Postman v2.1 collection generated from this contract: import both, paste your key into the environment's apiKey, and run the folders top to bottom.

Folders: 0 · Start here (property, catalog — fills the variables), 1 · Read our record, 2 · Write (202 + batch), 3 · Did it land?, 4 · Budgets and errors, 5 · Bookings (PMS side) (create → read → list → cancel, with a fresh reservation id per run), and the contract itself.

The contract (OpenAPI 3.1)

https://api.zimmerstack.com/api/v1/public/connect-api/contract — every schema is the zod schema the server validates with, inlined; every request and error carries a sample under x-zimmerstack.samples. Generate a client from it, or diff it in CI to catch additive changes: new optional fields never bump the version, a breaking change ships as /v2 alongside.

fetch the contract
curl -s https://api.zimmerstack.com/api/v1/public/connect-api/contract | jq '.paths | keys'

Sample scripts

Node 18+, no SDK, no dependency. Both live in the ZimmerStack repository under apps/backend/ts/scripts/:

  • connectApiSample.ts — push an availability range, poll the batch until it lands.
  • connectApiBookingSample.ts — create a booking from a JSON file, print the PMS reference, cancel it on request.
shell
CONNECT_API_KEY=zsk_live_… node connectApiBookingSample.mjs booking.json
# → 201 SB-7KQ2MX9D (bookingId 48213) · inventory event recorded · channels: yes

Facts on this page (routes, samples, limits, codes) come from the API's public contract read live, Tue, 20 Oct 2026 12:29:20 GMT.