Introduction

The Automate Simple API lets you manage flows and trigger them programmatically from your own applications. All endpoints follow REST conventions and return JSON.

There are two types of interaction:

The management API is designed for developers building integrations on top of Automate Simple. If you just want to trigger a flow from an external service, use the webhook URL — no authentication required.

Base URL

All API requests are made to:

https://automate-it-simple.com

Authentication

Management endpoints require your API key passed as a Bearer token in the Authorization header.

Authorization: Bearer YOUR_API_KEY

Your API key is available from your Dashboard under Account Settings.

Keep your API key secret. Do not expose it in client-side code or public repositories. If compromised, regenerate it from your dashboard.

Errors

All errors return a JSON object with an error field describing what went wrong.

{
  "error": "Flow not found."
}
StatusMeaning
200Success
400Bad request — missing or invalid parameter
401Unauthorized — missing or invalid API key
402Payment required — insufficient request balance
404Not found — flow or resource does not exist
405Method not allowed — wrong HTTP method used

Rate Limits

There are currently no hard rate limits on the API. Each flow execution deducts 1 request from your balance — running out of balance is the natural throttle. Please avoid polling endpoints at high frequency.

Webhooks — Overview

Every flow has a unique webhook URL generated at creation. You can find it in the flow editor or on the My Flows page.

Webhook URLs look like this:

https://automate-it-simple.com/webhook.php?token=a3f8c2e1d4b7...

Point any external service at this URL and Automate Simple will execute the flow when a request arrives. Supports both application/json and application/x-www-form-urlencoded bodies.

POST — Trigger a Flow

POST /webhook.php?token=YOUR_TOKEN

Triggers a flow execution. The request body is passed through as the flow payload.

Parameters

ParameterTypeDescription
tokenrequiredstringThe flow's unique webhook token (from the flow editor)

Request body

Any JSON or form-encoded payload. The full body is returned in the response and available for flow processing.

# JSON body
curl -X POST "https://automate-it-simple.com/webhook.php?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"order_id": 1042, "customer": "Jane Doe", "total": 89.50}'

# Form encoded
curl -X POST "https://automate-it-simple.com/webhook.php?token=YOUR_TOKEN" \
  -d "order_id=1042&customer=Jane+Doe&total=89.50"

Webhook — Response Format

Success — HTTP 200

{
  "status":    "ok",
  "flow":      "New Shopify order → Slack message",
  "trigger":   "Shopify › New order",
  "action":    "Slack › Send channel message",
  "payload":   {
    "order_id": 1042,
    "customer": "Jane Doe",
    "total": 89.50
  },
  "timestamp": "2026-03-18T15:00:00+00:00"
}

Skipped — HTTP 200

Returned when the flow is paused. No request is deducted.

{
  "status": "skipped",
  "reason": "Flow is paused."
}

Webhook — Error Codes

HTTPErrorCause
400Missing token.No token param in the URL
404Webhook not found.Token does not match any flow
402Insufficient requests.Account balance is zero
405Method not allowed. Use POST.Request was not a POST

GET — List Flows

GET /api/flows.php

Returns all flows belonging to the authenticated user.

Example request

curl -X GET "https://automate-it-simple.com/api/flows.php" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "flows": [
    {
      "id": 1,
      "name": "New Shopify order → Slack message",
      "trigger_svc": "Shopify",
      "trigger_evt": "New order",
      "action_svc":  "Slack",
      "action_evt":  "Send channel message",
      "status":      "active",
      "runs":        42,
      "webhook_url": "https://automate-it-simple.com/webhook.php?token=a3f8c2e1...",
      "created_at":  "2026-03-01 10:22:00"
    }
  ]
}

GET — Get a Flow

GET /api/flows.php?id=FLOW_ID

Returns a single flow by ID.

Parameters

ParameterTypeDescription
idrequiredintegerFlow ID

Example request

curl -X GET "https://automate-it-simple.com/api/flows.php?id=1" \
  -H "Authorization: Bearer YOUR_API_KEY"

POST — Create a Flow

POST /api/flows.php

Creates a new flow. A webhook URL is generated automatically.

Body parameters

ParameterTypeDescription
namerequiredstringDisplay name for the flow
trigger_svcrequiredstringTrigger service name (e.g. Shopify)
trigger_evtrequiredstringTrigger event (e.g. New order)
action_svcrequiredstringAction service name (e.g. Slack)
action_evtrequiredstringAction event (e.g. Send channel message)

Example request

curl -X POST "https://automate-it-simple.com/api/flows.php" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name":        "New Shopify order → Slack message",
    "trigger_svc": "Shopify",
    "trigger_evt": "New order",
    "action_svc":  "Slack",
    "action_evt":  "Send channel message"
  }'

Response

{
  "success": true,
  "flow": {
    "id":          3,
    "name":        "New Shopify order → Slack message",
    "status":      "active",
    "webhook_url": "https://automate-it-simple.com/webhook.php?token=b9d2e4f1...",
    "created_at":  "2026-03-18 14:00:00"
  }
}

PUT — Update a Flow

PUT /api/flows.php?id=FLOW_ID

Updates one or more fields on an existing flow. Only include the fields you want to change.

Body parameters

ParameterTypeDescription
nameoptionalstringNew display name
trigger_svcoptionalstringNew trigger service
trigger_evtoptionalstringNew trigger event
action_svcoptionalstringNew action service
action_evtoptionalstringNew action event

Example request

curl -X PUT "https://automate-it-simple.com/api/flows.php?id=3" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Order alert → Teams"}'

POST — Pause / Resume a Flow

POST /api/flows.php?id=FLOW_ID&action=toggle

Toggles a flow between active and paused. Paused flows do not execute and do not consume requests.

Example request

curl -X POST "https://automate-it-simple.com/api/flows.php?id=3&action=toggle" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "success": true,
  "id":      3,
  "status":  "paused"
}

DELETE — Delete a Flow

DELETE /api/flows.php?id=FLOW_ID

Permanently deletes a flow. This cannot be undone.

Example request

curl -X DELETE "https://automate-it-simple.com/api/flows.php?id=3" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "success": true,
  "deleted": 3
}

GET — Account Balance

GET /api/account.php

Returns the authenticated user's current request balance and account info.

Example request

curl -X GET "https://automate-it-simple.com/api/account.php" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "name":       "Jane Doe",
  "email":      "[email protected]",
  "requests":   850,
  "flows_total": 4,
  "flows_active": 3
}

GET — Transaction History

GET /api/account.php?transactions=1

Returns the last 30 billing transactions for the authenticated account.

Example request

curl -X GET "https://automate-it-simple.com/api/account.php?transactions=1" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "transactions": [
    {
      "id":         18,
      "type":       "topup",
      "amount":     500,
      "note":       "Stripe top-up",
      "created_at": "2026-03-18 14:05:22"
    },
    {
      "id":         17,
      "type":       "charge",
      "amount":     -1,
      "note":       "Webhook trigger — flow: New Shopify order → Slack",
      "created_at": "2026-03-18 13:44:10"
    }
  ]
}
Note: The /api/flows.php and /api/account.php endpoints shown above require the API backend to be implemented on your server. The webhook endpoint (/webhook.php) is fully functional out of the box.