Control n8n workflow automation platform via REST API.
Set these environment variables (or store in .n8n-api-config):
export N8N_API_URL="https://your-instance.app.n8n.cloud/api/v1" # or http://localhost:5678/api/v1
export N8N_API_KEY="your-api-key-here"
Generate API key: n8n Settings → n8n API → Create an API key.
All calls use header X-N8N-API-KEY for auth.
curl -s -H "X-N8N-API-KEY: $N8N_API_KEY" "$N8N_API_URL/workflows" | jq '.data[] | {id, name, active}'
curl -s -H "X-N8N-API-KEY: $N8N_API_KEY" "$N8N_API_URL/workflows/{id}"
# Activate
curl -s -X PATCH -H "X-N8N-API-KEY: $N8N_API_KEY" \
-H "Content-Type: application/json" \
-d '{"active": true}' "$N8N_API_URL/workflows/{id}"
# Deactivate
curl -s -X PATCH -H "X-N8N-API-KEY: $N8N_API_KEY" \
-H "Content-Type: application/json" \
-d '{"active": false}' "$N8N_API_URL/workflows/{id}"
# Production webhook
curl -s -X POST "$N8N_API_URL/../webhook/{webhook-path}" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
# Test webhook
curl -s -X POST "$N8N_API_URL/../webhook-test/{webhook-path}" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
# All recent executions
curl -s -H "X-N8N-API-KEY: $N8N_API_KEY" "$N8N_API_URL/executions?limit=10" | jq '.data[] | {id, workflowId, status, startedAt}'
# Failed executions only
curl -s -H "X-N8N-API-KEY: $N8N_API_KEY" "$N8N_API_URL/executions?status=error&limit=5"
# Executions for specific workflow
curl -s -H "X-N8N-API-KEY: $N8N_API_KEY" "$N8N_API_URL/executions?workflowId={id}&limit=10"
curl -s -H "X-N8N-API-KEY: $N8N_API_KEY" "$N8N_API_URL/executions/{id}"
curl -s -X POST -H "X-N8N-API-KEY: $N8N_API_KEY" \
-H "Content-Type: application/json" \
-d @workflow.json "$N8N_API_URL/workflows"
curl -s -X DELETE -H "X-N8N-API-KEY: $N8N_API_KEY" "$N8N_API_URL/workflows/{id}"
List active workflows, check recent executions for errors, report status:
# Count active workflows
ACTIVE=$(curl -s -H "X-N8N-API-KEY: $N8N_API_KEY" "$N8N_API_URL/workflows?active=true" | jq '.data | length')
# Count failed executions (last 24h)
FAILED=$(curl -s -H "X-N8N-API-KEY: $N8N_API_KEY" "$N8N_API_URL/executions?status=error&limit=100" | jq '[.data[] | select(.startedAt > (now - 86400 | todate))] | length')
echo "Active workflows: $ACTIVE | Failed (24h): $FAILED"
Parse workflow JSON to summarize: trigger type, node count, apps connected, schedule.
See references/api-endpoints.md for complete endpoint documentation.
?active=true or ?active=false to filter workflow listings共 1 个版本