POST /api/v2/flows/executions 400 Bad Request on external trigger

Trying to kick off an Architect flow from an external Node app. Getting a 400. The docs say flowId and data are enough. Here’s the payload:

{
 "flowId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
 "data": { "test": "val" }
}

Response just says Invalid input. Flow is published. Auth token works fine for other endpoints. Am I missing a required field in the execution payload?