오류
모든 실패 응답은 안정적인 기계 판독용 코드, 이를 구체화하는 선택적 사유, 사람을 위한 메시지, 지원용 요청 ID를 담은 JSON 봉투입니다. 클라이언트는 메시지 텍스트가 아니라 코드와 사유로 판단해야 합니다.
json
{ "code": "conflict", "reason": "version_exists", "message": "…", "requestId": "…" }코드
| 코드 | HTTP 상태 | 의미 |
|---|---|---|
invalid_input | 400 | 요청의 형식이 올바르지 않거나 허용되지 않는 값이 있습니다. 요청을 고친 뒤 다시 보냅니다. |
not_found | 404 | 객체가 존재하지 않거나 호출자가 볼 수 없습니다. |
conflict | 409 | 요청이 현재 상태와 충돌합니다. 상태를 다시 읽은 뒤 결정합니다. |
forbidden | 403 | 자격 증명은 유효하지만 이 작업을 수행할 권한이 없습니다. |
unauthorized | 401 | 유효한 자격 증명이 없습니다. 없거나, 잘못되었거나, 만료되었거나, 폐기되었습니다. |
capacity_exceeded | 507 | 할당량, 용량 또는 제한을 초과하게 됩니다. |
integrity_mismatch | 422 | 바이트가 선언된 크기 또는 SHA-256과 일치하지 않습니다. |
busy | 503 | 서버가 수용 한도에 도달했습니다. Retry-After 이후에 다시 시도합니다. |
unavailable | 503 | 종속 서비스를 지금은 사용할 수 없습니다. Retry-After 이후에 다시 시도합니다. |
rate_limited | 429 | 시도 횟수가 너무 많습니다. Retry-After까지 기다립니다. |
read_only | 405 | 이 서버 또는 게이트웨이는 변경을 받지 않습니다(읽기 게이트웨이 또는 미러). |
internal | 500 | 예기치 않은 서버 결함입니다. 요청 ID를 알려 주면 지원팀이 원인을 찾는 데 도움이 됩니다. 무작정 반복하지 않습니다. |
사유
| 코드 | 사유 | HTTP 상태 | 의미 |
|---|---|---|---|
invalid_input | validation | 400 | 필드가 없거나 규칙에서 벗어난 값이 있습니다. 세부 정보에 해당 필드 이름이 들어 있습니다. |
invalid_input | malformed_json | 400 | 본문이 올바른 JSON이 아닙니다. |
invalid_input | body_too_large | 413 | 본문이 이 작업이 받아들이는 크기보다 큽니다. |
invalid_input | unsupported_media_type | 415 | Content-Type이 이 작업에서 받아들이는 형식이 아닙니다. |
invalid_input | method_not_allowed | 405 | 경로는 있지만 이 메서드로는 사용할 수 없습니다. |
invalid_input | range_not_satisfiable | 416 | 요청한 바이트 범위가 콘텐츠 밖에 있습니다. |
not_found | route_not_found | 404 | 해당 라우트가 없습니다. |
conflict | upload_expired | 409 | 업로드 세션이 완료되기 전에 만료되었습니다. |
conflict | upload_state | 409 | 업로드가 이 단계를 허용하는 상태가 아닙니다. |
conflict | revision_mismatch | 409 | 기대한 리비전이 현재 리비전이 아닙니다(다른 변경이 먼저 반영되었습니다). |
conflict | version_exists | 409 | 이 버전은 이미 다른 콘텐츠로 게시되었습니다. |
conflict | part_mismatch | 409 | 파트가 선언된 크기 또는 SHA-256과 일치하지 않습니다. |
conflict | parts_incomplete | 409 | 업로드의 일부 파트가 아직 도착하지 않았습니다. |
conflict | idempotency_mismatch | 409 | Idempotency-Key가 이전에 다른 요청에 사용되었습니다. |
conflict | already_exists | 409 | 이 이름 또는 경로의 객체가 이미 있습니다. |
conflict | stage_limit | 409 | 아티팩트가 허용되는 최대 스테이지 수에 도달했습니다. |
conflict | state_conflict | 409 | 객체가 이 변경을 허용하지 않는 상태입니다. |
conflict | mirror_read_only | 409 | 리포지토리가 미러이므로 동기화를 통해서만 변경됩니다. |
forbidden | permission_missing | 403 | 자격 증명에 이 작업에 필요한 액션 권한이 없습니다. |
forbidden | read_only_token | 403 | 읽기 전용 개인용 토큰은 아무것도 변경할 수 없습니다. |
forbidden | credential_revoked | 403 | 키 또는 토큰이 폐기되었습니다. |
forbidden | session_required | 403 | 키가 아니라 로그인한 계정 세션만 이 작업을 할 수 있습니다. |
forbidden | administrator_required | 403 | 관리자만 이 작업을 할 수 있습니다. |
forbidden | registration_disabled | 403 | 이 서버에서는 자체 등록이 꺼져 있습니다. |
forbidden | origin_not_allowed | 403 | 브라우저 오리진이 ARKVORY_CORS_ORIGINS에 없습니다. |
unauthorized | invalid_credentials | 401 | 계정 이름 또는 비밀번호가 틀렸습니다. |
unauthorized | current_password_invalid | 401 | 현재 비밀번호가 틀렸습니다. |
unauthorized | credential_missing | 401 | 요청에 자격 증명이 없습니다. |
unauthorized | credential_invalid | 401 | 자격 증명이 유효한 키, 토큰, 세션이 아닙니다. |
unauthorized | session_expired | 401 | 세션이 만료되었습니다. 다시 로그인합니다. |
unauthorized | token_expired | 401 | 개인용 토큰이 만료되었습니다. |
capacity_exceeded | storage_quota | 507 | 리포지토리 할당량을 초과하게 됩니다. |
capacity_exceeded | storage_full | 507 | 서버 디스크가 여유 공간 예비분을 지켜야 하므로 더 쓸 공간이 없습니다. |
capacity_exceeded | account_limit | 507 | 계정 수가 한도에 도달했습니다. |
capacity_exceeded | group_limit | 507 | 그룹 수가 한도에 도달했습니다. |
capacity_exceeded | membership_limit | 507 | 그룹 구성원 수가 한도에 도달했습니다. |
capacity_exceeded | grant_limit | 507 | 권한 부여 수가 한도에 도달했습니다. |
capacity_exceeded | key_limit | 507 | 키 수가 한도에 도달했습니다. |
capacity_exceeded | token_limit | 507 | 개인용 토큰 수가 한도에 도달했습니다. |
capacity_exceeded | delegation_limit | 507 | 위임 수가 한도에 도달했습니다. |
capacity_exceeded | catalog_limit | 507 | 설치 환경의 카탈로그 용량을 초과하게 됩니다. |
capacity_exceeded | queue_full | 507 | 전송 큐가 가득 찼습니다. |
capacity_exceeded | transfer_limit | 507 | 호출자가 허용된 수만큼의 전송을 이미 진행 중입니다. |
busy | request_limit | 503 | 서버가 수용하는 만큼의 요청을 이미 처리하고 있습니다. |
busy | download_queued | 503 | 다운로드가 대기열에서 기다리고 있습니다. Retry-After 이후에 다시 요청하세요. Arkvory-Queue-Position과 Arkvory-Starts-At이 순서와 예상 시작 시각을 알려 줍니다. |
unavailable | feedback_disabled | 503 | 이 서버에서는 피드백이 꺼져 있습니다. |
unavailable | hub_unreachable | 503 | 업데이트 허브에 연결할 수 없습니다. |
unavailable | replication_degraded | 503 | HA 클러스터의 완전한 사본 수가 쓰기에 필요한 수보다 적어 변경이 확인되지 않았습니다. Retry-After 이후 다시 시도하세요. 다운로드는 계속 사용할 수 있습니다. |
rate_limited | login_attempts | 429 | 로그인 시도가 너무 많습니다. 기다립니다. |
rate_limited | registration_attempts | 429 | 등록 시도가 너무 많습니다. 기다립니다. |
rate_limited | password_attempts | 429 | 비밀번호 시도가 너무 많습니다. 기다립니다. |
rate_limited | feedback_attempts | 429 | 피드백 보고가 너무 많습니다. 기다립니다. |