# Error (/api/error)

```json
{
  "error": {
    "code": "caption_too_long",
    "message": "Threads allows at most 500 characters",
    "details": { "platform": "threads", "account_id": "b2.." }
  }
}
```

`code` stabil dan aman dipakai di kode kamu. `message` bisa berubah.

| HTTP | Kode                                                                                                                                                                  |
| ---- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 400  | `validation_failed`, `caption_too_long`, `media_required`, `media_invalid_format`, `too_many_media`, `invalid_options`, `option_requires_text_only`, `too_many_links` |
| 401  | `unauthenticated`, `invalid_api_key`, `invalid_token`                                                                                                                 |
| 403  | `insufficient_scope` (key hanya punya akses baca), `email_not_verified`                                                                                               |
| 404  | `not_found`                                                                                                                                                           |
| 409  | `idempotency_conflict`, `post_not_editable`, `post_not_removable`, `media_in_use`                                                                                     |
| 422  | `account_expired` (hubungkan ulang akun), `publishing_limit_reached`, `permission_missing`                                                                            |
| 429  | `rate_limited`                                                                                                                                                        |
| 502  | `platform_error` (error dari Meta yang tidak dikenali)                                                                                                                |

## Kenapa post gagal [#kenapa-post-gagal]

Setiap target post punya `error_code` bila gagal terbit, misalnya `account_expired`, `permission_missing`, `rate_limited`, `media_fetch_failed`, `image_too_large`, `aspect_ratio_invalid`, `caption_too_long`, atau `publish_limit_reached`. `error_message` berisi pesan asli dari Meta.

Error sementara dari Meta diulang otomatis. Untuk yang lain, perbaiki penyebabnya lalu panggil `POST /v1/posts/{id}/retry`.
