Error reference
ค้นหาจากรหัสที่ได้รับ เช่น no_text_layer เพื่อดูสาเหตุและวิธีแก้ ใช้ Request ID เมื่อต้องการให้ทีมตามรอยคำขอครั้งนั้น
พบ 98 จาก 98 รหัส · แสดง 20 รหัส
api_key_requiredHTTP 422This provider needs an API key before it can be enabled
article_unavailableHTTP 409Article is no longer available
assistant_busyHTTP 503The assistant has reached today's limit
assistant_not_readyHTTP 409กรุณาตั้งค่าโมเดล AI ที่รองรับภาพและ API key ใน CMS Assistant
assistant_unavailableHTTP 503Assistant is not available
blocked_addressHTTP 502ที่อยู่ของผู้ให้บริการ AI ถูกบล็อกโดยข้อกำหนดเครือข่าย
busyHTTP 503ระบบกำลังอ่าน PDF อื่นครบจำนวนที่รับพร้อมกันได้
case_study_unavailableHTTP 409Case study is no longer available
classroom_metadata_mismatchHTTP 422Classroom metadata mismatch
classroom_requiredHTTP 422Select a classroom before uploading
confirm_requiredHTTP 400คำขอที่ลบข้อมูลถาวรต้องมีข้อความยืนยันที่ตรงทุกตัวอักษร
connection_conflictHTTP 409The selected provider page or channel already belongs to a different ReefPost workspace
connection_originHTTP 403Channel authorization must start on post.reefsight.tech so the browser binding cookie reaches the fixed OAuth callback
connection_selection_completedHTTP 409This OAuth selection was already saved with a different set of channels; its completed receipt cannot be changed
content_typeHTTP 415JSON required
dependency_unavailableHTTP 503บริการที่ API ต้องพึ่งพา เช่นฐานข้อมูลหรือ Redis ยังไม่พร้อม
duplicateHTTP 409Tech stack already exists
duplicate_categoryHTTP 409Category name or slug already exists
duplicate_pageHTTP 409Page already exists
duplicate_slugHTTP 409slug นี้ถูกใช้กับรายการอื่นแล้ว
รูปแบบ response
ค่าเริ่มต้นยังเป็น {error: {code, message, requestId}} โดย HTTP status บอกประเภทความผิดพลาด และ code เป็นรหัสคงที่สำหรับเขียนเงื่อนไขในโปรแกรม อย่าใช้ข้อความ message เป็นเงื่อนไข
REST API ใต้ /api/v1/ เลือกใช้ RFC 9457 ได้ด้วย Accept: application/problem+json เมื่อเกิด error จะได้ Content-Type เดียวกัน ตัวอย่าง:
{
"type": "https://reefsight.tech/errors/no_text_layer",
"title": "PDF has no text layer",
"status": 422,
"detail": "This PDF has no selectable text",
"code": "no_text_layer",
"requestId": "0123456789abcdef0123456789abcdef"
}ตัวอย่างเป็นข้อมูลจำลอง หากส่งทั้งสองชนิดจะใช้ค่า q และเลือก Problem เมื่อคะแนนเท่ากัน; q=0 ไม่เลือกชนิดนั้น ส่วน Accept ที่ไม่มี Problem หรือมีเฉพาะ wildcard จะยังเป็นรูปแบบเดิม
สำเร็จแล้วได้รูปแบบเดิมของ endpoint เสมอ ข้อผิดพลาดจาก proxy หรือ router, หลังเริ่ม streaming, /api/v1/seo และ MCP JSON-RPC มีรูปแบบของตนเอง ผู้เรียกควรตรวจ Content-Type ก่อนอ่าน JSON
ตามรอย Request ID
คัดลอก requestId จาก body หรือ X-Request-ID จาก response header พร้อม code และเวลาที่เกิดปัญหาให้ทีมตรวจ log ไม่ต้องส่ง API key, cookie หรือไฟล์ต้นฉบับ
code บอกชนิดของปัญหา ส่วน Request ID อ้างถึงคำขอหนึ่งครั้ง ทีมใช้คู่กันเพื่อดู route, HTTP status และระยะเวลา ไม่ใช่เลขบรรทัดของโค้ด
อย่าส่งคำสั่งเขียนซ้ำอัตโนมัติหลัง timeout หรือ 5xx โดยไม่ตรวจผลเดิม หาก endpoint รองรับ Idempotency-Key ให้ใช้ค่าเดิมกับเนื้อหาเดิมเท่านั้น