Trying to inject dynamic metadata into active voice legs for the real-time dashboard. The nightly batch job handles this fine via bulk updates, but the live stream needs immediate participant_attributes updates via PATCH /api/v2/conversations/{conversationId}/participants/{participantId}/attributes.
The payload looks standard:
{ "key": "campaign_override", "value": "promo_x", "type": "STRING" }
Hitting a 400 Bad Request with message Attribute key is not allowed. Checked the org settings and campaign_override isn’t in the blocked list. Tried PUT instead of PATCH to replace the whole object, same result. The SDK ConversationsApi.updateConversationParticipantAttributes throws the same validation error.
Is there a specific regex pattern or reserved prefix I’m missing for mid-call updates? The docs are vague on runtime constraints vs static config. Running this from the Manila cluster, latency isn’t the issue, just the schema validation.