API 기초

각 API의 버저닝은 해당 문서 버전과 독립적으로 운영됩니다.

1. Requirements

모든 API는 호출 시 헤더에 API Key가 필요합니다.
API Key 발급을 받지 않으셨다면, Generate API key 에서 확인할 수 있습니다.

FieldTypeDescription
x-api-keyStringAPI Key

2. Response Structure

모든 API 응답은 다음과 같은 응답 객체 구조로 이루어져 있습니다.

FieldTypeDescription
detailStringAPI 호출 결과에 따른 메시지 값입니다.
resultObjectAPI 호출에 따른 결과값입니다.
(API 호출 성공시 제공)

3. Common Error Responses

API 호출 시 발생할 수 있는 공통 에러 응답은 다음과 같습니다.

  1. 401 Unauthorized
  • API Key가 없거나 유효하지 않음
    {
      "detail": "Unauthorized"
    }
    
  1. 403 Plan is expired
  • 플랜 사용 기간이 만료됨
    {
      "detail": "Plan is expired"
    }
    
  1. 403 Rate limit exceeded
  • API 호출 수가 정해진 Rate limit 값을 초과
    {
      "detail": "Rate limit exceeded"
    }
    
  1. 403 Quota exceeded
  • API 호출 수가 정해진 Quota 값을 초과
    {
      "detail": "Quota exceeded"
    }
    

4. Versioning

기본적으로 API와 Callback의 버전은 각각 관리가 됩니다. 예를 들어, GET v1/A와 GETv2/B API는 서로 다른 버전을 가질 수 있습니다.
API와 Callback의 버전 관리 정책은 다음과 같습니다.

버전업 하지 않는 경우

  • 응답 객체에 새로운 컬럼 추가

버전업 하는 경우

  • 응답 객체의 컬럼명이 변경
  • 응답 객체의 특정 컬럼의 값 변경 (자료형, ENUM 값 등)
  • 응답 객체의 구조 변경
  • 전 버전에서 지원 불가능한 새로운 기능 추가