In my case the branch payload was not enough as previously I was passing in the branch within the url as well as the workflow to trigger.
Something like:
-d ‘{“branch”: “$CIRCLE_BRANCH”, “parameters”: {“workflow”: my-workflow }}’
https://discuss.circleci.com/t/circleci-2-1-is-it-possible-to-trigger-a-job-through-api/26294/10