Automations
Get Automation
Retrieves a single workflow automation by its ID.
GET
/
automations
/
{id}
curl --request GET \
--url https://api.autosend.com/v1/automations/60d5ec49f1b2c72d9c8b9abc \
--header 'Authorization: Bearer AS_your-project-api-key'
import requests
url = "https://api.autosend.com/v1/automations/60d5ec49f1b2c72d9c8b9abc"
headers = {
"Authorization": "Bearer AS_your-project-api-key"
}
response = requests.get(url, headers=headers)
print(response.json())
fetch('https://api.autosend.com/v1/automations/60d5ec49f1b2c72d9c8b9abc', {
method: 'GET',
headers: {
'Authorization': 'Bearer AS_your-project-api-key'
}
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
<?php
$url = 'https://api.autosend.com/v1/automations/60d5ec49f1b2c72d9c8b9abc';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer AS_your-project-api-key'
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
url := "https://api.autosend.com/v1/automations/60d5ec49f1b2c72d9c8b9abc"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("Authorization", "Bearer AS_your-project-api-key")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println("Error:", err)
return
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class GetWorkflow {
public static void main(String[] args) {
try {
URL url = new URL("https://api.autosend.com/v1/automations/60d5ec49f1b2c72d9c8b9abc");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
con.setRequestProperty("Authorization", "Bearer AS_your-project-api-key");
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuilder content = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
content.append(inputLine);
}
in.close();
con.disconnect();
System.out.println(content.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
require 'net/http'
require 'uri'
uri = URI('https://api.autosend.com/v1/automations/60d5ec49f1b2c72d9c8b9abc')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer AS_your-project-api-key'
response = http.request(request)
puts response.body
{
"success": true,
"data": {
"id": "60d5ec49f1b2c72d9c8b9abc",
"projectId": "60d5ec49f1b2c72d9c8b1111",
"name": "Welcome Series",
"description": "Sends a 2-email welcome flow when a contact is created",
"status": "active",
"entryCriteria": { "type": "contact_created" },
"exitCriteria": { "type": "workflow_complete" },
"trackingOpen": true,
"trackingClick": true,
"settings": {
"maxExecutionDays": 60,
"allowReentry": false,
"timezone": "UTC",
"priority": 1
},
"steps": [
{ "stepId": "step_aa11", "type": "wait", "delay": { "value": 0, "unit": "minutes" } },
{ "stepId": "step_bb22", "type": "email", "email": { "templateId": "60d5ec49f1b2c72d9c8b1234" } }
],
"tags": ["onboarding"],
"analytics": {
"totalEntered": 1250,
"totalCompleted": 980,
"totalExited": 40,
"totalActive": 230
},
"activeAt": "2026-05-08T10:00:00.000Z",
"createdAt": "2026-05-01T08:00:00.000Z",
"updatedAt": "2026-05-08T10:00:00.000Z"
}
}
Retrieves a single workflow automation by its ID, including its full
steps graph and live analytics.curl --request GET \
--url https://api.autosend.com/v1/automations/60d5ec49f1b2c72d9c8b9abc \
--header 'Authorization: Bearer AS_your-project-api-key'
import requests
url = "https://api.autosend.com/v1/automations/60d5ec49f1b2c72d9c8b9abc"
headers = {
"Authorization": "Bearer AS_your-project-api-key"
}
response = requests.get(url, headers=headers)
print(response.json())
fetch('https://api.autosend.com/v1/automations/60d5ec49f1b2c72d9c8b9abc', {
method: 'GET',
headers: {
'Authorization': 'Bearer AS_your-project-api-key'
}
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
<?php
$url = 'https://api.autosend.com/v1/automations/60d5ec49f1b2c72d9c8b9abc';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer AS_your-project-api-key'
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
url := "https://api.autosend.com/v1/automations/60d5ec49f1b2c72d9c8b9abc"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("Authorization", "Bearer AS_your-project-api-key")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println("Error:", err)
return
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class GetWorkflow {
public static void main(String[] args) {
try {
URL url = new URL("https://api.autosend.com/v1/automations/60d5ec49f1b2c72d9c8b9abc");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
con.setRequestProperty("Authorization", "Bearer AS_your-project-api-key");
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuilder content = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
content.append(inputLine);
}
in.close();
con.disconnect();
System.out.println(content.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
require 'net/http'
require 'uri'
uri = URI('https://api.autosend.com/v1/automations/60d5ec49f1b2c72d9c8b9abc')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer AS_your-project-api-key'
response = http.request(request)
puts response.body
{
"success": true,
"data": {
"id": "60d5ec49f1b2c72d9c8b9abc",
"projectId": "60d5ec49f1b2c72d9c8b1111",
"name": "Welcome Series",
"description": "Sends a 2-email welcome flow when a contact is created",
"status": "active",
"entryCriteria": { "type": "contact_created" },
"exitCriteria": { "type": "workflow_complete" },
"trackingOpen": true,
"trackingClick": true,
"settings": {
"maxExecutionDays": 60,
"allowReentry": false,
"timezone": "UTC",
"priority": 1
},
"steps": [
{ "stepId": "step_aa11", "type": "wait", "delay": { "value": 0, "unit": "minutes" } },
{ "stepId": "step_bb22", "type": "email", "email": { "templateId": "60d5ec49f1b2c72d9c8b1234" } }
],
"tags": ["onboarding"],
"analytics": {
"totalEntered": 1250,
"totalCompleted": 980,
"totalExited": 40,
"totalActive": 230
},
"activeAt": "2026-05-08T10:00:00.000Z",
"createdAt": "2026-05-01T08:00:00.000Z",
"updatedAt": "2026-05-08T10:00:00.000Z"
}
}
Authorizations
string | header
required
Project API key header of the form Bearer
AS_<key>.Path Parameters
string
required
Workflow automation ID.Example:
"60d5ec49f1b2c72d9c8b9abc"Response
Workflow automation retrieved successfullyboolean
Example:
trueobject
The workflow automation, with email-step
templateId references enriched with template metadata where applicable.Show child attributes
Show child attributes
string
Unique workflow identifier.
string
Project the workflow belongs to.
string
Display name of the workflow.
string
Optional description.
string
Current status:
draft, active, paused, or archived.object
Conditions that determine which contacts enter the workflow.
object
Conditions that cause contacts to exit the workflow early.
boolean
Whether open tracking is enabled.
boolean
Whether click tracking is enabled.
object
Automation configuration settings.
object[]
Full ordered step graph, with email steps enriched with template metadata.
string[]
Tags for filtering and organization.
object
Live engagement metrics (
totalEntered, totalCompleted, totalExited, totalActive).string
ISO 8601 timestamp when the workflow was last activated.
string
ISO 8601 creation timestamp.
string
ISO 8601 last-updated timestamp.
Error Responses
object
{
"success": false,
"error": {
"message": "Workflow automation not found",
"code": "WORKFLOW_NOT_FOUND"
}
}
Was this page helpful?
⌘I
curl --request GET \
--url https://api.autosend.com/v1/automations/60d5ec49f1b2c72d9c8b9abc \
--header 'Authorization: Bearer AS_your-project-api-key'
import requests
url = "https://api.autosend.com/v1/automations/60d5ec49f1b2c72d9c8b9abc"
headers = {
"Authorization": "Bearer AS_your-project-api-key"
}
response = requests.get(url, headers=headers)
print(response.json())
fetch('https://api.autosend.com/v1/automations/60d5ec49f1b2c72d9c8b9abc', {
method: 'GET',
headers: {
'Authorization': 'Bearer AS_your-project-api-key'
}
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
<?php
$url = 'https://api.autosend.com/v1/automations/60d5ec49f1b2c72d9c8b9abc';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer AS_your-project-api-key'
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
url := "https://api.autosend.com/v1/automations/60d5ec49f1b2c72d9c8b9abc"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("Authorization", "Bearer AS_your-project-api-key")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println("Error:", err)
return
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class GetWorkflow {
public static void main(String[] args) {
try {
URL url = new URL("https://api.autosend.com/v1/automations/60d5ec49f1b2c72d9c8b9abc");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
con.setRequestProperty("Authorization", "Bearer AS_your-project-api-key");
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuilder content = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
content.append(inputLine);
}
in.close();
con.disconnect();
System.out.println(content.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
require 'net/http'
require 'uri'
uri = URI('https://api.autosend.com/v1/automations/60d5ec49f1b2c72d9c8b9abc')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer AS_your-project-api-key'
response = http.request(request)
puts response.body
{
"success": true,
"data": {
"id": "60d5ec49f1b2c72d9c8b9abc",
"projectId": "60d5ec49f1b2c72d9c8b1111",
"name": "Welcome Series",
"description": "Sends a 2-email welcome flow when a contact is created",
"status": "active",
"entryCriteria": { "type": "contact_created" },
"exitCriteria": { "type": "workflow_complete" },
"trackingOpen": true,
"trackingClick": true,
"settings": {
"maxExecutionDays": 60,
"allowReentry": false,
"timezone": "UTC",
"priority": 1
},
"steps": [
{ "stepId": "step_aa11", "type": "wait", "delay": { "value": 0, "unit": "minutes" } },
{ "stepId": "step_bb22", "type": "email", "email": { "templateId": "60d5ec49f1b2c72d9c8b1234" } }
],
"tags": ["onboarding"],
"analytics": {
"totalEntered": 1250,
"totalCompleted": 980,
"totalExited": 40,
"totalActive": 230
},
"activeAt": "2026-05-08T10:00:00.000Z",
"createdAt": "2026-05-01T08:00:00.000Z",
"updatedAt": "2026-05-08T10:00:00.000Z"
}
}