멀티체인 Web3 API에서 사용되는 에러 코드 명세입니다.
Error Response Format
오류가 발생한 경우 응답은 아래와 같은 형식으로 반환됩니다. code
와 message
는 발생한 에러 타입에 따라 다른 값으로 반환되며, code
명세에 대해서는 아래 Error Code Specification을 참고하세요.
{
"code":"${ERROR_CODE}",
"message":"${ERROR_DESCRIPTION}"
}
Error Code Specification
code | HTTP Status Code | Description |
---|---|---|
SUCCESS | 200 OK | 정상 응답 |
SUCCESS | 201 Created | 정상 처리 (신규 생성) |
INVALID_JSON_BODY | 400 Bad Request | 클라이언트의 요청 Body의 형식이 유효하지 않은 경우 반환되는 에러. Example 1. 유효하지 않은 JSON Body 2. 필수인 요청 Body에 대해 빈 값이 전달됨 |
MISSING_REQUIRED_PARAMETER | 400 Bad Request | 클라이언트의 요청 내 필수 인자가 누락된 경우 반환되는 에러. Example 1. 필수 Path, Header, Query 파라미터의 누락 2. 필수 값으로 정의된 Body 내 Key 또는 Value 값이 존재하지 않음. |
INVALID_PARAMETER | 400 Bad Request | 요청한 파라미터가 정의된 형식과 다르거나 유효하지 않은 경우 반환되는 에러. Example 1. Number 타입 형식의 파라미터를 문자열 형식으로 전달한 경우 2. 정의된 최대 길이를 초과하는 값을 전달한 경우 3. 유효하지 않은 날짜 또는 시간 형식을 입력한 경우 4. 정의된 인코딩 스킴(Scheme)이 적용되지 않은 경우(Base64 인코딩 등) 5. 요청 파라미터의 정규 표현식에 위배되는 값이 전달된 경우 (이메일, 전화번호 등) |
WRONG_PARAMETER | 400 Bad Request | 유효한 형식의 요청 파라미터가 전달되었으나 지원하지 않는 값인 경우 반환되는 에러. Example 1. enum 타입의 파라미터 중 정의되지 않은 값을 입력한 경우 2. 지원하지 않는 protocol , network 를 요청한 경우 |
WRONG_RANGE_PARAMETER | 400 Bad Request | WRONG_PARAMETER 케이스 중 특히 범위 관련 오류 반환이 필요한 경우 반환되는 에러.Example 1. 통계 API에서 최대 조회 기간을 초과한 데이터 조회를 요청한 경우 2. 기준일 이전 데이터를 요청한 경우 3. 존재하지 않는 데이터 범위에 대해 요청한 경우 (Pagination 사용 시, Token Index 등) |
DEPRECATED_OPERATION | 400 Bad Request | Deprecated된 API 및 리소스에 대한 요청 시 반환되는 에러. |
NO_AUTHENTICATION_FOUND | 401 Unauthorized | 클라이언트 요청 내 인증 정보가 포함되지 않는 경우에 반환되는 에러. |
AUTHENTICATION_FAILED | 401 Unauthorized | 클라이언트 요청 내 인증 정보가 존재하나, 정보의 불일치 또는 존재하지 않는 계정인 경우 반환되는 에러. |
PERMISSION_DENIED | 403 Forbidden | 인증은 완료되었으나 인가되지 않은 리소스에 접근하는 경우에 반환되는 권한 에러. |
RESOURCE_NOT_FOUND | 404 Not Found | 클라이언트가 존재하지 않는 리소스에 대해 조회를 요청한 경우 반환되는 에러. Example 1. 정의되지 않은 API Path에 대한 요청 2. 요청된 리소스를 찾을 수 없는 경우 (ID 기반 조회 시 주로 해당 됨) |
TIMEOUT | 408 Request Timeout | 어플리케이션 서버에서 허용하는 시간 제한 내에 요청이 정상적으로 전달되지 않은 경우 반환되는 에러. |
RESOURCE_ALREADY_EXISTS | 409 Conflict | 이미 존재하는 리소스에 대해 클라이언트가 중복 생성 요청을 한 경우 반환되는 에러. Example 1. 특정 식별자로 리소스 생성을 요청하였으나 해당 식별자가 이미 존재하여 중복 생성할 수 없는 경우 |
REJECTED | 409 Conflict | 클라이언트 요청이 서버로부터 처리할 수 없는 요청으로 판단 되어 거절되는 경우 반환되는 에러. |
TOO_LARGE_PAYLOAD | 413 Payload Too Large | 클라이언트 요청이 서버에서 허용하는 전체 payload의 최대 크기를 초과한 경우 반환되는 에러. |
TOO_MANY_REQUESTS | 429 Too Many Request | 클라이언트의 요청이 허용된 처리량을 초과하여 처리가 불가능한 경우 반환되는 에러. Example 1. 노드 서비스를 사용하는 경우 요금제에 따른 일별/월별 요청 허용량을 초과하여 요청하는 경우 (Quota Limitation) 2. 요금제에 따른 허용 순간 처리속도를 초과한 요청이 인입되어 처리가 불가능한 경우 (Rate Limit) |
INTERNAL_SERVER_ERROR | 500 Internal Server Error | 내부 서버 오류 Example 1. 핸들되지 않은 런타임 에러의 발생 2. 서버 내 자원(DB, 큐, 캐시를 포함) 처리 과정에서 인프라 수준의 에러의 발생 |
INTERRUPTED | 500 Internal Server Error | 다중 요청을 처리하는 과정에서 특정 클라이언트의 요청에 대해 일시적으로 처리가 실패한 경우 반환되는 에러. 서버 부하로 인한 에러로 판단 할 수 있음. |
UNAVAILABLE | 503 Service Unavailable | 서버의 서비스 제공이 불가능한 상태. 인프라의 다운 또는 서비스 중단을 동반한 업그레이드 작업 등으로 인해 반환될 수 있는 에러. |
JSON-RPC Error Code Specification
Code | Message | Description |
---|---|---|
-32000 | server error | 빈 배치에 대한 오류 응답으로 반환될 수 있는 에러 |
-32001 | notifications not supported | 알림이 지원되지 않을 때 반환될 수 있는 에러 |
-32002 | request timed out | time out이 발생했을 때 반횐될 수 있는 에러 |
-32600 | invalid request | 유효한 요청이 아닐 경우 반환 될 수 있는 에러 |
-32601 | "the method X does not exist/is not available” | 존재 하지 않는 method를 호출 했을 경우 반환될 수 있는 에러 |
-32601 | subscription not found | 존재하지 않는 subscription을 호출 했을 경우 반환될 수 있는 에러 |
-32602 | Invalid parameter ("missing value for required argument X”) | 입력한 Parameters가 디코딩할 수 없거나 입력한 Parameters 수가 잘못되었을 때 반환될 수 있는 에러. |
-32603 | Internal error | Internal JSON-RPC 에러 |
-32700 | parse error | 서버로 부터 Invalid된 JSON을 받았을 경우 반환될 수 있는 에러 |