Get-or-create the persistent Experience and invoke engagement_decision.
Returns 202 immediately. On a cache hit the response carries status=COMPLETED and widget_data; otherwise status=PENDING and the caller polls GET /experiences/{experience_id}.
POST
/engage
curl \
--request POST 'http://api.example.com/engage' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{"external_customer_id":"string","playbook_id":"string"}'
Request examples
{
"external_customer_id": "string",
"playbook_id": "string"
}
Response examples (202)
{
"experience_id": "string",
"access_token": "string",
"session_id": "string",
"status": "string",
"widget_data": {}
}
Response examples (422)
{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"ctx": {}
}
]
}