curl --request GET \
--url https://brew.new/api/v1/automations/{automationId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://brew.new/api/v1/automations/{automationId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://brew.new/api/v1/automations/{automationId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://brew.new/api/v1/automations/{automationId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://brew.new/api/v1/automations/{automationId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://brew.new/api/v1/automations/{automationId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://brew.new/api/v1/automations/{automationId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"automationId": "M3nRk8LqW2xT5vBp9YcZd",
"automationVersionId": "Rt4Vw1KyPb6HZq7Lm2Nx8",
"triggerEventId": "user_signed_up",
"name": "Welcome flow",
"version": "latest",
"published": true,
"emailIds": [
"V1StGXR8_Z5jdHi6B-myT"
],
"updatedAt": "2026-04-08T12:00:00.000Z"
}Get an automation
Reads one automation as the bare row, LEAN by default (graph omitted), with published, paused, pausedAt, the live version it serves, its creator (createdBy, createdByUserId) and, while live, the live version’s publisher (publishedBy, publishedByUserId).
Use when reading a flow before editing or publishing it, pinning liveAutomationVersionId, or inspecting its graph.
Input automationId in the path; include=graph inlines nodes and connections and include=versions the lean { version, automationVersionId } history (comma-separate both).
Returns 200 with the row; the include fields are present only when requested.
Errors 404 AUTOMATION_NOT_FOUND for an unknown or cross-brand id; 400 INVALID_REQUEST for an unknown include token.
See also listAutomations, updateAutomation, testAutomation, runAutomation.
curl --request GET \
--url https://brew.new/api/v1/automations/{automationId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://brew.new/api/v1/automations/{automationId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://brew.new/api/v1/automations/{automationId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://brew.new/api/v1/automations/{automationId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://brew.new/api/v1/automations/{automationId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://brew.new/api/v1/automations/{automationId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://brew.new/api/v1/automations/{automationId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"automationId": "M3nRk8LqW2xT5vBp9YcZd",
"automationVersionId": "Rt4Vw1KyPb6HZq7Lm2Nx8",
"triggerEventId": "user_signed_up",
"name": "Welcome flow",
"version": "latest",
"published": true,
"emailIds": [
"V1StGXR8_Z5jdHi6B-myT"
],
"updatedAt": "2026-04-08T12:00:00.000Z"
}Authorizations
Send your Brew API key as Authorization: Bearer brew_xxx.
Headers
The brand this request acts on. REQUIRED for organization-scoped credentials (otherwise 400 BRAND_ID_REQUIRED — there is no default brand); list ids with GET /v1/brands. Brand-scoped credentials may omit it, and sending a different brand returns 403 BRAND_SCOPE_MISMATCH. A brand outside your organization returns 404 BRAND_NOT_FOUND.
1 - 64Path Parameters
Automation id returned by POST /v1/automations and listed by GET /v1/automations.
1 - 64"M3nRk8LqW2xT5vBp9YcZd"
Query Parameters
Comma-separated expansions: graph inlines nodes/connections; versions inlines the lean version history.
Response
The automation row.
1 - 641 - 641 - 120x >= 01 - 641 - 2562000x >= 01 - 64Show child attributes
Show child attributes
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Creator as Brew shows it: a name or "Former member", "API" or "MCP", or both joined ("Name · MCP"); absent when the creator cannot be named.
Creator user id; absent for an organization API key.
Who published the live version; absent while not live.
Publisher user id of the live version.
Show child attributes
Show child attributes
Was this page helpful?