Pipeline API¶
Define multi-step analytics over event data: per-step counts, occupancy (last-state), and step metrics.
To list raw event rows instead of aggregating them, see Event listing.
Base URL: https://api.giosg.com/api/objectives/v1/orgs/<organization_id>/pipeline
Authentication: Bearer token. The URL organization_id must match the authenticated organization.
Guides vs reference¶
| If you want to… | Start here |
|---|---|
| Learn the model (steps, counts vs occupancy, dimensions) | Concepts |
| Get counts from a predefined pipeline | Quickstart |
| Build or sync your own pipeline | Building a custom pipeline |
| Pick the right case-funnel pipeline | Choosing a funnel variant |
| Look up request/response fields | Pages in this section (below) |
In this section¶
| Page | What it covers |
|---|---|
| Query endpoints | /counts, /last-state, /last-state-detail, /step-detail |
| Managing definitions | CRUD definitions, predefined pipelines, case-funnel sync |
| Managing value sets | CRUD value sets |
| Object reference | Event filters, metrics, dimensions, query filters |
Glossary¶
| Term | Meaning |
|---|---|
| Pipeline definition | Named list of steps (and optional dimensions). May include a slug and tags. |
| Step | One stage to count or occupy. Has event filters, a count_field, and optional metrics. |
| Count field | What /counts counts distinctly: visitor_id (default), session_id, event_id, or dim1–dim5. |
| Identity field | Per-event key for last-state occupancy. Required on every event when using /last-state. |
| Value set | Org-level list of strings, referenced in filters as $name. |
| Metric | Extra aggregation on a step; returned only by /step-detail. |
| Dimension | Declared property for slicing counts at query time. |
| Last-state | Occupancy query: each entity sits in one step (newest matching event). |
| Case funnel sync | Creates five related pipelines from a giosg case funnel. See Choosing a funnel variant. |
Query behavior (summary)¶
- Time ranges apply to event time (
collector_created_at, functionally the same astimestampon generic events andtson pageviews) for all steps in a request. Those pairs exist for legacy reasons; a later API will usetimestamportsonly, depending on the table. - On
/counts, steps are independent — matching an earlier step is not required. - On
/last-state, each entity occupies only the step of its newest matching event (collector_created_at, thenevent_id). - Within a step, multiple event filters are OR-ed; fields inside one filter are AND-ed.
- Metrics run only on
/step-detail(not counts or last-state). - Dimension filters work on counts and step-detail; they are not supported on last-state.
- Missing value sets make that filter field unconstrained (no match restriction).