While the OP briefly touched on the notion of using a Linked-List to store sort-order, it has a lot of advantages for cases where items will be reordered frequently.
I have seen people using a self-reference to refer to the previous (or next) value, but again, it seems like you would have to update a whole lot of other items in the list.
The thing is - ...
The best way with emails is not to have an API attempt to send them. Sending emails is a slow process and not a suitable task for a website.
Instead have the API persist the send email request to a database, split into its various fields, not as a blob.
Then have a worker process pick up new jobs from the database and attempt to send them. If the send ...
Shall we store the request as is with Body, URL, and Headers in a blob/text in db so it is easier for the Scheduled Service to Resend it,
Baaad, bad idea. Consider things like authentication tokens that
a) you will need to store securely and
b) tend to expire.
Then some services (e.g. AWS SES) require you to sign each request so they're only valid in-...