Finding ID of last-queued run via API

I utilize the create a workflow dispatch event API to kick off a workflow from an external system but am finding getting 204 No Response back from that command is not adequate; it doesn’t tell me which Run ID I just kicked off and leaves me to simply ask for all runs for the workflow and pick the “first one” that shows in the workflow_runs array.

If I am kicking off more than one run of the same workflow (e.g. with different parameters) in close succession, this leads to inaccuracies.

Where can I file this improvement suggestion on the “Start workflow” API?

There’s a very similar request made here: Repository dispatch question
My feeling is that it’s unlikely to happen because these are asynchronous APIs that merely confirm that the request was received, but the execution of the action is deferred. Making these APIs block would make them less efficient I suppose.

I understand what you’re saying but I disagree that it would make it less efficient. All I’m asking is a unique ID returned synchronously. It’s absolutely fine for the actual execution to happen asynchronously. That is, I should be able to call getStatus(id) and that may well return - pending, in-progress, etc.

In any case, for now I’ve gotten around by including a step in the workflow that calls my API back with the workflow run ID, but IMO this should be baked into the API itself.

Good point. Retuning an ID would not occupy a server thread and allow you to poll the status and ideally also for a reference to what was triggered. A kind of causality tracking.