# รหัสข้อผิดพลาดของ API

Source: https://checkslip.com/docs/errors

เมื่อเรียก API ไม่สำเร็จ response จะเป็น Problem Details (RFC 9457) ที่มี code และลิงก์มาที่หน้าของรหัสนั้น

| รหัส | HTTP status | ความหมาย |
| --- | --- | --- |
| [`IDEMPOTENCY_KEY_INVALID`](https://checkslip.com/problems/idempotency-key-invalid) | `400` | Idempotency-Key ไม่ถูกต้อง |
| [`IDEMPOTENCY_KEY_REQUIRED`](https://checkslip.com/problems/idempotency-key-required) | `400` | ต้องส่ง Idempotency-Key |
| [`INVALID_CURSOR`](https://checkslip.com/problems/invalid-cursor) | `400` | ค่า cursor ไม่ถูกต้อง |
| [`VALIDATION_FAILED`](https://checkslip.com/problems/validation-failed) | `400` | ข้อมูลที่ส่งมาไม่ถูกต้อง |
| [`INVALID_CREDENTIALS`](https://checkslip.com/problems/invalid-credentials) | `401` | อีเมลหรือรหัสผ่านไม่ถูกต้อง |
| [`OAUTH_REJECTED`](https://checkslip.com/problems/oauth-rejected) | `401` | เข้าสู่ระบบด้วยบัญชีที่เลือกไม่สำเร็จ |
| [`PASSKEY_REJECTED`](https://checkslip.com/problems/passkey-rejected) | `401` | ใช้พาสคีย์นี้ไม่ได้ |
| [`TOKEN_EXPIRED`](https://checkslip.com/problems/token-expired) | `401` | ลิงก์หมดอายุแล้ว |
| [`TOKEN_INVALID`](https://checkslip.com/problems/token-invalid) | `401` | ลิงก์ใช้ไม่ได้ |
| [`TOKEN_USED`](https://checkslip.com/problems/token-used) | `401` | ลิงก์นี้ถูกใช้ไปแล้ว |
| [`UNAUTHENTICATED`](https://checkslip.com/problems/unauthenticated) | `401` | ยืนยันตัวตนไม่สำเร็จ |
| [`CREDIT_EXPIRED`](https://checkslip.com/problems/credit-expired) | `402` | เครดิตหมดอายุ |
| [`NO_CREDIT`](https://checkslip.com/problems/no-credit) | `402` | เครดิตไม่พอ |
| [`ACCOUNT_SUSPENDED`](https://checkslip.com/problems/account-suspended) | `403` | บัญชีถูกระงับ |
| [`FORBIDDEN`](https://checkslip.com/problems/forbidden) | `403` | ไม่มีสิทธิ์ทำรายการนี้ |
| [`INVITE_EMAIL_MISMATCH`](https://checkslip.com/problems/invite-email-mismatch) | `403` | คำเชิญนี้ส่งถึงอีเมลอื่น |
| [`KEY_NOT_YOURS`](https://checkslip.com/problems/key-not-yours) | `403` | แก้หรือเพิกถอน API key ที่คนอื่นสร้างไม่ได้ |
| [`NOT_VIA_API_KEY`](https://checkslip.com/problems/not-via-api-key) | `403` | ทำผ่าน API key ไม่ได้ |
| [`ORIGIN_NOT_ALLOWED`](https://checkslip.com/problems/origin-not-allowed) | `403` | คำขอนี้ต้องมาจากหน้าเว็บของ Checkslip |
| [`PASSWORD_INCORRECT`](https://checkslip.com/problems/password-incorrect) | `403` | รหัสผ่านปัจจุบันไม่ถูกต้อง |
| [`PHONE_NOT_VERIFIED`](https://checkslip.com/problems/phone-not-verified) | `403` | ยังไม่ได้ยืนยันเบอร์มือถือ |
| [`ROLE_NOT_ALLOWED`](https://checkslip.com/problems/role-not-allowed) | `403` | บทบาทของคุณในทีมนี้ทำรายการนี้ไม่ได้ |
| [`STEP_UP_REQUIRED`](https://checkslip.com/problems/step-up-required) | `403` | ต้องยืนยันตัวตนอีกครั้ง |
| [`TWO_STEP_REQUIRED`](https://checkslip.com/problems/two-step-required) | `403` | ต้องใส่รหัสยืนยันตัวตน 2 ขั้น |
| [`ATTACHMENT_NOT_FOUND`](https://checkslip.com/problems/attachment-not-found) | `404` | ไม่พบไฟล์แนบนี้ |
| [`DELIVERY_NOT_FOUND`](https://checkslip.com/problems/delivery-not-found) | `404` | ไม่พบรายการส่ง |
| [`ENDPOINT_NOT_FOUND`](https://checkslip.com/problems/endpoint-not-found) | `404` | ไม่พบ endpoint |
| [`KEY_NOT_FOUND`](https://checkslip.com/problems/key-not-found) | `404` | ไม่พบ API key นี้ |
| [`NOT_FOUND`](https://checkslip.com/problems/not-found) | `404` | ไม่พบสิ่งที่ขอ |
| [`OAUTH_NOT_LINKED`](https://checkslip.com/problems/oauth-not-linked) | `404` | บัญชีที่เลือกยังไม่ได้เชื่อมกับ Checkslip |
| [`ORDER_NOT_FOUND`](https://checkslip.com/problems/order-not-found) | `404` | ไม่พบรายการสั่งซื้อ |
| [`PACKAGE_NOT_FOUND`](https://checkslip.com/problems/package-not-found) | `404` | ไม่พบแพ็กเครดิต |
| [`RECEIPT_NOT_FOUND`](https://checkslip.com/problems/receipt-not-found) | `404` | ไม่พบใบเสร็จ |
| [`TICKET_NOT_FOUND`](https://checkslip.com/problems/ticket-not-found) | `404` | ไม่พบเคสนี้ |
| [`ALREADY_MEMBER`](https://checkslip.com/problems/already-member) | `409` | อีเมลนี้อยู่ในทีมแล้ว |
| [`ATTACHMENT_LIMIT_REACHED`](https://checkslip.com/problems/attachment-limit-reached) | `409` | ไฟล์แนบครบจำนวนแล้ว |
| [`BILLING_INFO_REQUIRED`](https://checkslip.com/problems/billing-info-required) | `409` | ยังไม่ได้กรอกข้อมูลออกใบเสร็จ |
| [`DELETE_BALANCE_CHANGED`](https://checkslip.com/problems/delete-balance-changed) | `409` | ยอดเครดิตเปลี่ยนก่อนลบบัญชี |
| [`ENDPOINT_DISABLED`](https://checkslip.com/problems/endpoint-disabled) | `409` | endpoint ถูกปิดอยู่ |
| [`ENDPOINT_LIMIT_REACHED`](https://checkslip.com/problems/endpoint-limit-reached) | `409` | endpoint ครบจำนวนแล้ว |
| [`EXPORT_NOT_READY`](https://checkslip.com/problems/export-not-ready) | `409` | ไฟล์ export ยังไม่พร้อม |
| [`HOME_WORKSPACE`](https://checkslip.com/problems/home-workspace) | `409` | ทีมแรกของคนหนึ่ง ลบแยกไม่ได้ |
| [`IDEMPOTENCY_IN_FLIGHT`](https://checkslip.com/problems/idempotency-in-flight) | `409` | คำขอเดิมยังทำอยู่ |
| [`KEY_LIMIT_REACHED`](https://checkslip.com/problems/key-limit-reached) | `409` | มี API key ที่ใช้งานอยู่ครบจำนวนสูงสุดแล้ว |
| [`KEY_NOT_ACTIVE`](https://checkslip.com/problems/key-not-active) | `409` | API key นี้ใช้งานไม่ได้แล้ว |
| [`LAST_OWNER`](https://checkslip.com/problems/last-owner) | `409` | บัญชีต้องมีเจ้าของอยู่เสมอ |
| [`LAST_SIGN_IN_METHOD`](https://checkslip.com/problems/last-sign-in-method) | `409` | บัญชีต้องมีทางเข้าอย่างน้อยหนึ่งทาง |
| [`OAUTH_ALREADY_LINKED`](https://checkslip.com/problems/oauth-already-linked) | `409` | เชื่อมบัญชีของผู้ให้บริการนี้ไว้แล้ว |
| [`OAUTH_EMAIL_IN_USE`](https://checkslip.com/problems/oauth-email-in-use) | `409` | อีเมลนี้มีบัญชี Checkslip อยู่แล้ว |
| [`OAUTH_IN_USE`](https://checkslip.com/problems/oauth-in-use) | `409` | บัญชีที่เลือกเชื่อมกับผู้ใช้อื่นอยู่ |
| [`ORDER_ALREADY_PAID`](https://checkslip.com/problems/order-already-paid) | `409` | รายการนี้ชำระเงินแล้ว |
| [`ORDER_CANCELLED`](https://checkslip.com/problems/order-cancelled) | `409` | รายการนี้ถูกยกเลิกแล้ว |
| [`ORDER_PENDING`](https://checkslip.com/problems/order-pending) | `409` | มีรายการที่รอชำระอยู่ |
| [`OWNS_OTHER_WORKSPACES`](https://checkslip.com/problems/owns-other-workspaces) | `409` | ยังเป็นเจ้าของทีมอื่นอยู่ |
| [`PASSWORD_NOT_SET`](https://checkslip.com/problems/password-not-set) | `409` | บัญชีนี้ยังไม่มีรหัสผ่าน |
| [`PASSWORD_SET`](https://checkslip.com/problems/password-set) | `409` | บัญชีนี้มีรหัสผ่านแล้ว |
| [`PAYLOAD_INTEGRITY_MISMATCH`](https://checkslip.com/problems/payload-integrity-mismatch) | `409` | ส่งซ้ำไม่ได้ ข้อความเดิมไม่ได้เก็บไว้ |
| [`PHONE_TAKEN`](https://checkslip.com/problems/phone-taken) | `409` | เบอร์นี้ใช้กับบัญชีอื่นอยู่ |
| [`ROTATION_IN_PROGRESS`](https://checkslip.com/problems/rotation-in-progress) | `409` | กำลังเปลี่ยน secret อยู่ |
| [`STALE_WRITE`](https://checkslip.com/problems/stale-write) | `409` | ข้อมูลถูกแก้ไปก่อนแล้ว |
| [`TICKET_CLOSED`](https://checkslip.com/problems/ticket-closed) | `409` | เคสนี้ปิดแล้ว |
| [`TICKET_LIMIT_REACHED`](https://checkslip.com/problems/ticket-limit-reached) | `409` | เคสที่ยังไม่ปิดครบจำนวนแล้ว |
| [`TICKET_NOT_CLOSED`](https://checkslip.com/problems/ticket-not-closed) | `409` | เคสนี้ยังไม่ปิด |
| [`TICKET_REOPEN_EXPIRED`](https://checkslip.com/problems/ticket-reopen-expired) | `409` | เลยช่วงเปิดเคสอีกครั้งแล้ว |
| [`TICKET_VERSION_CONFLICT`](https://checkslip.com/problems/ticket-version-conflict) | `409` | เคสนี้เพิ่งถูกแก้ |
| [`TOO_MANY_INVITES`](https://checkslip.com/problems/too-many-invites) | `409` | คำเชิญที่รอตอบรับเต็มแล้ว |
| [`TOO_MANY_WORKSPACES`](https://checkslip.com/problems/too-many-workspaces) | `409` | เป็นเจ้าของทีมครบจำนวนแล้ว |
| [`TWO_STEP_ALREADY_ON`](https://checkslip.com/problems/two-step-already-on) | `409` | เปิดยืนยันตัวตน 2 ขั้นอยู่แล้ว |
| [`TWO_STEP_NOT_SET_UP`](https://checkslip.com/problems/two-step-not-set-up) | `409` | ยังไม่ได้เริ่มตั้งยืนยันตัวตน 2 ขั้น |
| [`ATTACHMENT_EXPIRED`](https://checkslip.com/problems/attachment-expired) | `410` | ไฟล์แนบถูกลบแล้ว |
| [`ENDPOINT_DELETED`](https://checkslip.com/problems/endpoint-deleted) | `410` | endpoint ถูกลบแล้ว |
| [`EXPORT_EXPIRED`](https://checkslip.com/problems/export-expired) | `410` | ไฟล์ส่งออกหมดอายุแล้ว |
| [`OTP_EXPIRED`](https://checkslip.com/problems/otp-expired) | `410` | รหัสใช้ไม่ได้แล้ว |
| [`PAYLOAD_EXPIRED`](https://checkslip.com/problems/payload-expired) | `410` | ไม่มีข้อมูลให้ส่งซ้ำแล้ว |
| [`ATTACHMENT_TOO_LARGE`](https://checkslip.com/problems/attachment-too-large) | `413` | ไฟล์ใหญ่เกินที่แนบได้ |
| [`PAYLOAD_TOO_LARGE`](https://checkslip.com/problems/payload-too-large) | `413` | ข้อมูลที่ส่งมาใหญ่เกิน |
| [`ATTACHMENT_TYPE_NOT_ALLOWED`](https://checkslip.com/problems/attachment-type-not-allowed) | `415` | ไฟล์นี้ไม่ใช่ชนิดที่แนบได้ |
| [`UNSUPPORTED_MEDIA_TYPE`](https://checkslip.com/problems/unsupported-media-type) | `415` | ชนิดข้อมูลไม่รองรับ |
| [`MISDIRECTED_REQUEST`](https://checkslip.com/problems/misdirected-request) | `421` | ส่งคำขอผิดโดเมน |
| [`ATTACHMENT_INFECTED`](https://checkslip.com/problems/attachment-infected) | `422` | ไฟล์นี้ไม่ผ่านการสแกนไวรัส |
| [`ATTACHMENT_UNREADABLE`](https://checkslip.com/problems/attachment-unreadable) | `422` | เปิดไฟล์รูปนี้ไม่ได้ |
| [`AVATAR_REFUSED`](https://checkslip.com/problems/avatar-refused) | `422` | รูปนี้ใช้เป็นรูปโปรไฟล์ไม่ได้ |
| [`CAPTCHA_FAILED`](https://checkslip.com/problems/captcha-failed) | `422` | ไม่ผ่านการยืนยันว่าไม่ใช่บอท |
| [`DESTINATION_BLOCKED`](https://checkslip.com/problems/destination-blocked) | `422` | ส่งไปที่อยู่นี้ไม่ได้ |
| [`DNS_UNRESOLVABLE`](https://checkslip.com/problems/dns-unresolvable) | `422` | หาที่อยู่ของโดเมนไม่เจอ |
| [`IDEMPOTENCY_KEY_REUSED`](https://checkslip.com/problems/idempotency-key-reused) | `422` | Idempotency-Key นี้ใช้กับคำขออื่นไปแล้ว |
| [`INVALID_FILE`](https://checkslip.com/problems/invalid-file) | `422` | อ่านไฟล์ไม่ได้ |
| [`INVALID_QR`](https://checkslip.com/problems/invalid-qr) | `422` | อ่าน QR ไม่ได้ |
| [`MULTIPLE_SLIP_QR`](https://checkslip.com/problems/multiple-slip-qr) | `422` | มี QR สลิปมากกว่าหนึ่งใบในรูปเดียว |
| [`OTP_INVALID`](https://checkslip.com/problems/otp-invalid) | `422` | รหัสไม่ถูกต้อง |
| [`PACKAGE_NOT_FOR_SALE`](https://checkslip.com/problems/package-not-for-sale) | `422` | แพ็กเครดิตนี้ซื้อไม่ได้ |
| [`PHONE_NOT_SUPPORTED`](https://checkslip.com/problems/phone-not-supported) | `422` | รองรับเฉพาะเบอร์มือถือไทย |
| [`QR_TAMPERED`](https://checkslip.com/problems/qr-tampered) | `422` | QR ไม่ตรง |
| [`RANGE_TOO_LARGE`](https://checkslip.com/problems/range-too-large) | `422` | ช่วงข้อมูลใหญ่เกินไป |
| [`RECOVER_WINDOW_INVALID`](https://checkslip.com/problems/recover-window-invalid) | `422` | ช่วงเวลาที่ขอส่งซ้ำไม่ถูกต้อง |
| [`TOO_OLD`](https://checkslip.com/problems/too-old) | `422` | เกินช่วงย้อนหลัง |
| [`TWO_STEP_CODE_INVALID`](https://checkslip.com/problems/two-step-code-invalid) | `422` | รหัสยืนยันตัวตน 2 ขั้นไม่ถูกต้อง |
| [`UNKNOWN_EVENT_TYPE`](https://checkslip.com/problems/unknown-event-type) | `422` | ไม่รู้จักประเภท event |
| [`URL_HAS_USERINFO`](https://checkslip.com/problems/url-has-userinfo) | `422` | URL มีชื่อผู้ใช้หรือรหัสผ่าน |
| [`URL_NOT_HTTPS`](https://checkslip.com/problems/url-not-https) | `422` | URL ต้องเป็น https |
| [`RATE_LIMITED`](https://checkslip.com/problems/rate-limited) | `429` | เรียกถี่เกินเพดาน |
| [`INTERNAL`](https://checkslip.com/problems/internal) | `500` | เกิดข้อผิดพลาดภายใน |
| [`ATTACHMENT_SCAN_UNAVAILABLE`](https://checkslip.com/problems/attachment-scan-unavailable) | `503` | สแกนไฟล์ไม่ได้ชั่วคราว |
| [`AVATAR_CHECK_UNAVAILABLE`](https://checkslip.com/problems/avatar-check-unavailable) | `503` | ตรวจรูปไม่ได้ชั่วคราว |
| [`CAPTCHA_UNAVAILABLE`](https://checkslip.com/problems/captcha-unavailable) | `503` | ยืนยันว่าไม่ใช่บอทไม่ได้ชั่วคราว |
| [`CREDIT_UNAVAILABLE`](https://checkslip.com/problems/credit-unavailable) | `503` | ตรวจหรือจองเครดิตไม่ได้ชั่วคราว |
| [`PAYMENTS_UNAVAILABLE`](https://checkslip.com/problems/payments-unavailable) | `503` | ระบบชำระเงินยังไม่พร้อม |
| [`SERVICE_UNAVAILABLE`](https://checkslip.com/problems/service-unavailable) | `503` | ระบบไม่พร้อมให้บริการชั่วคราว |
| [`SMS_UNAVAILABLE`](https://checkslip.com/problems/sms-unavailable) | `503` | ส่ง SMS ไม่ได้ชั่วคราว |
| [`STEP_UP_UNAVAILABLE`](https://checkslip.com/problems/step-up-unavailable) | `503` | ยืนยันตัวตนอีกครั้งไม่ได้ชั่วคราว |
| [`UNAVAILABLE`](https://checkslip.com/problems/unavailable) | `503` | ติดต่อไม่ได้ |
| [`GATEWAY_TIMEOUT`](https://checkslip.com/problems/gateway-timeout) | `504` | ระบบตอบช้าเกินกำหนด |
