Segment CRUD, validation, and sizing operations
Full segment lifecycle management -- list, get, create, update, delete, validate FilterQL, and estimate segment size.
LYTICS_API_TOKEN -- API authentication tokenLYTICS_API_URL -- Base URL (default: https://api.lytics.io)curl -s "${LYTICS_API_URL:-https://api.lytics.io}/v2/segment?table=user&kind=segment&sizes=true" \
-H "Authorization: ${LYTICS_API_TOKEN}"
Query params: table, kind, valid, sizes
curl -s "${LYTICS_API_URL:-https://api.lytics.io}/v2/segment/${SEGMENT_ID}?sizes=true&inline=true" \
-H "Authorization: ${LYTICS_API_TOKEN}"
Query params: sizes (include size data), inline (inline included segments)
curl -s "${LYTICS_API_URL:-https://api.lytics.io}/v2/segment/${SEGMENT_ID}/ancestors" \
-H "Authorization: ${LYTICS_API_TOKEN}"
curl -s -X POST "${LYTICS_API_URL:-https://api.lytics.io}/v2/segment" \
-H "Authorization: ${LYTICS_API_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"name": "Segment Name",
"slug_name": "segment_slug",
"description": "What this segment represents",
"segment_ql": "FILTER condition FROM user ALIAS segment_slug",
"kind": "segment",
"table": "user",
"is_public": true,
"tags": [],
"save_hist": true
}'
curl -s -X PUT "${LYTICS_API_URL:-https://api.lytics.io}/v2/segment/${SEGMENT_ID}" \
-H "Authorization: ${LYTICS_API_TOKEN}" \
-H "Content-Type: application/json" \
-d '{ ... updated fields ... }'
curl -s -X DELETE "${LYTICS_API_URL:-https://api.lytics.io}/v2/segment/${SEGMENT_ID}" \
-H "Authorization: ${LYTICS_API_TOKEN}"
curl -s -X POST "${LYTICS_API_URL:-https://api.lytics.io}/api/segment/validate" \
-H "Authorization: ${LYTICS_API_TOKEN}" \
-H "Content-Type: text/plain" \
-d 'FILTER AND (country = "US", visitct > 5) FROM user ALIAS test'
Returns 200 on valid, error message on invalid.
curl -s -X POST "${LYTICS_API_URL:-https://api.lytics.io}/api/segment/size" \
-H "Authorization: ${LYTICS_API_TOKEN}" \
-H "Content-Type: text/plain" \
-d 'FILTER condition FROM user'
Body is raw FilterQL text, not JSON.
curl -s "${LYTICS_API_URL:-https://api.lytics.io}/api/segment/${SEGMENT_ID}/size" \
-H "Authorization: ${LYTICS_API_TOKEN}"
curl -s "${LYTICS_API_URL:-https://api.lytics.io}/api/segment/${SEGMENT_ID}/fieldinfo?limit=20&table=user" \
-H "Authorization: ${LYTICS_API_TOKEN}"
Returns per-field analytics within a segment: value distributions, coverage rates, numeric stats, and histograms.
Query params: fields (comma-delimited), limit (default 20, max 1000), table, cached.
For detailed analysis, use the audience-snapshot skill.
curl -s -X POST "${LYTICS_API_URL:-https://api.lytics.io}/v2/segment/reevaluate" \
-H "Authorization: ${LYTICS_API_TOKEN}" \
-H "Content-Type: application/json" \
-d '{"id": "segment_id"}'
Required fields for creation:
{
"name": "Display Name",
"slug_name": "url_friendly_slug",
"description": "Human-readable description",
"segment_ql": "FILTER ... FROM user ALIAS slug",
"kind": "segment",
"table": "user",
"is_public": true,
"save_hist": true
}
Optional fields:
{
"tags": ["tag1", "tag2"],
"groups": ["group_id"],
"expires_at": "2025-12-31T00:00:00Z",
"emit_trigger": false,
"schedule_exit": false
}
| Kind | Description | Use Case |
|---|---|---|
segment | Standard audience segment | General audience targeting |
aspect | Building block segment | Reusable filter components |
goal | Business objective | Conversion tracking |
list | Temporal export list | One-time or recurring exports |
conversion | Campaign tracking | Attribution measurement |
metric | Metric segment | Analytics/reporting |
managed | System-managed | Internal platform use |
candidate | Decisioning exclusion | Exclude from decisioning |
Execute immediately and display results.
Use the confirmation-gate pattern:
Before creating/updating a segment:
POST /api/segment/validatePOST /api/segment/size./reference/api-client.md, ./reference/confirmation-gate.md./reference/filterql-grammar.md