Soho House API (Onofficiële Technische Gids 2025)
Een uitgebreide technische diepgaande analyse van het digitale ecosysteem van Soho House. We analyseren de staging-omgevingen, integraties van derden (Oracle Simphony, Agora, Algolia) en de interne logica achter 'House Pay', Kamerboekingen en Lidverbindingen zoals onthuld in de openbare API-specificatie van 2025.
The Tech Insider
Author
The Tech Insider

Soho House API (Onofficiële Technische Gids 2025)
Op 8 oktober 2025 werd een uitgebreide Postman-collectie voor het digitale ecosysteem van Soho House openbaar beschikbaar gesteld op docs.sohohousedigital.com. Hoewel bedoeld voor intern gebruik, biedt de beschikbaarheid een fascinerend inzicht in hoe een wereldwijd luxe hospitalitymerk zijn digitale lidmaatschapservaring architectonisch vormgeeft.
Deze gids analyseert de technische stack, staging-omgevingen en integraties van derden (Oracle Simphony, Agora, 3C) die alles aandrijven, van kamerboekingen tot de "House Pay" rekening splitsfunctie. Het bevat een complete referentie van eindpunten, parameters en configuratiedetails die in de specificatie zijn te vinden.
Disclaimer: We zijn niet verbonden met Soho House & Co. Deze analyse is strikt gebaseerd op openbaar toegankelijke documentatie en is bedoeld voor educatieve en interoperabiliteitsonderzoekdoeleinden.
1. Infrastructuur & Omgevingen
De API-specificatie onthult een duidelijke scheiding tussen productie- en staging-omgevingen, waarbij een microservices-achtige routeringsarchitectuur wordt gebruikt. Het stelt ook specifieke submerken bloot zoals "The Ned" en "Soho Works" die opereren op verschillende identiteitsproviders.
Hostnamen & Diensten
- Productie API:
https://api.production.sohohousedigital.com - Staging API:
https://api.staging.sohohousedigital.com - The Ned (Staging):
https://api-ned.staging.sohohousedigital.com - Versiebeheerdienst:
https://vcs-master.staging.sohohousedigital.com(Gebruikt voorforce_updatecontroles) - Algolia Zoekopdracht:
https://MRH59RRZDT-dsn.algolia.net(App ID:MRH59RRZDT)
Identiteitsproviders
Authenticatie is gefedereerd over verschillende merken:
- Soho House:
identity.houseseven.com - The Ned:
identity.thened.com - Soho Works:
identity.sohohouse.com
2. Authenticatie & Het "Openbare Geheim"
De API maakt gebruik van standaard OAuth2. Omdat de mobiele apps "openbare clients" zijn, zijn de client_id en client_secret rechtstreeks in de applicatiecode ingebed. De Postman-collectie stelt deze inloggegevens expliciet bloot, waardoor we de auth-flow kunnen begrijpen.
Inloggegevens gevonden in specificatie:
client_id: "200140c7**************************************3b96fef0"
client_secret: "7362f55c4**************************************2e29018a6"
De Gateway Headers
Zodra een gebruiker inlogt via /oauth/token, injecteert de API Gateway specifieke headers in upstream-verzoeken. Dit onthult hoe Soho House multi-venue machtigingen beheert zonder de database bij elk verzoek te raadplegen:
X-Sh-Global-Id: De unieke UUID van de gebruiker.X-Sh-Business-Unit: Segmenteert gebruikers per merk (bijv.sh,ned).X-Sh-Memberships: bijv.EVERY_HOUSE,REGULAR,CITIES_WITHOUT_HOUSES.X-Sh-Sites: Een door komma's gescheiden lijst van geautoriseerde locatiecodes (bijv.180_HOUSE,SHD(Shoreditch),BH(Babington),GRS(Greek Street)).
3. Eindpuntreferentie & Configuratie
A. Authenticatie & Identiteit
Standaard OAuth2-stromen die worden gebruikt om het Bearer-token te genereren dat vereist is voor alle andere eindpunten.
| Methode | Eindpunt | Beschrijving | Params / Payload |
|---|---|---|---|
GET |
/oauth/authorize |
Web Login Flow | response_type=code, client_id, redirect_uri |
POST |
/oauth/token |
Wissel code/inloggegevens | grant_type (password/authorization_code), client_id, client_secret |
POST |
/api/v1/identities |
Maak Account Aan | email, password, first_name, last_name, phone_number |
PUT |
/api/v1/password |
Wijzig Wachtwoord | old_password, password, password_confirmation |
GET |
/api/v1/me |
Legacy Account Info | Retourneert basis-ID en lokale locatie |
B. Accounts, Profielen & Lidmaatschappen
Eindpunten voor het beheren van de digitale identiteit van de gebruiker. De include parameter suggereert een relationele database-structuur aan de achterkant.
| Methode | Eindpunt | Beschrijving | Configuratie / Notities |
|---|---|---|---|
GET |
/profiles/accounts/me |
Volledige Accountdetails | include=profile,membership,local_house |
PATCH |
/profiles/accounts/me |
Update Account | Update adres, toestemmingen, telefoonnummer |
GET |
/profiles/profiles/me |
Publieke Profielgegevens | Retourneert bio, sociale profielen, functietitel |
PATCH |
/profiles/profiles/me |
Update Profiel | Update bio, sociale profielen, beroep |
GET |
/profiles/memberships/me |
Lidmaatschapsstatus | Retourneert status, start/einddata, personeelstype (is_staff) |
GET |
/profiles/interests |
Lijst Interesses | filter[name][prefix] voor autocomplete |
GET |
/profiles/occupations |
Lijst Beroepen | filter[name][prefix] voor autocomplete |
GET |
/profiles/membership_cards/{number}/profile |
Opzoeken op Kaart | Los een fysiek kaartnummer op naar een globale ID |
C. Evenementen & Cinema
Uitgebreide eindpunten voor het opsommen en boeken van huis evenementen. De logica omvat specifieke afhandeling voor "Loterijen" (evenementen met hoge vraag).
| Methode | Eindpunt | Beschrijving | Sleutelfilters / Params |
|---|---|---|---|
GET |
/events/events |
Zoek Evenementen | filter[location_id], filter[date][from], filter[category], filter[event_type] |
GET |
/events/events/{id} |
Enkel Evenement | include=venue,resource |
GET |
/events/event_categories |
Lijst Categorieën | filter[event_type] |
GET |
/events/bookings |
Lijst Gebruikersboekingen | filter[state] (geboekt/geannuleerd), include=event,venue |
POST |
/events/bookings |
Boek Evenement | Payload: guests array, event ID, payment_card ID |
DELETE |
/events/bookings/{id} |
Annuleer Boeking | N.v.t. |
D. Kamers (Hotel Boekingen)
De rooms eindpunten onthullen interne codes voor kamertypes en tariefplannen. Het days eindpunt is bijzonder interessant omdat het de ruwe prijsagenda blootlegt.
| Methode | Eindpunt | Beschrijving | Insider Notities / Params |
|---|---|---|---|
GET |
/rooms/hotels |
Lijst Hotels | Retourneert boekings-URL's en belastinginformatie |
GET |
/rooms/availabilities |
Zoek Kamers | filter[rate_plan_type] (bijv. MEMBER_RATE, FRIENDS) |
GET |
/rooms/days |
Tariefkalender | Blootst kamercodes: TINY, SMALL, MEDM, LARG |
GET |
/rooms/room_bookings |
Lijst Boekingen | filter[status], filter[starts_at][from] |
POST |
/rooms/room_bookings |
Maak Boeking | Payload: address, dates, availability_rate ID |
PATCH |
/rooms/room_bookings/{id} |
Wijzig Boeking | Wijzig data of aantal gasten |
E. House Pay (Rekeningen & Simphony Integratie)
Dit gedeelte onthult een nauwe integratie met Oracle Micros Simphony. De API stelt leden in staat om restaurantrekeningen rechtstreeks te betalen. Het bevat een specifiek "Walkout" eindpunt, dat waarschijnlijk wordt gebruikt om rekeningen automatisch af te sluiten tegen het bestand van een lid.
| Methode | Eindpunt | Beschrijving | Insider Notities |
|---|---|---|---|
GET |
/checks/public/checks |
Lijst Open Rekeningen | filter['status']=open |
GET |
/checks/public/checks/{id} |
Verkrijg Rekeningdetails | Retourneert items, belasting, servicekosten |
POST |
/checks/public/payments |
Betaal Rekening | Payload: check_id, amount_cents, card_id, tip_amount_cents |
POST |
/checks/public/payments/walkout |
Walkout Betaling | Gebruikt simphony_manager_id om rekening af te dwingen |
POST |
/checks/public/checks/{id}/discount |
Pas Korting Toe | Payload: discount_id (bijv. U27 tarieven) |
POST |
/checks/public/checks/{id}/email |
E-mail Ontvangst | Triggers PDF ontvangst e-mail |
GET |
/payments/cards |
Lijst Kaarten | filter[venue] (meestal hardcoded 'GRS') |
F. Tafels (Restaurant Boekingen)
De API gebruikt een "Lock" mechanisme om dubbele boekingen tijdens het afrekenproces te voorkomen.
| Methode | Eindpunt | Beschrijving | Insider Notities |
|---|---|---|---|
GET |
/tables/availabilities |
Zoek Slots | filter[restaurant_id] (bijv. SH_SIXTH_FLOOR_RESTAURANTS) |
POST |
/tables/locks |
Lock Tafel | Lockt een slot voor x minuten terwijl de gebruiker de boeking voltooit |
POST |
/tables/table_bookings |
Bevestig Boeking | Vereist geldige table_lock ID |
G. Verbinden & Chat (Agora Integratie)
De "House Connect" functies maken gebruik van Agora voor realtime communicatie, wat blijkt uit de agora_id parameter.
| Methode | Eindpunt | Beschrijving | Notities |
|---|---|---|---|
GET |
/connect/checkins |
Mededelingenbord | filter[venue_id] om te zien wie er in een huis is |
POST |
/connect/checkins |
Plaats op Mededelingenbord | Payload: status, venue_id |
GET |
/chat/timeslots |
Chat Beschikbaarheid | Lijst open slots voor "House Connect" |
POST |
/chat/chat_tokens |
Verkrijg Chat Token | Retourneert token voor Stream/Agora integratie |
POST |
/chat/rooms/{id}/room_accesses |
Sluit aan bij Kamer | Payload bevat agora_id |
H. Lidmaatschapsaanvragen
Eindpunten die worden gebruikt tijdens de aanmeldflow, inclusief Braintree-integratie voor betalingen.
| Methode | Eindpunt | Beschrijving |
|---|---|---|
GET |
/applications |
Lijst aanvragen van gebruiker |
POST |
/applications |
Dien nieuwe aanvraag in |
POST |
/applications/{id}/attachments |
Upload ID/Hoofdfoto |
GET |
/products |
Lijst Lidmaatschapsproducten |
I. Inhoud & Redactie
Alleen-lezen eindpunten voor app-inhoud, huisnotities en statische pagina's.
| Methode | Eindpunt | Beschrijving | Sleutelfilters |
|---|---|---|---|
GET |
/content/house_notes |
Redactionele Inhoud | filter[venue_id], filter[content_category_id] |
GET |
/content/perks |
Lidmaatschapsvoordelen | filter[region] |
GET |
/content/house_rules |
Huisregels | filter[venue_id] |
GET |
/content/house_tours |
Huisrondleidingen | filter[venue_id] |
J. Systeemcontrole
| Methode | Eindpunt | Beschrijving |
|---|---|---|
GET |
/force_update |
Retourneert 426 Upgrade Required als de app-versie overeenkomt met een verouderde lijst, waardoor gebruikers gedwongen worden om via de App Store bij te werken. |
Conclusie
De Soho House API is een geavanceerde implementatie van JSON:API-standaarden, die een complex web van legacy POS-systemen (Simphony), moderne realtime technologie (Agora) en wereldwijd identiteitsbeheer orkestreert. Voor ontwikkelaars dient het als een masterclass in hoe legacy hospitalitysystemen in een moderne, mobiele REST API kunnen worden verpakt.
Disclaimer: Deze analyse is gebaseerd op een momentopname van documentatie die openbaar beschikbaar was in oktober 2025.
Referenties & Citaten
Redactionele Openbaarmaking
Dit artikel is een onafhankelijke publicatie. We zijn niet verbonden met Soho House & Co. Informatie is gebaseerd op openbare bronnen en eerlijke gebruiksprincipes voor commentaar en kritiek. Geen goedkeuring wordt geïmpliceerd.
