Skip to main content
Retrieve every automation configured in your workspace with a single request. The endpoint returns both incoming automations — which ingest data from external sources — and outgoing automations that push signals and scores into your downstream tools. You can filter the results by automation type, enabled state, or paginate through large sets using a cursor.

Endpoint

GET https://api.stairoids.com/v1/automations

Authentication

All requests must include a valid API key in the Authorization header.
Authorization: Bearer <api-key>

Query Parameters

type
string
Filter automations by direction. Accepted values are incoming (automations that receive data into Stairoids) or outgoing (automations that push data to external tools).
enabled
boolean
Filter by activation state. Pass true to return only active automations, or false to return only paused ones. Omit to return all automations regardless of state.
limit
integer
default:"50"
The maximum number of automations to return per page. Accepts values between 1 and 100. Defaults to 50.
cursor
string
An opaque pagination cursor returned in the next_cursor field of a previous response. Pass this value to retrieve the next page of results.

Request Example

curl -G https://api.stairoids.com/v1/automations \
  -H "Authorization: Bearer <api-key>" \
  -d type=outgoing \
  -d enabled=true \
  -d limit=25

Response Fields

automations
array
An ordered list of automation objects matching your query filters.
next_cursor
string
A cursor string to pass as the cursor query parameter to fetch the next page. null when you have reached the last page.
total
integer
The total count of automations matching the applied filters, regardless of pagination.

Example Response

{
  "automations": [
    {
      "id": "auto_a1b2c3d4",
      "name": "Ingest HubSpot Contact Activity",
      "type": "incoming",
      "enabled": true,
      "trigger": {
        "method": "integration",
        "integration": "hubspot"
      },
      "action": null,
      "created_at": "2024-09-01T12:00:00Z",
      "updated_at": "2024-10-10T08:45:00Z"
    },
    {
      "id": "auto_e5f6g7h8",
      "name": "Push High-Intent Signals to Pipedrive",
      "type": "outgoing",
      "enabled": true,
      "trigger": {
        "event": "signal.created",
        "conditions": [
          {
            "field": "signal.type",
            "operator": "eq",
            "value": "form_submit"
          },
          {
            "field": "signal.score",
            "operator": "gt",
            "value": "50"
          }
        ]
      },
      "action": {
        "type": "pipedrive",
        "config": {
          "pipeline_id": "pipe_001",
          "stage_id": "stage_003",
          "owner_id": "user_42"
        }
      },
      "created_at": "2024-09-15T09:30:00Z",
      "updated_at": "2024-10-12T14:20:00Z"
    }
  ],
  "next_cursor": "cursor_eyJpZCI6ImF1dG9fZTVmNmc3aDgifQ",
  "total": 18
}
When next_cursor is null in the response, you have retrieved all pages. Each cursor is valid for 10 minutes — begin a fresh request if your cursor expires.

HTTP Status Codes

StatusMeaning
200 OKRequest succeeded. The automations array may be empty if no results match your filters.
400 Bad RequestAn invalid query parameter was supplied (e.g., unrecognised type value).
401 UnauthorizedThe API key is missing or invalid.
429 Too Many RequestsYou have exceeded the rate limit. Slow down and retry after the duration in Retry-After.