Skip to content
Products
Open Auto Appy
Auto AppyFor developers6 min read

REST API

Everything you can do in the Auto Appy app goes through the same API your code can call.

Base URL https://api.autoappy.com
Authentication Authorization: Bearer aa_key_… (API keys)
Format JSON in, JSON out. Send Accept: application/json.
Organisation data Add X-AutoAppy-Workspace: <central organisation ID>
Rate limit 120 requests per minute per key

The interactive reference lists every endpoint (about 290, in 56 categories), with parameters, examples and a Try it out button. You can also download the OpenAPI file or a Postman collection.

Open the API referenceautoappy.com/api/
autoappy.com/api
Auto Appy Platform API documentation: Browse API, Download OpenAPI, Postman collection, Manage API keys

Downloads: openapi.json · postman.json. The WhatsApp, CRM and AI products have their own references, linked at the top of that page.

Terminal window
curl "https://api.autoappy.com/workflows" \
-H "Authorization: Bearer $AUTOAPPY_API_KEY" -H "Accept: application/json"
{
"status": "success",
"workflows": [
{ "id": "7b59a919-85b3-42ee-ab84-6c61757e2736", "name": "Welcome new leads", "status": "Live" }
]
}
Terminal window
curl -X POST "https://api.autoappy.com/workflows" \
-H "Authorization: Bearer $AUTOAPPY_API_KEY" -H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"name": "Order follow-up"}'

It’s created as a Draft. Adding and configuring steps through the API is possible (see the Workflow graph endpoints in the reference), but most people build in the editor, or ask an assistant through MCP.

Terminal window
curl -X POST "https://api.autoappy.com/workflows/WORKFLOW_ID/status" \
-H "Authorization: Bearer $AUTOAPPY_API_KEY" -H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"status": "Pause"}'

status is one of Live, Pause or Draft.

For workflows that start with an action (the API version of Run once):

Terminal window
curl -X POST "https://api.autoappy.com/workflows/runOnes/WORKFLOW_ID" \
-H "Authorization: Bearer $AUTOAPPY_API_KEY" -H "Accept: application/json"

To start a webhook workflow with data, call its webhook URL instead.

Terminal window
curl "https://api.autoappy.com/workflows/WORKFLOW_ID/executions?status=failed" \
-H "Authorization: Bearer $AUTOAPPY_API_KEY" -H "Accept: application/json"

status can be all, failed, succeeded or in_progress. Open one run with /workflows/WORKFLOW_ID/executions/RUN_ID to see each step’s result.

import os, requests
API = "https://api.autoappy.com"
H = {"Authorization": f"Bearer {os.environ['AUTOAPPY_API_KEY']}", "Accept": "application/json"}
for wf in requests.get(f"{API}/workflows", headers=H).json()["workflows"]:
runs = requests.get(f"{API}/workflows/{wf['id']}/executions",
params={"status": "failed", "per_page": 5}, headers=H).json()
failed = runs.get("summary", {}).get("failed", 0)
if failed:
print(f"{wf['name']}: {failed} failed run(s)")

Errors come back as JSON with a readable message (or error) and the usual HTTP status codes: 401 (missing or wrong key), 403 (not allowed for this key or account), 404 (not found), 422 (a field is missing or invalid; the response names it), 429 (too many requests), 5xx (server problem; retry later). See What is an API? for a plain-language table.