# Hẹn đăng bài

> post_schedule — Put a post or thread in the calendar of one account: at a time, in the account's next good slot, or as a draft.

Source: https://x.builera.app/docs/vi/reference/post_schedule

`post_schedule` · Đổi thiết lập trong X-Buddy

> [!NOTE]
> Mô tả kỹ thuật bằng tiếng Anh — đúng chữ AI agent đọc qua MCP.

Put a post or thread in the calendar of one account: at a time, in the account's next good slot, or as a draft. Duplicate guard and limits apply when it publishes. Text is posted word for word.

| | |
|---|---|
| REST | `POST /api/public/v1/posts` |
| Công cụ MCP | `post_schedule` |
| Quyền cần có | `posts.manage` — Chủ, Quản lý, Vận hành |
| Nhóm quyền | `x:publish` |
| Nhóm | Bài đăng |
| Hiện sẵn trong hồ sơ | Tự động |

## Đầu vào {#input}

| Trường | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
| `account` | string (1–100 chars) | Có | The X account to use: its X-Buddy account_id (from account_list) or its @handle. Ambiguous names return candidates instead of guessing. |
| `parts` | array of object (1–25 items) | Có |  |
| `when` | `at` · `queue` · `draft` | Có | at = at `at`; queue = next good slot of the account; draft = not scheduled. |
| `at` | string (date-time) | Không | ISO time for when=at (≤ 60 days ahead). |
| `pin` | boolean | Không |  |

## Kết quả {#output}

Trả về kết quả của thao tác trong phong bì `{ data, meta }`.

> [!IMPORTANT]
> 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.

## Ví dụ {#example}

### Gọi qua REST {#example-rest}

```bash
curl -X POST "https://reach-link-craft.lovable.app/api/public/v1/posts" \
  -H "Authorization: Bearer $XBUDDY_API_KEY" \
  -H "Idempotency-Key: 6f1c2a90-example-key" \
  -H "Content-Type: application/json" \
  -d '{"account":"@your_x_account","parts":[{"text":"Hello from X-Buddy"}],"when":"at"}'
```

### Gọi qua MCP {#example-mcp}

```json
{
  "method": "tools/call",
  "params": {
    "name": "post_schedule",
    "arguments": {
      "account": "@your_x_account",
      "parts": [
        {
          "text": "Hello from X-Buddy"
        }
      ],
      "when": "at",
      "idempotency_key": "6f1c2a90-example-key"
    }
  }
}
```

## Lỗi có thể gặp {#errors}

| Mã | HTTP | Thử lại được |
|---|---|---|
| [`unauthorized`](/docs/vi/errors/unauthorized) | 401 | Không |
| [`key_expired`](/docs/vi/errors/key_expired) | 401 | Không |
| [`integration_revoked`](/docs/vi/errors/integration_revoked) | 401 | Không |
| [`connection_not_linked`](/docs/vi/errors/connection_not_linked) | 403 | Không |
| [`integration_paused`](/docs/vi/errors/integration_paused) | 403 | Không |
| [`workspace_integrations_paused`](/docs/vi/errors/workspace_integrations_paused) | 403 | Không |
| [`integration_authorization_lost`](/docs/vi/errors/integration_authorization_lost) | 403 | Không |
| [`workspace_suspended`](/docs/vi/errors/workspace_suspended) | 403 | Không |
| [`forbidden`](/docs/vi/errors/forbidden) | 403 | Không |
| [`invalid_input`](/docs/vi/errors/invalid_input) | 422 | Không |
| [`rate_limited`](/docs/vi/errors/rate_limited) | 429 | Có |
| [`internal`](/docs/vi/errors/internal) | 500 | Có |
| [`read_only`](/docs/vi/errors/read_only) | 403 | Không |
| [`idempotency_key_required`](/docs/vi/errors/idempotency_key_required) | 428 | Không |
| [`idempotency_conflict`](/docs/vi/errors/idempotency_conflict) | 409 | Không |
| [`idempotency_processing`](/docs/vi/errors/idempotency_processing) | 409 | Có |
| [`conflict`](/docs/vi/errors/conflict) | 409 | Không |
| [`precondition_failed`](/docs/vi/errors/precondition_failed) | 422 | Không |
| [`ambiguous_account`](/docs/vi/errors/ambiguous_account) | 409 | Không |
| [`account_not_allowed`](/docs/vi/errors/account_not_allowed) | 403 | Không |
| [`not_found`](/docs/vi/errors/not_found) | 404 | Không |

[Về danh sách thao tác](/docs/vi/reference)
