ko

오류 코드

공개 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_EXPIRED401API 키가 유효 기간을 넘겨 만료되었습니다 — 교체 키를 만드세요. API_KEY_INVALID(폐기, 삭제 또는 잘못된 값)와 의도적으로 구분됩니다.
OAUTH_GRANT_EXPIRED401OAuth 연결이 만료되었습니다(30일 유휴 기간 또는 절대 상한) — 소유자가 동의 화면에서 앱을 다시 승인해야 합니다.
API_KEY_SCOPE_NOT_GRANTED403새 키가 생성자가 보유한 범위를 넘는 스코프를 요청했습니다 — 인증을 참고하세요.
WEBHOOK_SECRET_EXPIRED409서명 시크릿이 만료된 엔드포인트에서 Verify가 호출되었습니다 — 먼저 시크릿을 로테이션한 다음 검증하세요.
API_KEY_EXPIRY_INVALID400요청한 키 유효 기간이 1–365일 범위를 벗어났습니다.
WEBHOOK_SECRET_EXPIRY_INVALID400요청한 웹훅 서명 시크릿 유효 기간이 1–365일 범위를 벗어났습니다.
OAUTH_GRANT_LIFETIME_INVALID400요청한 MCP 연결 유효 기간 상한이 1–365일 범위를 벗어났습니다.

긴급 디스패치(프라이빗 프리뷰)

긴급 디스패치 프리뷰 기능은 프라이빗 프리뷰 기간 동안 자체 코드를 추가로 사용합니다:

오류 코드HTTP 상태의미
EMERGENCY_RESCHEDULE_INVALID_INPUT400긴급 프리뷰 요청 본문이 유효성 검증에 실패했습니다.