Automations API
Build, check, start, stop, copy, import and archive automations, read their runs and metrics, and enrol contacts (formerly journeys).
- GETList automations
/v1/automationsList the automations belonging to the calling team, newest first.
- GETGet an automation
/v1/automations/{id}Retrieve one automation and its stats.
- POSTEnrol a contact
/v1/automations/{id}/enrollEnrol a contact into an automation, by contactId or by email within the automation's contact book.
- POSTCreate an automation
/v1/automationsCreate a DRAFT automation, with its steps if you have them.
- POSTCreate an automation from a recipe
/v1/automations/from-recipeCreate a DRAFT automation from one of the dashboard's ready-made starting points: welcome, finish-setup, win-back, trial-ending, thank-you or scratch (no…
- PATCHUpdate an automation
/v1/automations/{id}Change a draft's name, trigger, contact book, segment or steps.
- POSTActivate an automation
/v1/automations/{id}/activateTurn a draft automation on.
- POSTArchive an automation
/v1/automations/{id}/archiveArchive an automation for good: everyone still in it leaves it, and it sends nothing more.
- POSTCopy a template into a step
/v1/automations/{id}/steps/{stepId}/templateCopy a template's subject, preview text and body into an email step of a draft, as the dashboard's "Choose a template" does.
- GETList an automation's runs
/v1/automations/{id}/runsThe automation's runs, newest first, with the contact's id and email, the step each is on, when it moves next and why it left.
- GETRetrieve a run
/v1/automations/{id}/runs/{runId}One run: who, its status, the event that started it, each step it took with what happened (sent, received, timed_out, yes, no, updated, added...), and…
- GETAutomation metrics
/v1/automations/{id}/metricsThe Metrics screen: runs started each day by how they stand (completed, running, failed), emails sent each day with the share delivered, and each step's…
- POSTStop an automation
/v1/automations/{id}/stopStop an enabled automation for new people.
- POSTCopy an automation
/v1/automations/{id}/duplicateMake a disabled copy (DRAFT) with the same trigger, list, steps and paths, to change.
- POSTImport an automation
/v1/automations/importCopy an automation written in Resend's shape (name, steps with key, type and config, and connections).
- GETList the people in an automation
/v1/automations/{id}/peopleThe dashboard's People table: each person's name, email, where they are in the automation and how they are doing, newest first, 25 to a page.
- GETExport an automation's people
/v1/automations/{id}/people/exportThe People table as CSV, newest first, at most 10,000 rows (truncated is true when there were more).
- GETCheck an automation before activating
/v1/automations/{id}/preflightEvery finding the dashboard's review screen shows, at once: the entry, the emails' domains, empty emails, the deliverability check of each email, preview…
- POSTSend a test of the whole automation
/v1/automations/{id}/testSend a test copy of every email step at once to the team member who created the API key, and to nobody else: the request names no recipient.
- POSTPause an automation
/v1/automations/{id}/pausePause an active automation.
- POSTResume an automation
/v1/automations/{id}/resumeResume a paused automation, which carries on emailing the people in it.
- POSTEnrol up to 100 contacts
/v1/automations/{id}/enroll/batchEnrol 1 to 100 contacts into an automation in one call, each by contactId or by email (an email not yet in the automation's contact book is added to it).
- GETAutomation stats
/v1/automations/{id}/statsHow an automation is doing over the last 30 days (range=30d, the default) or all time (range=all): how many started, are in it now, finished and left…