POST /api/v2/flows/executions returns 400 Bad Request despite valid JSON payload

Sending a POST request to /api/v2/flows/executions results in a 400 Bad Request. The payload matches the schema exactly.

{
 "flowId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
 "variables": {
 "inputValue": "test"
 }
}

The flow ID is correct and the user has the necessary permissions. The error response body is empty. What is missing?