رموز الأخطاء

جميع رموز الأخطاء التي تُعيدها واجهة API العامة حاليًا، مولَّدة من مواصفة OpenAPI. تحمل الاستجابة الفاشلة الرمز في حقل error_code داخل الغلاف.

رمز الخطأحالة HTTPيُعاد من
BUSINESS_LOCATION_MISSING400create-technician, update-technician
EMERGENCY_RESCHEDULE_INVALID_INPUT400commit-emergency-reschedule, list-emergency-candidates, preview-emergency-reschedule
INVALID_REQUEST_BODY400commit-emergency-reschedule, commit-job-request-move, confirm-job-request, create-customer, create-job-request, create-technician, get-job-request, get-job-request-timeline, get-technician-schedule, list-emergency-candidates, list-job-request-booking-windows, list-job-request-changes, list-job-requests, list-job-types, list-service-areas, list-skills-by-category, list-technician-skills, list-technicians, list-vehicles, preview-emergency-reschedule, preview-job-request-move, quote-job-request, replace-technician-buddies, replace-technician-leads, replace-technician-service-areas, replace-technician-skills, replace-technician-vehicles, update-customer, update-job-priority, update-technician
INVALID_TIMEZONE400create-job-request, list-job-request-booking-windows
JOB_REQUEST_ADDRESS_REQUIRED400create-job-request
JOB_REQUEST_INVALID_INPUT400confirm-job-request, create-job-request, get-technician-schedule, list-crew-candidates, list-matching-slots, list-nearby-technicians, quote-job-request, update-job-priority
PHONE_INVALID400create-customer, create-technician, update-customer, update-technician
PHONE_OR_EMAIL_REQUIRED400create-customer
SCHEDULE_MOVE_INVALID_INPUT400commit-job-request-move, preview-job-request-move
TECHNICIAN_CONTACT_REQUIRED400create-technician, update-technician
TECHNICIAN_INVALID_BUDDY400replace-technician-buddies, replace-technician-leads
TECHNICIAN_INVALID_TIER400create-technician, update-technician
WRONG_QUERY400list-customers, list-skill-categories, list-skills-by-category, list-technician-skills
API_KEY_INVALID401commit-emergency-reschedule, commit-job-request-move, confirm-job-request, create-job-request, get-job-request, get-technician-schedule, list-crew-candidates, list-emergency-candidates, list-job-request-booking-windows, list-job-request-changes, list-job-requests, list-matching-slots, list-nearby-technicians, preview-emergency-reschedule, preview-job-request-move, quote-job-request, update-job-priority
UNAUTHORIZED401commit-emergency-reschedule, commit-job-request-move, confirm-job-request, create-customer, create-job-request, create-technician, delete-customer, delete-technician, get-customer, get-job-request, get-job-request-timeline, get-job-type, get-service-area, get-technician, get-technician-schedule, get-vehicle, list-crew-candidates, list-customers, list-emergency-candidates, list-job-request-booking-windows, list-job-request-changes, list-job-requests, list-job-types, list-matching-slots, list-nearby-technicians, list-service-areas, list-skill-categories, list-skills, list-skills-by-category, list-technician-skills, list-technicians, list-vehicles, preview-emergency-reschedule, preview-job-request-move, quote-job-request, replace-technician-buddies, replace-technician-leads, replace-technician-service-areas, replace-technician-skills, replace-technician-vehicles, update-customer, update-job-priority, update-technician
FORBIDDEN403update-job-priority
SANDBOX_MANAGEMENT_ROLE_FORBIDDEN403create-technician, update-technician
TECHNICIAN_GROUP_NOT_ASSIGNABLE403create-technician, update-technician
TECHNICIAN_ROLE_API_KEY_FORBIDDEN403create-technician, update-technician
TECHNICIAN_TARGET_NOT_MANAGEABLE403create-technician, update-technician
BUSINESS_GROUP_NOT_FOUND404create-technician, update-technician
BUSINESS_NOT_FOUND404create-customer
CUSTOMER_NOT_FOUND404create-job-request, delete-customer, get-customer, update-customer
JOB_REQUEST_NOT_FOUND404commit-emergency-reschedule, commit-job-request-move, confirm-job-request, get-job-request, get-job-request-timeline, list-crew-candidates, list-emergency-candidates, list-matching-slots, preview-emergency-reschedule, preview-job-request-move, quote-job-request, update-job-priority
JOB_TYPE_NOT_FOUND404create-job-request, get-job-type
SERVICE_AREA_NOT_FOUND404create-technician, get-service-area
SKILL_CATEGORY_NOT_FOUND404list-skills-by-category
SKILL_NOT_FOUND404create-job-request, replace-technician-skills
TECHNICIAN_NOT_FOUND404create-technician, delete-technician, get-technician, get-technician-schedule, list-technician-skills, replace-technician-buddies, replace-technician-service-areas, replace-technician-skills, replace-technician-vehicles, update-technician
VEHICLE_NOT_FOUND404get-vehicle, replace-technician-vehicles
CUSTOMER_DUPLICATE_EMAIL409create-customer, update-customer
CUSTOMER_DUPLICATE_PHONE409create-customer, update-customer
CUSTOMER_DUPLICATE_UID409create-customer
EMERGENCY_RESCHEDULE_CREW_UNSUPPORTED409commit-emergency-reschedule, preview-emergency-reschedule
EMERGENCY_RESCHEDULE_IN_PAST409commit-emergency-reschedule, preview-emergency-reschedule
EMERGENCY_RESCHEDULE_MULTIDAY_UNSUPPORTED409commit-emergency-reschedule, preview-emergency-reschedule
EMERGENCY_RESCHEDULE_NO_WORKING_DAY409commit-emergency-reschedule, preview-emergency-reschedule
EMERGENCY_RESCHEDULE_NOT_ELIGIBLE409commit-emergency-reschedule, preview-emergency-reschedule
IDEMPOTENCY_IN_PROGRESS409create-job-request
JOB_REQUEST_NO_TECHNICIAN_AVAILABLE409list-crew-candidates
SCHEDULE_MOVE_CREW_UNSTAFFABLE409commit-job-request-move, preview-job-request-move
SCHEDULE_MOVE_IN_PAST409commit-job-request-move, preview-job-request-move
SCHEDULE_MOVE_IN_PROGRESS409commit-job-request-move, preview-job-request-move
SCHEDULE_MOVE_MULTIDAY_UNSUPPORTED409commit-job-request-move, preview-job-request-move
SCHEDULE_MOVE_NO_WORKING_DAY409commit-job-request-move, preview-job-request-move
SCHEDULE_MOVE_NOT_ELIGIBLE409commit-job-request-move, preview-job-request-move
SCHEDULE_MOVE_PLAN_DRIFTED409commit-job-request-move
SCHEDULE_MOVE_REQUIRES_FREE_SLOT409commit-job-request-move, preview-job-request-move
SCHEDULE_MOVE_SLOT_OCCUPIED409commit-job-request-move, preview-job-request-move
SCHEDULE_MOVE_TECH_INFEASIBLE409commit-job-request-move, preview-job-request-move
SKILL_INACTIVE409create-job-request, replace-technician-skills
TECHNICIAN_ALREADY_MEMBER409create-technician
TECHNICIAN_DUPLICATE_EMAIL409create-technician, update-technician
TECHNICIAN_DUPLICATE_PHONE409create-technician, update-technician
TECHNICIAN_IDENTITY_CONFLICT409create-technician
TECHNICIAN_LAST_OWNER409delete-technician

