We’re building a toggle for our custom agent desktop that lets users manually start and stop call recordings mid-interaction. The idea is straightforward. We grab the conversation ID from the active call widget and hit the Recording API to flip the state.
I’m using the Node.js SDK, specifically platformClient.recordingSettings.updateConversationRecordingSettings(conversationId, body). The call comes back with a 204 No Content, which implies success according to the docs. But when I check the conversation in the Genesys web app or query the conversation details API, the recording status hasn’t changed. It stays on whatever the default queue setting was.
Here’s the payload I’m sending:
{
"record": true,
"reason": "Manual override"
}
I’ve verified the OAuth token has the recordingsettings:write scope. I also tried hitting the REST endpoint directly via Postman with the same result. 204 response, no visible change in the UI.
Tried a few things:
- Waited 30 seconds after the call to see if it was a propagation delay. No luck.
- Checked the audit log via
audit:read. The update shows up there with a successful status. - Ensured the conversation is actually in the
activestate. It is.
Is there a specific permission I’m missing? Or does the API only allow setting this at the queue level and not per-conversation? The docs aren’t super clear on whether this endpoint affects live calls or just future ones.