Skip to content

Get started

Quickstart: your first call in 5 minutes

You need a STRYK user account with the right to manage channels, and a terminal with curl, Node.js 18+ or Python 3.

1. Create a key in STRYK

  1. Open the API channel

    In STRYK, go to Channels → API and choose Create API key.

  2. Name the integration

    Use a name your colleagues will recognise later, for example “Booking website (agency Example)”.

  3. Choose scopes

    For this quickstart, Read only is enough. Grant only what the integration needs; a write permission includes reading the same area. See scopes.

  4. Copy the key

    STRYK shows the key once. Store it in your password manager or secret store. If it is lost, rotate the key.

Make the key available to your shell
Shell
export STRYK_API_KEY="stryk_live_…"

2. Call GET /me

GET /me works with every valid key and returns the key's name, scopes, hotel and rate limit. It is the quickest way to check your setup.

curl https://app.staystryk.com/api/partner/v1/me \
  -H "Authorization: Bearer $STRYK_API_KEY"
Response, 200
{
  "keyId": "6f0f3a52-41a8-4d7e-9a43-2b8f5d1c7e90",
  "keyName": "Booking website",
  "keyPrefix": "Hq7bT2xa",
  "scopes": ["property:read", "availability:read", "rates:read"],
  "hotel": { "id": "hotel-alpenblick", "name": "Hotel Alpenblick" },
  "expiresAt": null,
  "rateLimit": { "limit": 120, "windowSeconds": 60 }
}

3. List room types

Now read real data. GET /room-types returns the hotel's categories with occupancy, descriptions per language and images.

curl "https://app.staystryk.com/api/partner/v1/room-types?limit=20" \
  -H "Authorization: Bearer $STRYK_API_KEY"
Response, 200
{
  "data": [
    {
      "id": "0b7e2c1d-5f4a-4c3b-9e8d-7a6b5c4d3e2f",
      "name": "Double room with balcony",
      "code": "DZB",
      "description": { "de": "Doppelzimmer mit Balkon …", "en": "Double room with balcony …" },
      "maxOccupancy": 3,
      "maxAdults": 2,
      "maxChildren": 1,
      "standardOccupancy": 2,
      "images": [{ "url": "https://…/dzb-1.jpg", "alt": "Room with balcony", "position": 1 }],
      "unitCount": 8,
      "active": true,
      "updatedAt": "2026-11-02T09:41:12.000Z",
      "version": "8c1d2e4f"
    }
  ],
  "nextCursor": null,
  "hasMore": false
}

Lists return data, nextCursor and hasMore. When hasMore is true, pass nextCursor as cursor to get the next page, see Pagination.

4. Test safely

Next