Error Reference

멀티체인 Web3 API에서 사용되는 에러 코드 명세입니다.

Error Response Format

오류가 발생한 경우 응답은 아래와 같은 형식으로 반환됩니다. codemessage는 발생한 에러 타입에 따라 다른 값으로 반환되며, 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을 받았을 경우 반환될 수 있는 에러