Error reference

Every status you can get from any endpoint, its literal body, and what to do. 503 before everything, then the key ladder, then 422 in the Laravel shape with Arabic messages, and 500 with the exception text.

Last updated: 2026-09-21

On this page

In the order they occur

Status Source Body What to do
403 plain text blocked IP تم حظر الوصول من هذا العنوان. ask the administrator to unblock
503 integrations disabled {"error":"Integrations are currently disabled"} turn on the master switch in the Integration screen
401 no key / wrong / inactive {"error":"Unauthorized"} check the header and the key; the message is deliberately generic
403 key expired {"error":"API key expired"} create a new key
429 over the limit {"error":"Too many requests","retry_after_seconds":N} wait N seconds and retry; or raise the key’s limit
422 validation {"message":"Validation failed","errors":{"field":["Arabic message"]}} fix the named field
404 Dynamics draft {"message":"Dynamics launch draft not found or expired."} unknown token or its hour passed — prepare again
500 server error {"message":"Error saving cheque log","error":"…"} log the text and contact support

The 422 envelope is English and the messages inside are Arabic — except the Dynamics template resolver messages, deliberately English because they name English fields for an integrator (below). The 503 for the two session Dynamics endpoints comes as {"message":"Integrations are currently disabled."} (under message) — rely on the status, not the text.

422 messages — direct create

Field Message (Arabic) Condition
bank_name اسم البنك مطلوب. (bank name required) missing or empty
cheque_number رقم الشيك {N} مستعمَل بالفعل على بنك {B} — اختر رقمًا آخر (already used on bank) duplicate on a confirmed cheque of the same bank
cheque_number … مستعمَل بالفعل على شيك بلا اسم بنك … same conflict, empty bank name
cheque_number هذا الرقم يخص دفتر شيكات — اطبعه من وضع الدفتر (belongs to a cheque book) the number is a leaf in a book of the same bank
cheque_number الرقم :number محجوز في دفعة مفتوحة (الدفعة #:batch) … (reserved in an open batch) reserved in an open batch of the same company
amount القيمة كبيرة جدًا — لا يزيد الجزء الصحيح عن {N} خانة. (integer part too long)
amount كسر المبلغ يتجاوز خانات {العملة} ({خانتان عشريتان}). (too many decimals)
partner_id المستفيد لا يتبع شركة الشيك. (partner not in the cheque’s company) partner’s company ≠ key’s company
bank_account_id الحساب البنكي المختار لا يتبع شركة الشيك. account chain does not reach the key’s company
cheque_book_id دفتر الشيكات المختار لا يتبع شركة الشيك. book chain does not reach the key’s company
cheque_leaf_id ورقة الشيك المختار لا يتبع شركة الشيك. leaf chain does not reach the key’s company
company_id مفتاح الـAPI غير منسوب لشركة — عيّن شركته من شاشة «التكامل ← مفاتيح API». (key has no company) key without a company
company_id الحمولة تطلب شركة «{payload}» بينما مفتاح الـAPI منسوب لشركة «{key}» — احذف الحقل أو استعمل مفتاح الشركة الصحيحة. (payload company ≠ key company) company_id contradicts the key
external_id السجل ده مسجّل لشركة تانية. (row belongs to another company) the row matched by external key is stamped for another company
the final-row message (damaged · cancelled · reissued) not updatable

422 messages — Dynamics template resolver (English)

Field Message Condition
template_id The selected template could not be resolved. no active template matches
bank_id The selected bank could not be resolved. no bank matches
bank_name The selected bank could not be resolved. no bank matches and template_name absent
template_name Multiple active featured templates matched the request. Provide template_id or a more specific template_name. several matches with more than one active featured
template_name Template name is ambiguous. Provide template_id or bank_name. several matches, no featured tie
bank_name + template_name The selected bank could not be resolved. + The selected template could not be resolved for the provided bank label. both unresolved, together
template_name The selected template could not be resolved. no match, bank resolved
template_name No active templates are available for the selected bank. bank resolved, no active templates
template Provide template_id, or provide bank_id/bank_name so a single active featured template can be auto-selected, or send template_name with the bank. nothing valid sent

Handling tips

  • Check the status first, then errors for the field name.
  • Treat a 422 “already used” on cheque_number as a prior success if your system retries.
  • On 429 honour retry_after_seconds — the limit is per key, not per server.
  • On 401 do not retry automatically; alert.
اطلب نسختك التجريبية مجانًا