انتهاء صلاحية بيانات الاعتماد

لبيانات الاعتماد أعمار محدودة؛ وتميّز هذه الرموز انتهاء الصلاحية عن الإبطال أو القيمة الخاطئة:

رمز الخطأحالة HTTPالمعنى
API_KEY_EXPIRED401تجاوز مفتاح API مدة صلاحيته — أنشئ مفتاحًا بديلًا. مميّز عمدًا عن API_KEY_INVALID (مُبطَل أو محذوف أو خاطئ).
OAUTH_GRANT_EXPIRED401انقضى اتصال OAuth (نافذة الخمول البالغة 30 يومًا أو الحد الأقصى المطلق) — يجب أن يوافق المالك على التطبيق مجددًا من شاشة الموافقة.
API_KEY_SCOPE_NOT_GRANTED403طلب المفتاح الجديد نطاقات تتجاوز ما يملكه منشئه — راجع المصادقة.
WEBHOOK_SECRET_EXPIRED409استُدعي التحقق على نقطة نهاية انقضى سرّ توقيعها — دوّر السر أولًا ثم تحقق.
API_KEY_EXPIRY_INVALID400مدة صلاحية المفتاح المطلوبة خارج نطاق 1–365 يومًا.
WEBHOOK_SECRET_EXPIRY_INVALID400مدة صلاحية سرّ توقيع webhook المطلوبة خارج نطاق 1–365 يومًا.
OAUTH_GRANT_LIFETIME_INVALID400الحد الأقصى المطلوب لعمر اتصال MCP خارج نطاق 1–365 يومًا.

الإرسال الطارئ (معاينة خاصة)

تضيف واجهة معاينة الإرسال الطارئ رموزها الخاصة أثناء فترة المعاينة الخاصة:

رمز الخطأحالة HTTPالمعنى
EMERGENCY_RESCHEDULE_INVALID_INPUT400فشل التحقق من متن طلب معاينة الطوارئ.