The send SMS API only queues messages, and is essentially fire and forget. From a monitoring perspective this is very bad, as we would need to constantly monitor the clicksend dashboard to see if there are errors in message delivery. There a several ways this could be improved: A) webhook / callback system - allows integrators to register their endpoints, to be called based on event (message delivered, message failed to deliver including error information). An example would be Stripes webhooks B) endpoint that only returns on delivery (instead of on queuing). In case message is queued for a long time, return a url that can be polled for delivery information C) streaming api (for example using http2/grpc) that allows sending messages, including an identifier for each message. Return channel contains delivery report (not necessarily in order)