API
Typed APIs. REST and GraphQL.
Every capability is callable. REST endpoints for transactional flows, GraphQL for content, webhooks for events, MCP for agentic access. All authenticated via tenant-scoped API keys or OAuth2.
Explorer
API Explorer.
Pick an endpoint, edit the body, send a request. Live responses, inline docs.
app.screver.ch/integrations/api
IntegrationsAPI Explorerslug: api-explorer
⌘K
MK
API Explorer
v2026.05GET/v1/products
Headers
Authorization: Bearer sk_live_•••••
Content-Type: application/json
Content-Type: application/json
Body
{
"tenant": "alpine-zone",
"items": [{ "sku": "ZER-DAY-001", "qty": 2 }],
"currency": "CHF"
}
"tenant": "alpine-zone",
"items": [{ "sku": "ZER-DAY-001", "qty": 2 }],
"currency": "CHF"
}
Response
200 OK · 142ms{
"id": "cart_8af2c91",
"total": 25240,
"currency": "CHF",
"items": [
{ "sku": "ZER-DAY-001", "qty": 2, "price": 17800 }
],
"checkoutUrl": "https://pay.screver.ch/c/8af2c91"
}
"id": "cart_8af2c91",
"total": 25240,
"currency": "CHF",
"items": [
{ "sku": "ZER-DAY-001", "qty": 2, "price": 17800 }
],
"checkoutUrl": "https://pay.screver.ch/c/8af2c91"
}
Docs
Creates a cart for the given tenant. Items are validated against the active catalog; the response includes a signed checkout URL valid for 30 minutes.
Parameters
tenant · string
items · array
currency · ISO 4217
metadata · object
Endpoints
Every capability covered.
Auth & Tenancy
| Method | Path | Purpose |
|---|---|---|
| POST | /api/auth/login | Customer login |
| POST | /api/auth/oauth/swissid | SwissID OAuth callback |
| POST | /api/auth/oauth/swisspass | SwissPass OAuth callback |
| GET | /api/me | Current user + entitlements |
| GET | /api/tenant | Tenant configuration |
Catalog
| Method | Path | Purpose |
|---|---|---|
| GET | /api/catalog/products | List products with filters |
| GET | /api/catalog/products/:id | Product detail |
| GET | /api/catalog/fares | Fares for route + class + reduction |
| GET | /api/catalog/schedules | Schedules for a line/route |
| GET | /api/catalog/availability | Availability for a product on a date |
Cart & Checkout
| Method | Path | Purpose |
|---|---|---|
| POST | /api/cart | Create cart |
| POST | /api/cart/:id/items | Add item |
| DELETE | /api/cart/:id/items/:itemId | Remove item |
| POST | /api/cart/:id/quote | Re-quote with rules and entitlements |
| POST | /api/stripe/create-payment-intent | Create PaymentIntent (shop) |
| POST | /api/stripe/create-booking-intent | Create PaymentIntent (booking) |
| POST | /api/stripe/webhook | Stripe webhook |
| POST | /api/payments/twint/initiate | Initiate TWINT payment |
| POST | /api/payments/twint/callback | TWINT confirmation callback |
Bookings & Orders
| Method | Path | Purpose |
|---|---|---|
| GET | /api/bookings | List bookings |
| GET | /api/bookings/:id | Booking detail with audit trail |
| POST | /api/bookings/:id/modify | Modify (with policy checks) |
| POST | /api/bookings/:id/cancel | Cancel + refund per policy |
| GET | /api/bookings/:id/pdf | Download PDF ticket |
| GET | /api/orders | List orders |
Validation
| Method | Path | Purpose |
|---|---|---|
| POST | /api/validate/ticket | Validate ticket (online) |
| POST | /api/validate/sync | Sync validator app cache |
| GET | /api/validate/revocations | Revocation list |
Providers
| Method | Path | Purpose |
|---|---|---|
| GET | /api/providers | List providers in tenant |
| GET | /api/stations/search | Station search |
| GET | /api/lines | List lines |
| GET | /api/routes | List routes |
Content
| Method | Path | Purpose |
|---|---|---|
| * | /api/[...slug] | Payload (headless) REST API (all collections) |
| POST | /api/graphql | Payload (headless) GraphQL API |
CRM Sync
| Method | Path | Purpose |
|---|---|---|
| POST | /api/crm/hubspot/contact | Upsert HubSpot contact |
| POST | /api/crm/hubspot/deal | Create HubSpot deal |
| POST | /api/crm/braze/event | Track Braze event |
| POST | /api/crm/generic | Generic CRM webhook out |
MCP
| Method | Path | Purpose |
|---|---|---|
| GET | /api/mcp/manifest | MCP server manifest |
| POST | /api/mcp/tool/:name | Invoke MCP tool |
| GET | /api/mcp/registry | Tenant-registered external MCP servers |
| POST | /api/mcp/registry | Register external MCP server |
Admin & Configuration
| Method | Path | Purpose |
|---|---|---|
| GET | /api/admin/workflows | List workflows |
| POST | /api/admin/workflows | Create workflow |
| GET | /api/admin/pricing-rules | List pricing rules |
| POST | /api/admin/pricing-rules | Create pricing rule |
| GET | /api/admin/connectors | List connector configs |
| POST | /api/admin/connectors | Create connector config |
Audit & Integration Events
| Method | Path | Purpose |
|---|---|---|
| GET | /api/audit/booking/:id | Integration events for a booking |
| GET | /api/audit/integration/:name | Integration health and events |
AI Concierge & Ops Copilot
| Method | Path | Purpose |
|---|---|---|
| POST | /api/ai/concierge/message | Send message to concierge (streaming) |
| GET | /api/ai/concierge/sessions/:id | Get session history |
| POST | /api/ai/copilot/message | Send message to ops copilot |
| POST | /api/ai/copilot/documents | Ingest a document for RAG |
Example request
Create booking intent.
http
POST /api/stripe/create-booking-intent
Content-Type: application/json
Authorization: Bearer pk_tenant_xxx
{
"tenant": "mob",
"items": [
{
"type": "transport",
"lineId": "gpx",
"routeId": "montreux-interlaken",
"scheduleId": "sch_2026_w08_sat_08:35",
"passengers": [
{ "class": "1", "reduction": "halfFare", "firstName": "Anna", "lastName": "Mueller" }
],
"ancillaries": ["gpx-dining-lunch"]
},
{
"type": "accommodation",
"providerId": "hotel-eden-spiez",
"checkin": "2026-02-21",
"checkout": "2026-02-23",
"rateplan": "flex",
"guests": 1
}
],
"currency": "CHF",
"locale": "de",
"customer": { "email": "anna@example.ch" }
}Example response
Booking intent payload.
json
{
"bookingId": "bkg_01HTABXYZ...",
"paymentIntentClientSecret": "pi_xxx_secret_yyy",
"total": { "amount": 64320, "currency": "CHF" },
"lineItems": [
{ "type": "transport", "amount": 13800, "label": "GPX 1st class halfFare" },
{ "type": "ancillary", "amount": 4400, "label": "GPX dining" },
{ "type": "accommodation", "amount": 46120, "label": "Hotel Eden Spiez x 2 nights" }
],
"expiresAt": "2026-05-25T14:32:00Z"
}Keep reading
