Pass an array to send() and each message becomes its own request, sent with bounded
concurrency. The call never throws — you get one result per message.
Concurrency and results
On a provider instance you can tune concurrency (default 5). Each result tells you whether
that message succeeded:
Because the call never throws, you handle failures by inspecting results rather than with try/catch. Each failed result carries the same normalised PostboiError on .error.
Hooks run once per message, so before.send, after.send, and on.error fire for each item in the array.