Skip to main content
The Casa Layer API is a headless, read-only surface over the canonical guest data model: guests, master profiles, reservations, the event log, reviews, loyalty, channels, spaces, properties, and the integration roster. Responses are JSON; every endpoint sits under /v1.

Base URL

Authentication

Pass a personal API key as a bearer token on every request:
Keys are generated in the app under Account settings and are shown once at creation. They carry the full read surface (see scopes); connection metadata, key management, and ad-hoc SQL are session-only and excluded from key access.

Tenant scope

Every request is scoped to your property group by default — data across all of your properties. Narrow one request with X-Property-Id, or pin a personal API key at creation. Partner credentials accept the same header. A pinned key ignores it.
Scope is resolved server-side from the credential. A property outside your group returns 403.

Pagination

Most list and search endpoints are keyset-paginated (data, next_cursor, has_more). limit is the page size (default 100, max 500). Properties and integrations return the full roster. Tables use offset pages. See Pagination.

Errors

Errors are JSON with a machine-readable error code. A guest source_id miss is an empty list, not 404. See Errors.

Playground

Every endpoint page in this reference has an interactive playground — paste your API key into the auth field and requests run against the live API with your tenant’s data.
Looking for AI-assistant access? The MCP server exposes the same data through seven tools, authenticated with the same keys.