Trying to assign a wrap-up code via API immediately after an interaction ends. The flow is standard: interaction ends, we trigger a webhook, and the backend attempts to PATCH the participant resource.
The endpoint is /api/v2/conversations/{conversationId}/participants/{participantId}. The payload looks valid:
{
"wrapup": {
"code": "WU-001",
"notes": "Post-call survey sent"
}
}
We get a 200 OK response. But the wrap-up code never sticks in the UI or the history. If we check the participant details via GET, the wrapup object is null.
I’ve verified the agent is in the correct skill group and has the permission conversation:participant:update. We’re using the Python SDK genesyscloud.conversations_api. The update_conversation_participant call succeeds without exception.
Is there a race condition here? Or does the API require a specific state transition before accepting wrap-up data? The docs say it’s supported for voice and chat, but nothing about timing. We’ve tried adding a 5-second delay, no change. Feels like the server ignores the update if the interaction state is already closed or ended.