Help them get back in.
A sign-in link or password reset belongs with the customer action that requests it. Keep the next step clear and easy to find.
Connect the moment in your app to the message that helps someone move forward. Send through a straightforward API, keep the message ID, and investigate the result.
REST API, SMTP, and SDKs. Your application decides when to send. Attachments, cc/bcc, reply-to, custom headers, and React Email are all supported.
curl --request POST \
'https://api.email.utobo.com/functions/v1/send-email' \
--header 'Authorization: Bearer av_live_...' \
--header 'Content-Type: application/json' \
--data '{
"from": "Northstar <hello@example.com>",
"to": "alex@example.net",
"subject": "Your workspace is ready",
"html": "<p>Sign in to start your first project.</p>"
}'{ "id": "3c9b0f4e-7a2d-4f8b-9c1e-5d6a8b3f2e1c",
"message": "Email sent." }Keep the ID. A successful response does not confirm inbox placement.
Use a sender on your verified domain. The example does not send email from this page.
A sign-in link or password reset belongs with the customer action that requests it. Keep the next step clear and easy to find.
A receipt, account confirmation, or order update gives customers a useful record of the action they took.
Turn a teammate invitation into a welcome that explains the workspace and how to join it.
When someone says an email is missing, start with the request. Keep its response and message ID so you can find the matching status and bring useful context to an investigation.
The documented sent status means the message was handed to the sending provider. The recipient’s mail system still determines how the message is handled.
3c9b0f4e-7a2d-4f8b-9c1e-5d6a8b3f2e1c010f018a-2b3c-4d5e-…GET /functions/v1/send-email/3c9b0f4e-7a2d-4f8b-9c1e-5d6a8b3f2e1cSelected fields from an illustrative status response. Check the reference for the complete response.
Keep error handling in the application that sends the request. Every error returns { error, name, message }, so you can branch on the machine-readable name before retrying.
validation_error — a field is missing or malformed. Correct the input and retry.
unauthorized — the API key is missing or invalid. Send it as Authorization: Bearer av_live_…
domain_not_verified — the from-address is not on a verified domain, or every recipient is suppressed.
rate_limit_exceeded — pace requests and retry after the returned Retry-After header.
100 requests/minute/key500 requests/minute/organization50 combined recipients/request
Need help with your sending volume? Talk through your requirements ↗
Let an integration send email and read its own send status — nothing more.
Reserve broader access for the tasks that genuinely need it.
The full key is shown once at creation. Store it in your server environment.
Choose the API-key scope for the integration you are building. Keep keys out of browser code, public repositories, and customer-facing examples.
Your application owns the event and message content. utobo provides the sending interface. That separation lets you decide which customer action deserves an email.
Understand roles and API access ↗Have access to your sending domain and a server environment ready. Start with a message to an address you control.
Select the transactional allowance that fits your application. Use the All-in-one track if your team also needs campaigns.
Add the records shown in domain setup and check the verification result before using that sender.
Keep the key on the server and provide only the access this integration needs.
Send a controlled test, keep the returned ID, and review the response and available activity.
Find the detail you need before your first send.
Talk to the team ↗Yes. If your application already supports custom SMTP, you can use utobo’s SMTP connection settings. See the host, ports, and setup path.
Node.js is the official SDK, with libraries for Python, Ruby, and Go, and a PHP SDK coming soon. Choose your language and follow its package reference.
No. A successful API response and the documented sent status describe processing by the sending service. They do not establish inbox placement or that a person read the email.
Your application supplies the event, recipient, and content. Connect your own signup, purchase, invitation, or other application logic to the sending request.
Transactional email is metered separately from promotional campaigns. Compare the Transactional, Promotional, and All-in-one tracks for the work your team needs.
Start with one essential message. Connect it, inspect the result, and build from there.