lytics-profiles
Installation
SKILL.md
Lytics Profiles
Everything about a single profile (entity): looking it up by identity, exploring its attributes, memberships and activity, diagnosing segment membership against FilterQL, tracing where its data came from, and deleting it.
Before you start
- Credentials:
references/auth.md. - Calling conventions, the
/v2vs/apiresponse shapes, and URL-encoding:references/api.md. Identity values (emails with@) must be URL-encoded in the path. - Reads run immediately. Every delete goes through
references/confirmation-gate.md. - Account-specific identity fields:
GET /v2/schema/{table}/idconfig. Common ones:email,_uid,user_id.
Gotchas
- Not found is a 200.
/api/entityanswers a missing profile with HTTP 200,message: "Not Found"(or"Timed out") and a placeholder{"segments": ["not_found", "all"]}. Never present that as a real profile in segmentall; check.messageand thenot_foundsegment, or use/v2/identity, which does return 404. - Value-only lookup means
_uid.GET /api/entity/{table}/{value}looks the value up as_uidonly; it does not search other identity fields. For an email or external id, use/api/entity/{table}/{field}/{value}. - Both deletes are irreversible through the API. Hard delete is async (poll
/api/entity/deletestatus/{request_id}) and defaults toconflicts=true, a greedy identity traversal that can reach identifiers beyond the profile a lookup shows; offer?conflicts=false. Soft delete cannot be undone either: the undelete endpoint is deprecated, returns 401, and has no replacement. - Soft delete returns 200 even when no such profile exists, so a 200 confirms nothing was deleted.
- A FilterQL field missing from the profile is often the root cause of a "why isn't this user in X" question; report it as "field not present", not as a value mismatch.