Configuration is broken for some reason… Attempting to migrate GDPR deletion requests from Zendesk’s privacy dashboard to Genesys Cloud using the POST /api/v2/interactions/destroy endpoint results in a 400 error. Zendesk handles this via ticket closure flags, but GC requires specific interaction IDs which seem to be invalid in my current scope.
{
"interactionId": "abc-123-def",
"reason": "gdpr_erasure"
}
If I remember correctly…
Cause: The interactionId provided in the payload is likely a conversation ID or a legacy reference, not the specific interaction identifier required by the destruction endpoint. The Genesys Cloud API strictly validates the UUID format and the existence of the interaction within the current tenant scope before processing erasure requests. A 400 error typically indicates that the ID structure is malformed or the resource was not found in the expected index.
Solution: Retrieve the correct interactionId via the Conversation API first. Use GET /api/v2/conversations/{conversationId} to list all interactions associated with the conversation. Then, iterate through the returned list to identify the specific interaction IDs linked to the user’s PII.
Construct the payload using the valid UUID:
{
"interactionId": "valid-uuid-from-conversation-list",
"reason": "gdpr_erasure"
}
Ensure your integration token has the interaction:delete permission. This approach aligns with the standard Data Action flow for GDPR compliance, ensuring the correct resource is targeted for deletion.
The easiest fix here is this is to swap interactionId for conversationId. The destruction endpoint expects the parent conversation UUID, not the specific interaction. Try passing the value from the id field of the conversation object. Also, ensure the auth token has privacy:erasure scopes.
Make sure you verify the conversationId format matches the standard UUID structure. The previous suggestion is accurate regarding the endpoint requirement. Additionally, confirm the authentication token includes the privacy:erasure scope, as missing permissions also trigger a 400 response. Validate the ID in the conversation detail view first.