> ## Documentation Index
> Fetch the complete documentation index at: https://developer.maatstays.wtf/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> Every change to the partner contract, dated. Additive unless loudly stated otherwise.

The contract's schemas are frozen from publication: changes here are additive — new
endpoints, new optional fields, new error codes — and anything else would be announced
to every integrated partner before it happened, not discovered in a diff.

<Update label="2026-08-26" description="Initial publication">
  **The Partner API is published**, spec version `2026-08-26`, and the sandbox is open.

  Live in a sandbox workspace:

  * **Authentication** — the key-for-token exchange at `POST /v1/token`, with per-request
    revocation.
  * **Properties** — `PUT /v1/properties/{provider_id}` creates and replaces real
    properties, with asynchronous photo ingestion and the
    `publishable` / `missing` / `photos_rejected` / `unknown_amenities` response contract.
  * **Calendar blocks** — `PUT` / `DELETE /v1/blocks/{external_uid}` and `GET /v1/blocks`,
    with whole-range `409` conflicts and machine-readable `conflicts[]`.
  * **Webhook registration** — `PUT /v1/webhooks/endpoint` with the signed
    `endpoint.challenge` round-trip, per-partner signing secrets and dual-secret
    rotation.
  * **Deletion acknowledgment** —
    `POST /v1/deletion-requests/{event_id}/acknowledge`, recording your confirmation
    against the `user.erased` delivery it answers.

  Published and not yet enabled (`501` after full authentication and validation):

  * every contract endpoint against a **production** workspace;
  * addressing a calendar block by `provider_id` (use `listing_id` — the reference names
    the working route) — each operation's reference page states its current status.
</Update>
