Before ingesting sessions, make sure the related clients have already been
ingested. See the Ingesting Clients guide.
Overview
Sessions allow Corsa to track client device activity for fraud detection and behavioral analysis. Each session captures:- IP address - automatically resolved to geolocation by Corsa
- Device fingerprint - unique hash identifying the device
- Device metadata - browser, OS, screen resolution, timezone, etc.
- Device custom fields - optional key-value metadata attached to the device (merged on upsert by fingerprint)
Step 1: Create a Session
Endpoint:POST /v1/sessions
Key Fields
Device custom fields
Senddevice.customFields as a map of keys to { label, value } objects. Corsa stores custom fields on the device (not the session). When a new session uses a fingerprint that already exists, incoming custom fields are merged with existing values — new keys are added and existing keys are overwritten.
The field type is inferred from value (string, number, or boolean), so keep each key’s type consistent across sessions.
Subsequent sessions with the same fingerprint can send only the keys you want to update:
customFields.deviceRiskScore).
Device Type Values
Corsa automatically resolves the IP address to geolocation data (country,
city, coordinates). You do not need to provide geolocation separately.
Step 2: Retrieve Sessions for a Client
Endpoint:GET /v1/clients/{clientId}/sessions
View all sessions associated with a specific client to analyze login patterns and device usage.
Get a Session by ID
Endpoint:GET /v1/sessions/{id}
Retrieve a single session by its Corsa session ID or your referenceId.
Step 3: End a Session
Endpoint:PUT /v1/sessions/{id}
Mark a session as ended by providing the endedAt timestamp.
What’s Next?
Ingest Operations
Ingest deposits, withdrawals, and trades for your clients.
Manage Attachments
Upload and manage files across entities.