# 24007: Unprocessable content

Log Type: TWILIO

Log Level: ERROR

## Description

The request is well-formed and passes schema validation, but contains semantic errors that prevent processing. This typically relates to invalid criteria expressions, variable definitions, or logical conflicts between request fields.

### Possible causes

* A criteria expression references a trait group that does not exist in the linked profile store's schema (for example, `profile.trait.NonExistent.age > 30`).
* A variable expression contains invalid CEL syntax (for example, a missing operator or unmatched parentheses).
* A variable expression uses `null` as a literal, which is not valid in CEL. Trait fields that resolve to null are automatically returned as null in snapshot results.
* The request contains logically conflicting field values that cannot be processed together.

### Possible solutions

* For criteria errors, verify the trait group name against your profile store schema. Use the schema endpoint to list available trait groups and their fields.
* For CEL syntax errors, check the `errors[]` array — the `pointer` field identifies which expression failed (for example, `#/source/criteria` or `#/variables/0/expression`), and the `detail` field describes the syntax issue.
* Replace `null` literals with `has(profile.trait.Group.field)` to check for presence, or `!(has(profile.trait.Group.field))` to check for absence.
* Review the request body for logical conflicts and ensure all referenced resources (stores, audiences) exist.

#### Additional resources

* [Audiences API reference](/docs/segment/audiences/api)
