介绍
# n8n Automation
通过 REST API 控制 n8n 工作流自动化平台。
## 设置
设置这些环境变量(或存储在 `.n8n-api-config` 中):
```bash 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" ```
生成 API 密钥:n8n Settings → n8n API → Create an API key。
## 快速参考
所有调用均使用标头 `X-N8N-API-KEY` 进行身份验证。
### 列出工作流 ```bash curl -s -H "X-N8N-API-KEY: $N8N_API_KEY" "$N8N_API_URL/workflows" | jq '.data[] | {id, name, active}' ```
### 获取工作流详情 ```bash curl -s -H "X-N8N-API-KEY: $N8N_API_KEY" "$N8N_API_URL/workflows/{id}" ```
### 激活/停用工作流 ```bash # 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}" ```
### 触发工作流(通过 webhook) ```bash # 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"}' ```
### 列出执行记录 ```bash # 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" ```
### 获取执行详情 ```bash curl -s -H "X-N8N-API-KEY: $N8N_API_KEY" "$N8N_API_URL/executions/{id}" ```
### 创建工作流(从 JSON) ```bash curl -s -X POST -H "X-N8N-API-KEY: $N8N_API_KEY" \ -H "Content-Type: application/json" \ -d @workflow.json "$N8N_API_URL/workflows" ```
### 删除工作流 ```bash curl -s -X DELETE -H "X-N8N-API-KEY: $N8N_API_KEY" "$N8N_API_URL/workflows/{id}" ```
## 常见模式
### 健康检查(定期运行) 列出活跃的工作流,检查最近的执行记录是否有错误,报告状态: ```bash # 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" ```
### 调试失败的执行 1. 列出失败的执行记录 → 获取执行 ID 2. 获取执行详情 → 找到失败的节点 3. 检查节点参数和输入数据 4. 根据错误消息建议修复方法
### 工作流摘要 解析工作流 JSON 以生成摘要:触发器类型、节点数量、连接的应用、计划。
## API 端点参考
完整端点文档请参阅 [references/api-endpoints.md](references/api-endpoints.md)。
## 提示 - 在非企业版计划中,API 密钥拥有完全访问权限 - 速率限制因计划而异(云版)或无限制(自托管) - Webhook URL 不同于 API URL(无需身份验证标头) - 使用 `?active=true` 或 `?active=false` 过滤工作流列表 - 执行数据可能会根据 n8n 的保留设置被清除