Running into a permission wall with the Genesys Cloud Recording API in our Android app. We’re using the genesys-cloud-platform Kotlin SDK to programmatically control call recordings. The goal is to start a recording via recordingsApi.startRecording() when a specific IVR node is hit. The JWT token has recordings:read and recordings:write scopes. Verified via the API playground that the token works for fetching existing recordings.
However, the POST call to /api/v2/recordings/recordings fails immediately with a 403 Forbidden. The response body is empty. Here’s the snippet:
val request = StartRecordingRequest(
conversationId = "conv-123",
recordingRule = "my-rule"
)
val response = recordingsApi.startRecording(request)
The recordingRule exists in the org and is enabled. I’ve tried switching to a user token instead of the client credentials grant, but the result is identical. Is there a specific role attribute or permission I’m missing beyond the standard scopes? The docs are vague on the exact RBAC requirements for programmatic starts.