Hoppa till innehåll

Developers

Stayo's public API

Stayo's public REST API lets you build your own integrations, apps and reports against bookings, guests, rooms and rates. Authentication via API key.

Base URLhttps://api.stayo.se/public/v1/

What can you build?

Custom integrations

Connect Stayo to your existing systems — CRM, marketing automation, ERP or your own in-house tools.

Tailor-made apps

Build your own interfaces for front desk, housekeeping or management on top of the same data Stayo uses.

Reports & BI

Pull bookings, occupancy and revenue into Power BI, Looker Studio, Excel or your own data warehouse.

Automation

Trigger workflows in Make, Zapier or n8n based on new bookings, check-ins or payments.

Authentication

All requests are authenticated with an API key that you create under Settings → Developers in Stayo. Send the key as a Bearer token in the Authorization header.

  • Separate keys for test and production (sk_test_… / sk_live_…).
  • The key is only shown once — store it securely.
  • Always sent over HTTPS. Never in client-side code or URLs.
  • Can be rotated or revoked at any time.
curl https://api.stayo.se/public/v1/bookings \
  -H "Authorization: Bearer sk_live_xxxxxxxxxxxxxxxx" \
  -H "Accept: application/json"

Endpoints (selection)

REST-based API with JSON. The full OpenAPI specification is provided to active integrators.

MethodPathDescription
GET/bookingsList bookings with filters for date, status and channel.
POST/bookingsCreate a new booking.
GET/bookings/{id}Fetch a single booking.
PATCH/bookings/{id}Update status, dates or guest details.
GET/guestsSearch and list guests.
GET/roomsList rooms, room types and availability.
GET/ratesFetch rates and rate rules.
GET/invoicesList invoices and receipts.
POST/webhooksRegister webhooks for real-time events.

Example response

{
  "data": [
    {
      "id": "bk_01HXYZ...",
      "status": "confirmed",
      "channel": "booking.com",
      "arrival": "2026-08-12",
      "departure": "2026-08-15",
      "guest": { "name": "Anna Andersson", "email": "anna@example.com" },
      "room": { "id": "rm_12", "type": "Dubbelrum" },
      "total": { "amount": 4200, "currency": "SEK" }
    }
  ],
  "meta": { "page": 1, "per_page": 50, "total": 128 }
}

Rate limits

60 requests per minute per API key by default. Current status is available in the response headers X-RateLimit-Remaining and X-RateLimit-Reset. Need more? Get in touch.

Versioning

The version is specified in the URL (/public/v1/). Non-breaking changes may be added within the same version. Breaking changes only happen in new versions with at least 6 months of overlap.

Webhooks

Subscribe to events like booking.created, booking.updated and payment.succeeded. All webhooks are signed with HMAC-SHA256.

Get started with the API

The API is available to Stayo customers on the Growth plan and above. Get in touch and we'll activate access, send the OpenAPI specification and help you get started.