v1
latestOpenAPI 3.0.12026-08-06241391671.8 KBSession
Session-start context bundle (workspaces, custom conversions, custom columns, user, conversion-time mode default, tracker setup).
Context bundle for session start. Call once per session and cache for the lifetime — state changes rarely.
Envelope shape
{
"responses": {
"<key>": {
"status": <HTTP status, integer>,
"statusText": "...",
"body": <deserialized JSON when status is 2xx; null otherwise>
},
...
}
}
Each sub-response carries its own HTTP status; the envelope itself is always 200 even when sub-responses fail. Inspect each responses.<key>.status — checking only the envelope status treats partial failures as success.
Sub-responses relevant to API and MCP clients
| Key | Carries |
|---|---|
| user | id, email, timezone, defaultClientId |
| workspaces.workspaces[] | {id, name, ...} — ids accepted by the workspaces parameter on /report |
| customConversions.customConversions[] | cc1..cc20 with {index, name, removed, ...} — filter !removed; maps to customConversions1..20 and customRevenue1..20 report columns |
| customColumns.customColumnsDefinitions[] | User-defined derived metrics: {name, label, format, expression, ...}. Pass name as a column value on /report. format (DECIMAL/PERCENT/INTEGER) drives rendering; expression is the formula tree. Referencing an unknown name returns an error |
| preferences.reportPreference.conversionRegistrationTime | VISIT or CONVERSION — default for the conversionTimeMode parameter on /report |
| setup.urls | Tracker URL templates (clickUrl, multiOfferClickUrl, postbackUrl, securePostbackUrl, trackingPixelUrl, trackingScriptUrl). Use to validate a reported-broken URL against the canonical template |
| setup.domains | redirectDomain (active), defaultRedirectDomain (fallback), plus dedicatedDomains[] / internalDomains[] / customDomains[]. Each entry: address, mainDomain, sslStatus, plus workspaceIds (dedicated/custom only) — the field that answers "why does this domain work for workspace A but not B" |
The envelope also contains panel-only sub-responses (UI prefs, onboarding, billing notifications, etc.). Ignore unrecognized keys; the set may change without notice.
What /startup does NOT contain
Fetch separately:
- Traffic sources catalog — GET /traffic-source. Each entry's customVariables[] array carries the per-slot labels and URL parameter names needed to interpret customVariable1..10 report columns.
- Affiliate networks catalog — GET /affiliate-network.
- Current usage counts — no aggregate endpoint; use list endpoints' totalRows.
get/startup
Query parameters
invitationIdstring
Invitation token. When supplied, an invitation sub-response is added to the envelope.
Response
Session-start context envelope (sub-responses keyed by name).