Skip to content

Retrieve an automation

Fetch one automation by its id, with its full graph — steps and connections.

http
GET /v1/automations/{id}

Requires a Full access API key.

Path parameters

ParameterTypeRequiredDescription
idstringYesThe automation id (auto_…).

Example

bash
curl "https://api.sendgrail.com/v1/automations/$AUTOMATION_ID" \
  -H "Authorization: Bearer $SENDGRAIL_API_KEY"
js
const res = await fetch(`https://api.sendgrail.com/v1/automations/${id}`, {
  headers: { Authorization: `Bearer ${process.env.SENDGRAIL_API_KEY}` },
});

const automation = await res.json();

Response

json
{
  "object": "automation",
  "id": "auto_5PmT9wRx2AqK",
  "name": "Welcome series",
  "status": "enabled",
  "created_at": "2026-07-14T19:44:32+00:00",
  "updated_at": "2026-07-16T08:12:04+00:00",
  "steps": [
    {
      "key": "start",
      "type": "trigger",
      "config": { "event_name": "user.created" }
    },
    {
      "key": "welcome",
      "type": "send_email",
      "config": {
        "template": { "id": "d3f8c2a1-6b47-4e9a-b25c-1f0e7a9d4c83" },
        "from": "Ada <ada@acme.com>",
        "reply_to": "support@acme.com",
        "subject": "Welcome to Acme"
      }
    }
  ],
  "connections": [
    { "from": "start", "to": "welcome", "type": "default" }
  ]
}

For what each field means, see The automation object.

Retrieve is the one automation read that carries the full graph — List automations returns lean objects without steps or connections, because a page of full graphs would be far more than a listing needs. A run under this automation is a separate object; walk them with List automation runs.

An automation belonging to another team answers 404; a Sending-access key answers 403. See Errors.

Transactional email on your own domain.