I’d be inclined to use tshark to check the emoncms box and see if the HTTP request is being received or not. Only used it once when I was working on the node-red node but was very enlightening! The 403 error seemed to come from the python call to the http library which implies the request was sent, just not understood by the receiving HTTP server (rather than emoncms).
For me tshark -Y http.request -T fields -e http.request.full_uri did the job, Took a while to work out the correct command!
I’d also not want to question either of your knowledge on these things, but the call/syntax bulk.json appears to be undocumented in the input API.