Tra cứu API
Tạo / sửa playbook
playbook_save — Without playbook_id: create.
playbook_save · Đổi thiết lập trong X-Buddy
Mô tả kỹ thuật bằng tiếng Anh — đúng chữ AI agent đọc qua MCP.
Without playbook_id: create. With playbook_id: replace name, description and tasks (expected_revision required). Accounts that already received it change only when the playbook is applied again.
| REST | POST /api/public/v1/playbooks |
| Công cụ MCP | playbook_save |
| Quyền cần có | tasks.manage — Chủ, Quản lý, Vận hành |
| Nhóm quyền | automation:write |
| Nhóm | Tác vụ và playbook |
| Hiện sẵn trong hồ sơ | Tự động |
Đầu vào
| Trường | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
playbook_id |
string (uuid) | Không | Playbook to change (omit to create). |
name |
string (1–80 chars) | Có | |
description |
string (0–500 chars) | Không | |
tasks |
array of object (1–12 items) | Có | |
expected_revision |
integer (1–∞) | Không | The revision you read (optimistic locking); a newer revision fails with revision_conflict. |
Kết quả
Trả về kết quả của thao tác trong phong bì { data, meta }.
Cần khoá idempotency (Idempotency-Key, 8–128 ký tự). Gửi lại cùng khoá không bao giờ làm lại việc.
Thiết lập có phiên bản: gửi expected_revision (hoặc If-Match) bạn đã đọc, nếu không sẽ bị từ chối.
Ví dụ
Gọi qua REST
curl -X POST "https://reach-link-craft.lovable.app/api/public/v1/playbooks" \
-H "Authorization: Bearer $XBUDDY_API_KEY" \
-H "Idempotency-Key: 6f1c2a90-example-key" \
-H 'If-Match: "3"' \
-H "Content-Type: application/json" \
-d '{"name":"Example","tasks":[{"type":"timeline_browse","name":"Example","settings":{},"schedule":{"days":[1],"runsPerDay":1}}]}'
Gọi qua MCP
{
"method": "tools/call",
"params": {
"name": "playbook_save",
"arguments": {
"name": "Example",
"tasks": [
{
"type": "timeline_browse",
"name": "Example",
"settings": {},
"schedule": {
"days": [
1
],
"runsPerDay": 1
}
}
],
"idempotency_key": "6f1c2a90-example-key",
"expected_revision": 3
}
}
}
Lỗi có thể gặp
| Mã | HTTP | Thử lại được |
|---|---|---|
unauthorized |
401 | Không |
key_expired |
401 | Không |
integration_revoked |
401 | Không |
connection_not_linked |
403 | Không |
integration_paused |
403 | Không |
workspace_integrations_paused |
403 | Không |
integration_authorization_lost |
403 | Không |
workspace_suspended |
403 | Không |
forbidden |
403 | Không |
invalid_input |
422 | Không |
rate_limited |
429 | Có |
internal |
500 | Có |
read_only |
403 | Không |
idempotency_key_required |
428 | Không |
idempotency_conflict |
409 | Không |
idempotency_processing |
409 | Có |
conflict |
409 | Không |
precondition_failed |
422 | Không |
revision_required |
428 | Không |
revision_conflict |
412 | Không |
not_found |
404 | Không |