Soho House API (Unoffizieller Technischer Leitfaden 2025)
Ein umfassender technischer Einblick in das digitale Ökosystem von Soho House. Wir analysieren die Staging-Umgebungen, Integrationen von Drittanbietern (Oracle Simphony, Agora, Algolia) und die interne Logik hinter 'House Pay', Zimmerbuchungen und Mitgliederverbindungen, wie sie in der öffentlichen API-Spezifikation von 2025 offengelegt sind.
The Tech Insider
Author
The Tech Insider

Soho House API (Unoffizieller Technischer Leitfaden 2025)
Am 8. Oktober 2025 wurde eine umfassende Postman-Sammlung für das digitale Ökosystem von Soho House öffentlich verfügbar gemacht unter docs.sohohousedigital.com. Obwohl sie für den internen Gebrauch gedacht ist, bietet ihre Verfügbarkeit einen faszinierenden Einblick, wie eine globale Luxus-Hotelmarke ihre digitale Mitgliedschaftserfahrung gestaltet.
Dieser Leitfaden analysiert den technischen Stack, die Staging-Umgebungen und die Integrationen von Drittanbietern (Oracle Simphony, Agora, 3C), die alles von Zimmerbuchungen bis zur "House Pay"-Rechnungsteilungsfunktion antreiben. Er enthält ein vollständiges Referenzdokument zu Endpunkten, Parametern und Konfigurationsdetails, die in der Spezifikation zu finden sind.
Haftungsausschluss: Wir sind nicht mit Soho House & Co. verbunden. Diese Analyse basiert ausschließlich auf öffentlich zugänglicher Dokumentation und dient Bildungs- und Interoperabilitätsforschungszwecken.
1. Infrastruktur & Umgebungen
Die API-Spezifikation zeigt eine klare Trennung zwischen Produktions- und Staging-Umgebungen und nutzt eine Microservices-ähnliche Routing-Architektur. Sie legt auch spezifische Submarken wie "The Ned" und "Soho Works" offen, die auf unterschiedlichen Identitätsanbietern betrieben werden.
Hostnamen & Dienste
- Produktions-API:
https://api.production.sohohousedigital.com - Staging-API:
https://api.staging.sohohousedigital.com - The Ned (Staging):
https://api-ned.staging.sohohousedigital.com - Versionskontrolldienst:
https://vcs-master.staging.sohohousedigital.com(Verwendet fürforce_update-Überprüfungen) - Algolia-Suche:
https://MRH59RRZDT-dsn.algolia.net(App-ID:MRH59RRZDT)
Identitätsanbieter
Die Authentifizierung ist über verschiedene Marken hinweg föderiert:
- Soho House:
identity.houseseven.com - The Ned:
identity.thened.com - Soho Works:
identity.sohohouse.com
2. Authentifizierung & Das "Öffentliche Geheimnis"
Die API verwendet standardmäßiges OAuth2. Da die mobilen Apps "öffentliche Clients" sind, sind die client_id und client_secret direkt im Anwendungscode eingebettet. Die Postman-Sammlung legt diese Anmeldeinformationen explizit offen, was es uns ermöglicht, den Authentifizierungsfluss zu verstehen.
Anmeldeinformationen in der Spezifikation gefunden:
client_id: "200140c7**************************************3b96fef0"
client_secret: "7362f55c4**************************************2e29018a6"
Die Gateway-Header
Sobald sich ein Benutzer über /oauth/token anmeldet, injiziert das API-Gateway spezifische Header in die Upstream-Anfragen. Dies zeigt, wie Soho House Berechtigungen für mehrere Standorte verwaltet, ohne die Datenbank bei jeder Anfrage abzufragen:
X-Sh-Global-Id: Die eindeutige UUID des Benutzers.X-Sh-Business-Unit: Segmentiert Benutzer nach Marke (z. B.sh,ned).X-Sh-Memberships: z. B.EVERY_HOUSE,REGULAR,CITIES_WITHOUT_HOUSES.X-Sh-Sites: Eine durch Kommas getrennte Liste von autorisierten Standortcodes (z. B.180_HOUSE,SHD(Shoreditch),BH(Babington),GRS(Greek Street)).
3. Endpunktreferenz & Konfiguration
A. Authentifizierung & Identität
Standard-OAuth2-Flows, die verwendet werden, um das Bearer-Token zu generieren, das für alle anderen Endpunkte erforderlich ist.
| Methode | Endpunkt | Beschreibung | Params / Payload |
|---|---|---|---|
GET |
/oauth/authorize |
Web-Login-Flow | response_type=code, client_id, redirect_uri |
POST |
/oauth/token |
Code/Anmeldeinformationen austauschen | grant_type (password/authorization_code), client_id, client_secret |
POST |
/api/v1/identities |
Konto erstellen | email, password, first_name, last_name, phone_number |
PUT |
/api/v1/password |
Passwort ändern | old_password, password, password_confirmation |
GET |
/api/v1/me |
Legacy-Konto-Info | Gibt grundlegende ID und lokalen Standort zurück |
B. Konten, Profile & Mitgliedschaften
Endpunkte zur Verwaltung der digitalen Identität des Benutzers. Der Parameter include deutet auf eine relationale Datenbankstruktur im Backend hin.
| Methode | Endpunkt | Beschreibung | Konfiguration / Hinweise |
|---|---|---|---|
GET |
/profiles/accounts/me |
Vollständige Kontodetails | include=profile,membership,local_house |
PATCH |
/profiles/accounts/me |
Konto aktualisieren | Adresse, Einwilligungen, Telefonnummer aktualisieren |
GET |
/profiles/profiles/me |
Öffentliche Profildaten | Gibt Bio, soziale Handles, Berufsbezeichnung zurück |
PATCH |
/profiles/profiles/me |
Profil aktualisieren | Bio, soziale Handles, Beruf aktualisieren |
GET |
/profiles/memberships/me |
Mitgliedschaftsstatus | Gibt Status, Start-/Enddaten, Mitarbeitertyp (is_staff) zurück |
GET |
/profiles/interests |
Liste der Interessen | filter[name][prefix] für Autovervollständigung |
GET |
/profiles/occupations |
Liste der Berufe | filter[name][prefix] für Autovervollständigung |
GET |
/profiles/membership_cards/{number}/profile |
Nach Karte suchen | Löst eine physische Kartennummer in eine globale ID auf |
C. Veranstaltungen & Kino
Umfassende Endpunkte zum Auflisten und Buchen von Hausveranstaltungen. Die Logik umfasst spezifische Handhabung für "Lotterien" (Veranstaltungen mit hoher Nachfrage).
| Methode | Endpunkt | Beschreibung | Wichtige Filter / Params |
|---|---|---|---|
GET |
/events/events |
Veranstaltungen suchen | filter[location_id], filter[date][from], filter[category], filter[event_type] |
GET |
/events/events/{id} |
Einzelne Veranstaltung | include=venue,resource |
GET |
/events/event_categories |
Kategorien auflisten | filter[event_type] |
GET |
/events/bookings |
Benutzerbuchungen auflisten | filter[state] (gebucht/storniert), include=event,venue |
POST |
/events/bookings |
Veranstaltung buchen | Payload: guests-Array, event-ID, payment_card-ID |
DELETE |
/events/bookings/{id} |
Buchung stornieren | N/A |
D. Zimmer (Hotelbuchung)
Die rooms-Endpunkte zeigen interne Codes für Zimmertypen und Preispläne. Der days-Endpunkt ist besonders interessant, da er den Rohpreis-Kalender offenlegt.
| Methode | Endpunkt | Beschreibung | Insider-Hinweise / Params |
|---|---|---|---|
GET |
/rooms/hotels |
Hotels auflisten | Gibt Buchungs-URLs und Steuerinformationen zurück |
GET |
/rooms/availabilities |
Zimmer suchen | filter[rate_plan_type] (z. B. MEMBER_RATE, FRIENDS) |
GET |
/rooms/days |
Preis-Kalender | Legt Zimmercodes offen: TINY, SMALL, MEDM, LARG |
GET |
/rooms/room_bookings |
Buchungen auflisten | filter[status], filter[starts_at][from] |
POST |
/rooms/room_bookings |
Buchung erstellen | Payload: address, dates, availability_rate-ID |
PATCH |
/rooms/room_bookings/{id} |
Buchung ändern | Daten oder Gästeanzahl ändern |
E. House Pay (Rechnungen & Simphony-Integration)
Dieser Abschnitt zeigt eine enge Integration mit Oracle Micros Simphony. Die API ermöglicht es Mitgliedern, Restaurantrechnungen direkt zu bezahlen. Sie umfasst einen spezifischen "Walkout"-Endpunkt, der wahrscheinlich verwendet wird, um Rechnungen automatisch gegen die Akte eines Mitglieds zu schließen.
| Methode | Endpunkt | Beschreibung | Insider-Hinweise |
|---|---|---|---|
GET |
/checks/public/checks |
Offene Rechnungen auflisten | filter['status']=open |
GET |
/checks/public/checks/{id} |
Rechnungsdetails abrufen | Gibt Artikel, Steuer, Servicegebühr zurück |
POST |
/checks/public/payments |
Rechnung bezahlen | Payload: check_id, amount_cents, card_id, tip_amount_cents |
POST |
/checks/public/payments/walkout |
Walkout-Zahlung | Verwendet simphony_manager_id, um die Rechnung zu schließen |
POST |
/checks/public/checks/{id}/discount |
Rabatt anwenden | Payload: discount_id (z. B. U27-Raten) |
POST |
/checks/public/checks/{id}/email |
Quittung per E-Mail senden | Auslösen einer PDF-Quittung per E-Mail |
GET |
/payments/cards |
Karten auflisten | filter[venue] (normalerweise hartcodiert 'GRS') |
F. Tische (Restaurantbuchung)
Die API verwendet einen "Lock"-Mechanismus, um Doppelbuchungen während des Checkout-Prozesses zu verhindern.
| Methode | Endpunkt | Beschreibung | Insider-Hinweise |
|---|---|---|---|
GET |
/tables/availabilities |
Slots suchen | filter[restaurant_id] (z. B. SH_SIXTH_FLOOR_RESTAURANTS) |
POST |
/tables/locks |
Tisch sperren | Sperrt einen Slot für x Minuten, während der Benutzer die Buchung abschließt |
POST |
/tables/table_bookings |
Buchung bestätigen | Erfordert gültige table_lock-ID |
G. Connect & Chat (Agora-Integration)
Die "House Connect"-Funktionen nutzen Agora für die Echtzeitkommunikation, was durch den Parameter agora_id belegt wird.
| Methode | Endpunkt | Beschreibung | Hinweise |
|---|---|---|---|
GET |
/connect/checkins |
Mitteilungsbrett | filter[venue_id], um zu sehen, wer sich im Haus befindet |
POST |
/connect/checkins |
Beitrag zum Mitteilungsbrett | Payload: status, venue_id |
GET |
/chat/timeslots |
Chat-Verfügbarkeit | Listet offene Slots für "House Connect" auf |
POST |
/chat/chat_tokens |
Chat-Token abrufen | Gibt Token für Stream/Agora-Integration zurück |
POST |
/chat/rooms/{id}/room_accesses |
Raum betreten | Payload enthält agora_id |
H. Mitgliedschaftsanträge
Endpunkte, die während des Anmeldeflusses verwendet werden, einschließlich Braintree-Integration für Zahlungen.
| Methode | Endpunkt | Beschreibung |
|---|---|---|
GET |
/applications |
Liste der Anträge des Benutzers |
POST |
/applications |
Neuen Antrag einreichen |
POST |
/applications/{id}/attachments |
ID/Porträt hochladen |
GET |
/products |
Mitgliedschaftsprodukte auflisten |
I. Inhalt & Redaktion
Schreibgeschützte Endpunkte für App-Inhalte, Hausnotizen und statische Seiten.
| Methode | Endpunkt | Beschreibung | Wichtige Filter |
|---|---|---|---|
GET |
/content/house_notes |
Redaktioneller Inhalt | filter[venue_id], filter[content_category_id] |
GET |
/content/perks |
Mitgliederleistungen | filter[region] |
GET |
/content/house_rules |
Hausregeln | filter[venue_id] |
GET |
/content/house_tours |
Hausführungen | filter[venue_id] |
J. Systemsteuerung
| Methode | Endpunkt | Beschreibung |
|---|---|---|
GET |
/force_update |
Gibt 426 Upgrade Required zurück, wenn die App-Version mit einer veralteten Liste übereinstimmt, wodurch Benutzer gezwungen werden, über den App Store zu aktualisieren. |
Fazit
Die Soho House API ist eine anspruchsvolle Implementierung der JSON:API-Standards, die ein komplexes Netz von Legacy-POS-Systemen (Simphony), moderner Echtzeit-Technologie (Agora) und globalem Identitätsmanagement orchestriert. Für Entwickler dient sie als Meisterklasse, wie man Legacy-Hospitality-Systeme in eine moderne, mobil-first REST-API einbettet.
Haftungsausschluss: Diese Analyse basiert auf einem Snapshot von Dokumentationen, die im Oktober 2025 öffentlich verfügbar waren.
Referenzen & Zitationen
Redaktionelle Offenlegung
Dieser Artikel ist eine unabhängige Publikation. Wir sind nicht verbunden mit Soho House & Co. Informationen basieren auf öffentlichen Quellen und Grundsätzen des fairen Gebrauchs für Kommentare und Kritik. Keine Billigung wird impliziert.
