Scenario context and snapshot

Before to begin
We invite you to consult the manual documentation to understand contexts and snapshots.
API Endpoint
This endpoint retrieves snapshots of a context, which represent the result of a scenario execution for a given company. Each snapshot captures the state of the scenario at execution time (e.g., specific version, device used, associated mission, correlation data). Results can be filtered by scenario, version, mission, or device, and are paginated.
Parameters
Path parameter
| Name | Type | Required | Description |
|---|---|---|---|
| id | String | ✔️ | Company ID |
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
| scenarioId | String | ️ | Identifier of the executed scenario |
| scenarioVersionId | String | ️ | Identifier of the scenario version |
| deviceId | String | ️ | Identifier of the device used during execution |
| mission | String | ️ | Mission associated with the execution |
| correlation | String | ️ | Correlation key to group multiple executions |
| page | Int | ️ | Page number (for pagination) |
| pageSize | Int | ️ | Number of results per page |
| format | String | ️ | Output format (json) |
Example
Request
curl -X GET "https://api-v2.wogeez.com/companies/COMPANY_ID/resources/scenarios/contexts/snapshots?scenarioId=SCENARIO_ID&page=0&pageSize=30&format=json" \
-H "Authorization: Bearer your-jwt-token" \
-H "Accept: application/json"
Result
The response represents a paginated list of scenario execution contexts (in this case, only one context).
{
"total": 1,
"page": {
"page": 0,
"pageSize": 30
},
"contexts": [
{
"id": "b9815cf9-d4bb-46a7-9e14-8f9a6cab9ea4",
"context": {
"id": {
"correlation": "ACORENTIN-5634bdf4-f0a3-499c-9999-67175220f2a3-30d5b095-8844-4ab6-b4f9-e63c4f4f26a4-1758028548007-hidden-camel",
"mission": "hidden-camel",
"companyID": "d013e5cb-efe0-4cac-bcef-71f1020d3195",
"scenarioID": "5634bdf4-f0a3-499c-9999-67175220f2a3",
"scenarioVersionID": "30d5b095-8844-4ab6-b4f9-e63c4f4f26a4",
"deviceID": "ACORENTIN"
},
"steps": [
{
"id": {
"id": "step-halloween1-veille"
},
"success": true,
"productions": [
{
"id": {
"id": "step-halloween1-veille"
},
"success": true,
"error": null,
"type": "NOTHING"
}
]
},
{
"id": {
"id": "step-halloween1-accueil"
},
"success": true,
"productions": [
{
"id": {
"id": "step-halloween1-accueil"
},
"success": true,
"error": null,
"type": "NOTHING"
}
]
},
{
"id": {
"id": "step-halloween1-formulaire"
},
"success": true,
"productions": [
{
"id": {
"id": "user-registration-halloween1-form"
},
"success": true,
"error": null,
"type": "FORM",
"inputs": {
"civility": "M",
"lastname": "Corentin",
"firstname": "Dupont",
"mail": "[email protected]",
"opt-in-newsletter": true,
"rules": true
}
}
]
}
]
},
"createdAt": "2025-09-16T15:17:25.733796488",
"writedAt": "2025-09-16T15:17:25.733799362",
"receivedAt": "2025-09-16T15:17:25.733747802"
}
]
}
This JSON shows the execution trace of a scenario broken down into steps:
- The scenario was executed successfully.
- Each step was validated (success: true).
- The final step (formulaire) captured a form submission with user details.
- Metadata (company, scenario version, device, mission) links the execution to its business context.
In the JSON, the user data (like firstname, lastname, mail, etc.) is nested deep inside the snapshot, specifically in the productions.inputs object of certain steps (like the FORM step).
Steps and Productions
A scenario execution is broken down into steps. Each step may or may not produce data. These outputs are called productions.
- A production represents the concrete result of executing a step.
- Some steps complete without generating data (production type = NOTHING).
- Other steps generate specific data structures depending on their role in the scenario.
Examples of productions
- FORM → a form filled in by a user (e.g., registration form, survey).
- TICKET → a ticket issued as part of the process (e.g., proof of purchase, event ticket).
- BASKET → a shopping basket or collection of items.
Important
This list is not exhaustive — additional production types may be introduced and will be documented in detail in the future.
Dates in a Snapshot
Each snapshot contains three different timestamps. They do not represent the same moment and must be interpreted carefully:
| Field | Meaning |
|---|---|
| createdAt | The actual creation date of the snapshot, recorded at the end of the scenario execution. Since a scenario can take variable time to complete, this timestamp is not always representative of when the user data was actually produced. Data entered by the user may have occurred seconds or minutes earlier, but the snapshot is only created once the entire scenario finishes. |
| receivedAt | The timestamp when the system received the data event. This corresponds more closely to the moment when the information reached servers. |
| writedAt | The timestamp when the data was persisted into the data warehouse. Since the warehouse uses event-store mechanisms, the write operation may be delayed in case of high load or resource throttling. |
Important
The snapshot becomes queryable via the API starting from writedAt.