Wrap-up code not sticking via API after call disconnect

Sending a PATCH to /api/v2/conversations/voice/{id} right after the call drops, but the wrap-up code never shows in the dashboard. The API returns a 204, so it looks good on the wire. I’m passing the code in the body as specified, yet the interaction stays as ‘No Wrap-up’. Here’s the curl I’m using:

curl -X PATCH https://mypurecloud.com/api/v2/conversations/voice/abc123 -H ‘Authorization: Bearer xxx’ -H ‘Content-Type: application/json’ -d ‘{“wrapUpCodeId”: “my-code-id”}’