인증 7 endpoints

POST /api/v1/cmd/auth/login 이메일/비밀번호 로그인 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  },
  "body": {
    "_": {
      "type": "object"
    }
  }  // 요청 본문 (POST/PUT/PATCH)
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (이메일/비밀번호 로그인)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/auth/login
Headers 2
Body
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/cmd/auth/logout 로그아웃 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (로그아웃)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/auth/logout
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/cmd/auth/refresh 액세스 토큰 갱신 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (액세스 토큰 갱신)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/auth/refresh
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/cmd/guest/session 게스트 세션 생성 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (게스트 세션 생성)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/guest/session
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/cmd/guest/session/refresh 게스트 세션 갱신 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (게스트 세션 갱신)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/guest/session/refresh
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/auth/session 회원 세션 정보 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (회원 세션 정보 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/auth/session
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/guest/session 게스트 세션 정보 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (게스트 세션 정보 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/guest/session
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.

BO v3 Sync 4 endpoints

POST /api/bo-v3-sync/brands/upsert 브랜드 upsert (BO v3 Sync)
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (브랜드 upsert (BO v3 Sync))
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/bo-v3-sync/brands/upsert
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/bo-v3-sync/categories/upsert-display 전시 카테고리 upsert (BO v3 Sync, dispCtgr 형식)
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (전시 카테고리 upsert (BO v3 Sync, dispCtgr 형식))
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/bo-v3-sync/categories/upsert-display
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/bo-v3-sync/products/:product_id/display-status 상품 전시/미전시 상태 변경 (BO v3 Sync)
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "product_id": "example_id"  // 상품 ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (상품 전시/미전시 상태 변경 (BO v3 Sync))
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/bo-v3-sync/products/:product_id/display-status
Params 1
Headers 2
PATH PARAMETERS
product_id
string
Expected: product_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/bo-v3-sync/products/upsert 상품 upsert (BO v3 Sync)
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (상품 upsert (BO v3 Sync))
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/bo-v3-sync/products/upsert
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.

브랜드 5 endpoints

GET /api/v1/q/brands/:brand_id 브랜드 기본정보 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "brand_id": "example_id"  // 브랜드 ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (브랜드 기본정보 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/brands/:brand_id
Params 1
Headers 2
PATH PARAMETERS
brand_id
string
Expected: brand_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/brands/:brand_id/bootstrap 브랜드 페이지 초기 로드 (Bootstrap)
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "brand_id": "B00242"  // 브랜드 ID (문자열, 필수)
  },
  "queryParams": {
    "include_products": null,  // include products (불린, 선택)
    "product_limit": null  // product limit (integer, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (브랜드 페이지 초기 로드 (Bootstrap))
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/brands/B00242/bootstrap
Params 3
Headers 2
PATH PARAMETERS
brand_id
string
Expected: brand_id
QUERY PARAMETERS
include_products
boolean
false
product_limit
integer
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/brands/:brand_id/categories 브랜드 카테고리 목록 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "brand_id": "B00242"  // 브랜드 ID (문자열, 필수)
  },
  "queryParams": {
    "depth": null  // depth (integer, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": [
      {
        "id": "예시_ID",  // 항목 고유 ID
        "name": "예시_이름",  // 항목 이름
        "...": "기타 필드"  // 추가 필드들
      }
    ],  // 응답 데이터 (브랜드 카테고리 목록 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/brands/B00242/categories
Params 2
Headers 2
PATH PARAMETERS
brand_id
string
Expected: brand_id
QUERY PARAMETERS
depth
integer
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/brands/:brand_id/products 브랜드 내 상품 검색
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "brand_id": "B00242"  // 브랜드 ID (문자열, 필수)
  },
  "queryParams": {
    "q": null,  // q (문자열, 선택)
    "category_id": null,  // 카테고리 ID (문자열, 선택)
    "sort": null,  // 정렬 방식 (문자열, 선택)
    "page": null,  // 페이지 번호 (integer, 선택)
    "page_size": null,  // page size (integer, 선택)
    "min_price": null,  // min price (숫자, 선택)
    "max_price": null,  // max price (숫자, 선택)
    "in_stock_only": null  // in stock only (불린, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (브랜드 내 상품 검색)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/brands/B00242/products
Params 9
Headers 2
PATH PARAMETERS
brand_id
string
Expected: brand_id
QUERY PARAMETERS
q
string
category_id
string
sort
string
page
integer
page_size
integer
min_price
number
max_price
number
in_stock_only
boolean
false
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/pages/brands/:brand_id 브랜드 상세 페이지 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "brand_id": "example_id"  // 브랜드 ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (브랜드 상세 페이지 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/pages/brands/:brand_id
Params 1
Headers 2
PATH PARAMETERS
brand_id
string
Expected: brand_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.

카탈로그 9 endpoints

GET /api/v1/q/brands 브랜드 목록 전체 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "featured": null,  // featured (불린, 선택)
    "category": null,  // category (문자열, 선택)
    "initial": null,  // initial (문자열, 선택)
    "is_new": null,  // is new (불린, 선택)
    "keyword": null  // keyword (문자열, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": [
      {
        "id": "예시_ID",  // 항목 고유 ID
        "name": "예시_이름",  // 항목 이름
        "...": "기타 필드"  // 추가 필드들
      }
    ],  // 응답 데이터 (브랜드 목록 전체 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/brands
Params 5
Headers 2
QUERY PARAMETERS
featured
boolean
false
category
string
initial
string
is_new
boolean
false
keyword
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/catalog/brands/:brand_id 브랜드 상세 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "brand_id": "B00242"  // 브랜드 ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (브랜드 상세 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/catalog/brands/B00242
Params 1
Headers 2
PATH PARAMETERS
brand_id
string
Expected: brand_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/catalog/brands/:brand_id/summary 브랜드 요약 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "brand_id": "B00242"  // 브랜드 ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (브랜드 요약 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/catalog/brands/B00242/summary
Params 1
Headers 2
PATH PARAMETERS
brand_id
string
Expected: brand_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/catalog/categories/:category_id 카테고리 상세 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "category_id": "D21"  // 카테고리 ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (카테고리 상세 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/catalog/categories/D21
Params 1
Headers 2
PATH PARAMETERS
category_id
string
Expected: category_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/catalog/categories/:category_id/ancestors 상위 카테고리 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "category_id": "D21"  // 카테고리 ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (상위 카테고리 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/catalog/categories/D21/ancestors
Params 1
Headers 2
PATH PARAMETERS
category_id
string
Expected: category_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/catalog/categories/:category_id/children 하위 카테고리 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "category_id": "D21"  // 카테고리 ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (하위 카테고리 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/catalog/categories/D21/children
Params 1
Headers 2
PATH PARAMETERS
category_id
string
Expected: category_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/catalog/categories/tree 카테고리 트리 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "depth": null,  // depth (integer, 선택)
    "include_counts": null  // include counts (불린, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (카테고리 트리 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/catalog/categories/tree
Params 2
Headers 2
QUERY PARAMETERS
depth
integer
include_counts
boolean
false
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/navigation/keyword 키워드 제안 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "q": null,  // q (문자열, 선택)
    "limit": null  // 페이지 크기 (integer, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (키워드 제안 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/navigation/keyword
Params 2
Headers 2
QUERY PARAMETERS
q
string
limit
integer
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/navigation/menu 네비게이션 메뉴 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "placement": null  // placement (문자열, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (네비게이션 메뉴 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/navigation/menu
Params 1
Headers 2
QUERY PARAMETERS
placement
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.

catalogueQuery 5 endpoints

GET /api/v1/q/products/:product_id/info UA Code로 카탈로그 상품 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "product_id": "example_id"  // 상품 ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (UA Code로 카탈로그 상품 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/products/:product_id/info
Params 1
Headers 2
PATH PARAMETERS
product_id
string
Expected: product_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/products/:product_id/options 상품 옵션(변형상품) 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "product_id": "example_id"  // 상품 ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (상품 옵션(변형상품) 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/products/:product_id/options
Params 1
Headers 2
PATH PARAMETERS
product_id
string
Expected: product_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/q/products/batch UA Code 배치 카탈로그 상품 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (UA Code 배치 카탈로그 상품 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/products/batch
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/products/by-gtin/:gtin GTIN(88코드)으로 카탈로그 상품 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "gtin": "example_id"  // gtin (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (GTIN(88코드)으로 카탈로그 상품 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/products/by-gtin/:gtin
Params 1
Headers 2
PATH PARAMETERS
gtin
string
Expected: string_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/products/gtin-codes UA-GTIN 코드 페이지 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "limit": null,  // 페이지 크기 (integer, 선택)
    "cursor_ua_code": null,  // cursor ua code (문자열, 선택)
    "cursor_goods_code": null  // cursor goods code (문자열, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (UA-GTIN 코드 페이지 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/products/gtin-codes
Params 3
Headers 2
QUERY PARAMETERS
limit
integer
cursor_ua_code
string
cursor_goods_code
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.

CMS 7 endpoints

GET /api/v1/q/content/events 이벤트 목록 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "status": null,  // status (문자열, 선택)
    "cursor": null,  // cursor (문자열, 선택)
    "size": null  // size (integer, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": [
      {
        "id": "예시_ID",  // 항목 고유 ID
        "name": "예시_이름",  // 항목 이름
        "...": "기타 필드"  // 추가 필드들
      }
    ],  // 응답 데이터 (이벤트 목록 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/content/events
Params 3
Headers 2
QUERY PARAMETERS
status
string
cursor
string
size
integer
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/content/events/:event_id 이벤트 상세 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "event_id": "EV260100411"  // event id (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (이벤트 상세 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/content/events/EV260100411
Params 1
Headers 2
PATH PARAMETERS
event_id
string
Expected: string_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/content/navigation 콘텐츠 네비게이션 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "scope": null  // scope (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (콘텐츠 네비게이션 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/content/navigation
Params 1
Headers 2
QUERY PARAMETERS
scope
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/content/pages/:slug CMS 페이지 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "slug": "about"  // slug (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (CMS 페이지 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/content/pages/about
Params 1
Headers 2
PATH PARAMETERS
slug
string
Expected: string_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/content/pages/:slug/bootstrap CMS 페이지 Bootstrap (FACADE)
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "slug": "about"  // slug (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (CMS 페이지 Bootstrap (FACADE))
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/content/pages/about/bootstrap
Params 1
Headers 2
PATH PARAMETERS
slug
string
Expected: string_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/content/pages/:slug/meta CMS 페이지 메타 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "slug": "about"  // slug (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (CMS 페이지 메타 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/content/pages/about/meta
Params 1
Headers 2
PATH PARAMETERS
slug
string
Expected: string_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/content/planning/:planning_id 기획전 상세 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "planning_id": "example_id"  // planning id (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (기획전 상세 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/content/planning/:planning_id
Params 1
Headers 2
PATH PARAMETERS
planning_id
string
Expected: string_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.

설정 2 endpoints

GET /api/v1/q/config/public 공개 설정 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (공개 설정 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/config/public
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/config/runtime 런타임 설정 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "platform": null,  // platform (문자열, 선택)
    "client_version": null  // client version (문자열, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (런타임 설정 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/config/runtime
Params 2
Headers 2
QUERY PARAMETERS
platform
string
client_version
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.

콘텐츠 3 endpoints

GET /api/v1/q/products/:product_id/guides 상품 사용/관리 가이드 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "product_id": "UA34409759"  // 상품 ID (문자열, 필수)
  },
  "queryParams": {
    "type": null  // type (문자열, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (상품 사용/관리 가이드 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/products/UA34409759/guides
Params 2
Headers 2
PATH PARAMETERS
product_id
string
Expected: product_id
QUERY PARAMETERS
type
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/products/:product_id/media 상품 이미지/미디어 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "product_id": "UA34409759"  // 상품 ID (문자열, 필수)
  },
  "queryParams": {
    "type": null,  // type (문자열, 선택)
    "limit": null  // 페이지 크기 (integer, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (상품 이미지/미디어 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/products/UA34409759/media
Params 3
Headers 2
PATH PARAMETERS
product_id
string
Expected: product_id
QUERY PARAMETERS
type
string
limit
integer
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/products/:product_id/reviews 상품 리뷰 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "product_id": "UA34409759"  // 상품 ID (문자열, 필수)
  },
  "queryParams": {
    "page": "1",  // 페이지 번호 (integer, 선택)
    "page_size": null,  // page size (integer, 선택)
    "sort": "recent",  // 정렬 방식 (문자열, 선택)
    "min_rating": null,  // min rating (숫자, 선택)
    "max_rating": null,  // max rating (숫자, 선택)
    "with_images_only": null,  // with images only (불린, 선택)
    "verified_only": null  // verified only (불린, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (상품 리뷰 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/products/UA34409759/reviews
Params 8
Headers 2
PATH PARAMETERS
product_id
string
Expected: product_id
QUERY PARAMETERS
page
integer
1
1
page_size
integer
sort
string
recent
recent
helpful
rating_high
rating_low
min_rating
number
max_rating
number
with_images_only
boolean
false
verified_only
boolean
false
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.

디스플레이 10 endpoints

GET /api/v1/q/display/best-sellers/products Best Sellers 상품 목록 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "category_id": "D21",  // 카테고리 ID (문자열, 선택)
    "page": "1",  // 페이지 번호 (integer, 선택)
    "limit": "20"  // 페이지 크기 (integer, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": [
      {
        "id": "예시_ID",  // 항목 고유 ID
        "name": "예시_이름",  // 항목 이름
        "...": "기타 필드"  // 추가 필드들
      }
    ],  // 응답 데이터 (Best Sellers 상품 목록 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/display/best-sellers/products
Params 3
Headers 2
QUERY PARAMETERS
category_id
string
D21
D21
D19
D15
D01
D22
D23
D20
D14
D02
D03
page
integer
1
1
2
limit
integer
20
20
40
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/display/pages/best-sellers Best Sellers 페이지 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "category_id": "D21",  // 카테고리 ID (문자열, 선택)
    "page": "1",  // 페이지 번호 (integer, 선택)
    "limit": "24"  // 페이지 크기 (integer, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (Best Sellers 페이지 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/display/pages/best-sellers
Params 3
Headers 2
QUERY PARAMETERS
category_id
string
D21
D21
D19
D15
D01
D22
D23
D20
D14
D02
D03
page
integer
1
1
2
limit
integer
24
24
48
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/display/pages/brands Brands Directory Page 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "include_brand_list": null  // include brand list (문자열, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (Brands Directory Page 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/display/pages/brands
Params 1
Headers 2
QUERY PARAMETERS
include_brand_list
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/display/pages/brands/:brand_id Brand Landing Page 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "brand_id": "example_id"  // 브랜드 ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (Brand Landing Page 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/display/pages/brands/:brand_id
Params 1
Headers 2
PATH PARAMETERS
brand_id
string
Expected: brand_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/display/pages/home 홈페이지 레이아웃 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (홈페이지 레이아웃 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/display/pages/home
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/display/pages/home/sections/:cornerId 홈 섹션 상세 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "cornerId": "example_id"  // cornerId (문자열, 필수)
  },
  "queryParams": {
    "country_code": null,  // country code (문자열, 선택)
    "limit": null  // 페이지 크기 (integer, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (홈 섹션 상세 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/display/pages/home/sections/:cornerId
Params 3
Headers 2
PATH PARAMETERS
cornerId
string
Expected: string_id
QUERY PARAMETERS
country_code
string
limit
integer
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/display/pages/home/shell 홈페이지 Shell 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (홈페이지 Shell 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/display/pages/home/shell
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/display/pages/hot-deals Hot Deals 페이지 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "page": "1",  // 페이지 번호 (integer, 선택)
    "limit": "24"  // 페이지 크기 (integer, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (Hot Deals 페이지 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/display/pages/hot-deals
Params 2
Headers 2
QUERY PARAMETERS
page
integer
1
1
2
limit
integer
24
24
48
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/display/pages/new-arrivals New Arrivals 페이지 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (New Arrivals 페이지 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/display/pages/new-arrivals
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/display/pages/pdp/:product_id Product Detail Page 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "product_id": "UA34409759"  // 상품 ID (문자열, 필수)
  },
  "queryParams": {
    "sku_id": null  // SKU ID (문자열, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (Product Detail Page 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/display/pages/pdp/UA34409759
Params 2
Headers 2
PATH PARAMETERS
product_id
string
Expected: product_id
QUERY PARAMETERS
sku_id
string
Select...
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.

아이덴티티 11 endpoints

DELETE /api/v1/cmd/me/account 계정 탈퇴 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (계정 탈퇴)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/me/account
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/cmd/me/addresses 배송지 추가 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (배송지 추가)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/me/addresses
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
DELETE /api/v1/cmd/me/addresses/:address_id 배송지 삭제 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "address_id": "addr_example"  // address id (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (배송지 삭제)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/me/addresses/addr_example
Params 1
Headers 2
PATH PARAMETERS
address_id
string
Expected: string_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
PATCH /api/v1/cmd/me/addresses/:address_id 배송지 수정 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "address_id": "addr_example"  // address id (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (배송지 수정)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/me/addresses/addr_example
Params 1
Headers 2
PATH PARAMETERS
address_id
string
Expected: string_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/cmd/me/addresses/:address_id/set-default 기본 배송지 설정 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "address_id": "addr_example"  // address id (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (기본 배송지 설정)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/me/addresses/addr_example/set-default
Params 1
Headers 2
PATH PARAMETERS
address_id
string
Expected: string_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
PATCH /api/v1/cmd/me/beauty-profile 뷰티 프로필 수정 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (뷰티 프로필 수정)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/me/beauty-profile
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/cmd/me/password/verify 비밀번호 확인 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (비밀번호 확인)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/me/password/verify
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/me/addresses 배송지 목록 조회 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": [
      {
        "id": "예시_ID",  // 항목 고유 ID
        "name": "예시_이름",  // 항목 이름
        "...": "기타 필드"  // 추가 필드들
      }
    ],  // 응답 데이터 (배송지 목록 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/me/addresses
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/me/addresses/:address_id 배송지 상세 조회 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "address_id": "addr_example"  // address id (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (배송지 상세 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/me/addresses/addr_example
Params 1
Headers 2
PATH PARAMETERS
address_id
string
Expected: string_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/me/bootstrap My Page 초기화 데이터 (FACADE) 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (My Page 초기화 데이터 (FACADE))
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/me/bootstrap
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/me/restock-notifications 재입고 알림 목록 조회 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "cursor": null,  // cursor (문자열, 선택)
    "limit": null  // 페이지 크기 (integer, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": [
      {
        "id": "예시_ID",  // 항목 고유 ID
        "name": "예시_이름",  // 항목 이름
        "...": "기타 필드"  // 추가 필드들
      }
    ],  // 응답 데이터 (재입고 알림 목록 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/me/restock-notifications
Params 2
Headers 2
QUERY PARAMETERS
cursor
string
limit
integer
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.

internalPreview 13 endpoints

GET /internal/api/v1/content/events/:event_id Internal 이벤트 상세 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "event_id": "example_id"  // event id (문자열, 필수)
  },
  "queryParams": {
    "previewDate": null  // previewDate (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (Internal 이벤트 상세 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /internal/api/v1/content/events/:event_id
Params 2
Headers 2
PATH PARAMETERS
event_id
string
Expected: string_id
QUERY PARAMETERS
previewDate
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /internal/api/v1/display/pages/best-sellers Internal Best Sellers 페이지 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "category_id": null,  // 카테고리 ID (문자열, 선택)
    "page": null,  // 페이지 번호 (integer, 선택)
    "limit": null,  // 페이지 크기 (integer, 선택)
    "previewDate": null  // previewDate (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (Internal Best Sellers 페이지 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /internal/api/v1/display/pages/best-sellers
Params 4
Headers 2
QUERY PARAMETERS
category_id
string
page
integer
limit
integer
previewDate
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /internal/api/v1/display/pages/brands Internal 브랜드 디렉토리 페이지 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "include_brand_list": null,  // include brand list (불린, 선택)
    "previewDate": null  // previewDate (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (Internal 브랜드 디렉토리 페이지 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /internal/api/v1/display/pages/brands
Params 2
Headers 2
QUERY PARAMETERS
include_brand_list
boolean
false
previewDate
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /internal/api/v1/display/pages/brands/:brand_id Internal 브랜드 랜딩 페이지 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "brand_id": "example_id"  // 브랜드 ID (문자열, 필수)
  },
  "queryParams": {
    "previewDate": null  // previewDate (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (Internal 브랜드 랜딩 페이지 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /internal/api/v1/display/pages/brands/:brand_id
Params 2
Headers 2
PATH PARAMETERS
brand_id
string
Expected: brand_id
QUERY PARAMETERS
previewDate
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /internal/api/v1/display/pages/home Internal 홈 페이지 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "previewDate": null  // previewDate (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (Internal 홈 페이지 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /internal/api/v1/display/pages/home
Params 1
Headers 2
QUERY PARAMETERS
previewDate
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /internal/api/v1/display/pages/home/sections/:cornerId Internal 코너 상세 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "cornerId": "example_id"  // cornerId (문자열, 필수)
  },
  "queryParams": {
    "country_code": null,  // country code (문자열, 선택)
    "previewDate": null  // previewDate (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (Internal 코너 상세 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /internal/api/v1/display/pages/home/sections/:cornerId
Params 3
Headers 2
PATH PARAMETERS
cornerId
string
Expected: string_id
QUERY PARAMETERS
country_code
string
previewDate
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /internal/api/v1/display/pages/hot-deals Internal Hot Deals 페이지 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "page": null,  // 페이지 번호 (integer, 선택)
    "limit": null,  // 페이지 크기 (integer, 선택)
    "previewDate": null  // previewDate (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (Internal Hot Deals 페이지 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /internal/api/v1/display/pages/hot-deals
Params 3
Headers 2
QUERY PARAMETERS
page
integer
limit
integer
previewDate
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /internal/api/v1/display/pages/new-arrivals Internal New Arrivals 페이지 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "page": null,  // 페이지 번호 (integer, 선택)
    "limit": null,  // 페이지 크기 (integer, 선택)
    "previewDate": null  // previewDate (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (Internal New Arrivals 페이지 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /internal/api/v1/display/pages/new-arrivals
Params 3
Headers 2
QUERY PARAMETERS
page
integer
limit
integer
previewDate
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /internal/api/v1/display/pages/pdp/:product_id Internal PDP 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "product_id": "example_id"  // 상품 ID (문자열, 필수)
  },
  "queryParams": {
    "sku_id": null,  // SKU ID (문자열, 선택)
    "previewDate": null  // previewDate (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (Internal PDP 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /internal/api/v1/display/pages/pdp/:product_id
Params 3
Headers 2
PATH PARAMETERS
product_id
string
Expected: product_id
QUERY PARAMETERS
sku_id
string
previewDate
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /internal/api/v1/promotions/:promotion_id Internal 프로모션 상세 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "promotion_id": "example_id"  // promotion id (문자열, 필수)
  },
  "queryParams": {
    "previewDate": null  // previewDate (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (Internal 프로모션 상세 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /internal/api/v1/promotions/:promotion_id
Params 2
Headers 2
PATH PARAMETERS
promotion_id
string
Expected: string_id
QUERY PARAMETERS
previewDate
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /internal/api/v1/shell/lead-banner Internal 리드 배너 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "previewDate": null  // previewDate (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (Internal 리드 배너 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /internal/api/v1/shell/lead-banner
Params 1
Headers 2
QUERY PARAMETERS
previewDate
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /internal/api/v1/shell/mega-menu Internal 메가메뉴 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "locale": null,  // locale (문자열, 선택)
    "market": null,  // market (문자열, 선택)
    "previewDate": null  // previewDate (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (Internal 메가메뉴 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /internal/api/v1/shell/mega-menu
Params 3
Headers 2
QUERY PARAMETERS
locale
string
market
string
previewDate
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /internal/api/v1/shell/mobile-category-navigation Internal 모바일 카테고리 네비게이션 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "previewDate": null  // previewDate (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (Internal 모바일 카테고리 네비게이션 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /internal/api/v1/shell/mobile-category-navigation
Params 1
Headers 2
QUERY PARAMETERS
previewDate
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.

리스팅 8 endpoints

GET /api/v1/q/autocomplete 검색어 자동완성
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "prefix": null,  // prefix (문자열, 선택)
    "limit": "5"  // 페이지 크기 (integer, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (검색어 자동완성)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/autocomplete
Params 2
Headers 2
QUERY PARAMETERS
prefix
string
Select...
ser
mas
ton
limit
integer
5
5
10
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/categories/:category_id/products 카테고리별 상품 목록
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "category_id": "D21"  // 카테고리 ID (문자열, 필수)
  },
  "queryParams": {
    "page": "1",  // 페이지 번호 (integer, 선택)
    "page_size": null,  // page size (integer, 선택)
    "sort": null,  // 정렬 방식 (문자열, 선택)
    "subcategory_ids": null,  // subcategory ids (array, 선택)
    "brand_ids": null,  // brand ids (array, 선택)
    "attributes": null,  // attributes (문자열, 선택)
    "price_min": null,  // price min (숫자, 선택)
    "price_max": null,  // price max (숫자, 선택)
    "discount_rates": null,  // discount rates (array, 선택)
    "review_scores": null,  // review scores (array, 선택)
    "in_stock_only": null  // in stock only (불린, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": [
      {
        "id": "예시_ID",  // 항목 고유 ID
        "name": "예시_이름",  // 항목 이름
        "...": "기타 필드"  // 추가 필드들
      }
    ],  // 응답 데이터 (카테고리별 상품 목록)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/categories/D21/products
Params 12
Headers 2
PATH PARAMETERS
category_id
string
Expected: category_id
QUERY PARAMETERS
page
integer
1
1
page_size
integer
sort
string
subcategory_ids
array
brand_ids
array
attributes
string
price_min
number
price_max
number
discount_rates
array
review_scores
array
in_stock_only
boolean
false
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/categories/:category_id/products/count 카테고리 필터 예상 상품 수 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "category_id": "example_id"  // 카테고리 ID (문자열, 필수)
  },
  "queryParams": {
    "subcategory_ids": null,  // subcategory ids (array, 선택)
    "brand_ids": null,  // brand ids (array, 선택)
    "attributes": null,  // attributes (문자열, 선택)
    "price_min": null,  // price min (숫자, 선택)
    "price_max": null,  // price max (숫자, 선택)
    "discount_rates": null,  // discount rates (array, 선택)
    "review_scores": null,  // review scores (array, 선택)
    "in_stock_only": null  // in stock only (불린, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (카테고리 필터 예상 상품 수 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/categories/:category_id/products/count
Params 9
Headers 2
PATH PARAMETERS
category_id
string
Expected: category_id
QUERY PARAMETERS
subcategory_ids
array
brand_ids
array
attributes
string
price_min
number
price_max
number
discount_rates
array
review_scores
array
in_stock_only
boolean
false
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/search 상품 검색/목록 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "q": "serum",  // q (문자열, 선택)
    "page": "1",  // 페이지 번호 (integer, 선택)
    "page_size": "24",  // page size (integer, 선택)
    "sort": "relevance",  // 정렬 방식 (문자열, 선택)
    "category_ids": "D21",  // category ids (array, 선택)
    "brand_ids": "B00242",  // brand ids (array, 선택)
    "attributes": null,  // attributes (문자열, 선택)
    "price_min": "10",  // price min (숫자, 선택)
    "price_max": "50",  // price max (숫자, 선택)
    "discount_rates": "25-50",  // discount rates (array, 선택)
    "review_scores": "4-5",  // review scores (array, 선택)
    "query_type": null,  // query type (문자열, 선택)
    "membership_type": null,  // membership type (문자열, 선택)
    "in_stock_only": null  // in stock only (불린, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": [
      {
        "id": "예시_ID",  // 항목 고유 ID
        "name": "예시_이름",  // 항목 이름
        "...": "기타 필드"  // 추가 필드들
      }
    ],  // 응답 데이터 (상품 검색/목록 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/search
Params 14
Headers 2
QUERY PARAMETERS
q
string
serum
serum
mask
toner
cleanser
page
integer
1
1
page_size
integer
24
24
48
sort
string
relevance
relevance
popularity
newest
price_asc
price_desc
rating
category_ids
array
D21
D21
D21,D19
brand_ids
array
B00242
B00242
B00242,B00237
attributes
string
price_min
number
10
10
20
price_max
number
50
50
100
discount_rates
array
25-50
25-50
0-25,50-75
review_scores
array
4-5
4-5
3-4,4-5
query_type
string
membership_type
string
in_stock_only
boolean
false
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/search-landing 검색 랜딩 조회 (검색어 Redirect)
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "search_word": null  // search word (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (검색 랜딩 조회 (검색어 Redirect))
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/search-landing
Params 1
Headers 2
QUERY PARAMETERS
search_word
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/search/count 검색 필터 예상 상품 수 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "q": null,  // q (문자열, 선택)
    "category_ids": null,  // category ids (array, 선택)
    "brand_ids": null,  // brand ids (array, 선택)
    "attributes": null,  // attributes (문자열, 선택)
    "price_min": null,  // price min (숫자, 선택)
    "price_max": null,  // price max (숫자, 선택)
    "discount_rates": null,  // discount rates (array, 선택)
    "review_scores": null,  // review scores (array, 선택)
    "in_stock_only": null,  // in stock only (불린, 선택)
    "membership_type": null  // membership type (문자열, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (검색 필터 예상 상품 수 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/search/count
Params 10
Headers 2
QUERY PARAMETERS
q
string
category_ids
array
brand_ids
array
attributes
string
price_min
number
price_max
number
discount_rates
array
review_scores
array
in_stock_only
boolean
false
membership_type
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/search/popular 인기검색어 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (인기검색어 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/search/popular
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/search/stats 검색어 로그 집계
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "from_at": "2026-03-17T00:00:00Z",  // from at (문자열, 필수)
    "to_at": "2026-03-18T23:59:59Z",  // to at (문자열, 필수)
    "query_result_type": "HIT",  // query result type (문자열, 선택)
    "membership_type": "guest",  // membership type (문자열, 선택)
    "membership_scope": "ALL",  // membership scope (문자열, 선택)
    "query_type_scope": "ALL",  // query type scope (문자열, 선택)
    "search_query": "serum",  // search query (문자열, 선택)
    "page": "1",  // 페이지 번호 (integer, 선택)
    "page_size": "20",  // page size (integer, 선택)
    "limit": null  // 페이지 크기 (integer, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (검색어 로그 집계)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/search/stats
Params 10
Headers 2
QUERY PARAMETERS
from_at
string
2026-03-17T00:00:00Z
2026-03-17T00:00:00Z
to_at
string
2026-03-18T23:59:59Z
2026-03-18T23:59:59Z
query_result_type
string
HIT
HIT
FAILED
membership_type
string
guest
guest
Friend
Green
Gold
membership_scope
string
ALL
ALL
MEMBER
NON_MEMBER
query_type_scope
string
ALL
ALL
LANDING
NON_LANDING
search_query
string
serum
serum
page
integer
1
1
2
page_size
integer
20
20
50
limit
integer
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.

마이 23 endpoints

POST /api/v1/cmd/me/consents/grant 동의 부여 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (동의 부여)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/me/consents/grant
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/cmd/me/coupons/register 쿠폰 등록 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (쿠폰 등록)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/me/coupons/register
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/cmd/me/notifications/:notification_id/read 알림 읽음 처리 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "notification_id": "ntf_001"  // notification id (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (알림 읽음 처리)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/me/notifications/ntf_001/read
Params 1
Headers 2
PATH PARAMETERS
notification_id
string
Expected: string_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/cmd/me/notifications/read-all 모든 알림 읽음 처리 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (모든 알림 읽음 처리)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/me/notifications/read-all
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/cmd/me/points/earn 포인트 적립 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (포인트 적립)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/me/points/earn
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/cmd/me/points/use 포인트 사용 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (포인트 사용)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/me/points/use
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
PATCH /api/v1/cmd/me/profile 프로필 수정 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (프로필 수정)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/me/profile
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/me/beauty-profile 뷰티 프로필 조회 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (뷰티 프로필 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/me/beauty-profile
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/me/consents 동의 내역 조회 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (동의 내역 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/me/consents
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/me/coupons 쿠폰 목록 조회 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "status": null,  // status (문자열, 선택)
    "cursor": null,  // cursor (문자열, 선택)
    "size": null  // size (integer, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": [
      {
        "id": "예시_ID",  // 항목 고유 ID
        "name": "예시_이름",  // 항목 이름
        "...": "기타 필드"  // 추가 필드들
      }
    ],  // 응답 데이터 (쿠폰 목록 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/me/coupons
Params 3
Headers 2
QUERY PARAMETERS
status
string
cursor
string
size
integer
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/me/coupons/available 사용 가능 쿠폰 조회 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "order_amount": null,  // order amount (숫자, 선택)
    "product_ids": null,  // product ids (문자열, 선택)
    "category_ids": null  // category ids (문자열, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (사용 가능 쿠폰 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/me/coupons/available
Params 3
Headers 2
QUERY PARAMETERS
order_amount
number
product_ids
string
category_ids
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/me/login-history 로그인 기록 조회 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "from_date": null,  // from date (문자열, 선택)
    "to_date": null,  // to date (문자열, 선택)
    "limit": null,  // 페이지 크기 (integer, 선택)
    "offset": null  // 시작 위치 (integer, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (로그인 기록 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/me/login-history
Params 4
Headers 2
QUERY PARAMETERS
from_date
string
to_date
string
limit
integer
offset
integer
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/me/membership 내 멤버십 조회 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (내 멤버십 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/me/membership
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/me/membership/benefits 내 멤버십 혜택 조회 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (내 멤버십 혜택 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/me/membership/benefits
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/me/membership/purchase-performance 구매 실적 조회 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "period": null  // period (문자열, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (구매 실적 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/me/membership/purchase-performance
Params 1
Headers 2
QUERY PARAMETERS
period
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/me/notifications 알림 목록 조회 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "type": null,  // type (문자열, 선택)
    "cursor": null,  // cursor (문자열, 선택)
    "size": "20"  // size (integer, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": [
      {
        "id": "예시_ID",  // 항목 고유 ID
        "name": "예시_이름",  // 항목 이름
        "...": "기타 필드"  // 추가 필드들
      }
    ],  // 응답 데이터 (알림 목록 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/me/notifications
Params 3
Headers 2
QUERY PARAMETERS
type
string
cursor
string
size
integer
20
20
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/me/notifications/:notification_id 알림 상세 조회 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "notification_id": "ntf_001"  // notification id (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (알림 상세 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/me/notifications/ntf_001
Params 1
Headers 2
PATH PARAMETERS
notification_id
string
Expected: string_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/me/notifications/unread-count 읽지 않은 알림 수 조회 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (읽지 않은 알림 수 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/me/notifications/unread-count
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/me/points 포인트 잔액 조회 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (포인트 잔액 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/me/points
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/me/points/history 포인트 내역 조회 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "page": null,  // 페이지 번호 (숫자, 선택)
    "page_size": null,  // page size (숫자, 선택)
    "type": null,  // type (문자열, 선택)
    "from_date": null,  // from date (문자열, 선택)
    "to_date": null  // to date (문자열, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (포인트 내역 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/me/points/history
Params 5
Headers 2
QUERY PARAMETERS
page
number
page_size
number
type
string
from_date
string
to_date
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/me/preferences 개인 설정 조회 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (개인 설정 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/me/preferences
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/me/profile 프로필 조회 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (프로필 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/me/profile
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/me/reviews 내가 쓴 리뷰 조회 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "page": "1",  // 페이지 번호 (숫자, 선택)
    "page_size": null,  // page size (숫자, 선택)
    "sort": null,  // 정렬 방식 (문자열, 선택)
    "rating": null,  // rating (integer, 선택)
    "has_images": null  // has images (불린, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (내가 쓴 리뷰 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/me/reviews
Params 5
Headers 2
QUERY PARAMETERS
page
number
1
1
page_size
number
sort
string
rating
integer
has_images
boolean
false
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.

멤버십 3 endpoints

GET /api/v1/q/me/cancellations 취소/반품 내역 조회 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "type": null,  // type (문자열, 선택)
    "from_date": null,  // from date (문자열, 선택)
    "to_date": null,  // to date (문자열, 선택)
    "cursor": null,  // cursor (문자열, 선택)
    "limit": null  // 페이지 크기 (integer, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (취소/반품 내역 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/me/cancellations
Params 5
Headers 2
QUERY PARAMETERS
type
string
from_date
string
to_date
string
cursor
string
limit
integer
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/me/events 이벤트 참여 내역 조회 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "period": null,  // period (문자열, 선택)
    "from_date": null,  // from date (문자열, 선택)
    "to_date": null,  // to date (문자열, 선택)
    "cursor": null,  // cursor (문자열, 선택)
    "limit": null  // 페이지 크기 (integer, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (이벤트 참여 내역 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/me/events
Params 5
Headers 2
QUERY PARAMETERS
period
string
from_date
string
to_date
string
cursor
string
limit
integer
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/me/reviews/writable 작성 가능한 리뷰 조회 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "cursor": null,  // cursor (문자열, 선택)
    "limit": null  // 페이지 크기 (integer, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (작성 가능한 리뷰 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/me/reviews/writable
Params 2
Headers 2
QUERY PARAMETERS
cursor
string
limit
integer
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.

모바일 17 endpoints

POST /api/v1/cmd/events/track 이벤트 트래킹 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (이벤트 트래킹)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/events/track
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/cmd/ux/announcements/:announcement_id/mark-read 공지 읽음 처리 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "announcement_id": "ann_001"  // announcement id (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (공지 읽음 처리)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/ux/announcements/ann_001/mark-read
Params 1
Headers 2
PATH PARAMETERS
announcement_id
string
Expected: string_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/cmd/ux/popups/:popup_id/dismiss 팝업 닫기 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "popup_id": "pop_001"  // popup id (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (팝업 닫기)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/ux/popups/pop_001/dismiss
Params 1
Headers 2
PATH PARAMETERS
popup_id
string
Expected: string_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/consents/documents/:code 동의 문서 상세 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "code": "privacy"  // code (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (동의 문서 상세 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/consents/documents/privacy
Params 1
Headers 2
PATH PARAMETERS
code
string
Expected: string_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/consents/prompt 동의 프롬프트 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (동의 프롬프트 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/consents/prompt
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/experiments/assignments 실험 할당 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (실험 할당 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/experiments/assignments
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/flags/public 공개 피처 플래그 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (공개 피처 플래그 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/flags/public
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/market/options 마켓 옵션 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (마켓 옵션 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/market/options
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/mobile/runtime-config 모바일 런타임 설정 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "platform": "ios",  // platform (문자열, 필수)
    "app_version": "1.0.0"  // app version (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (모바일 런타임 설정 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/mobile/runtime-config
Params 2
Headers 2
QUERY PARAMETERS
platform
string
ios
ios
android
app_version
string
1.0.0
1.0.0
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/mobile/shell-spec 모바일 쉘 스펙 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "platform": "ios",  // platform (문자열, 필수)
    "app_version": "1.0.0"  // app version (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (모바일 쉘 스펙 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/mobile/shell-spec
Params 2
Headers 2
QUERY PARAMETERS
platform
string
ios
ios
android
app_version
string
1.0.0
1.0.0
2.0.0
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/mobile/webview/bridge-registry 웹뷰 브릿지 레지스트리 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (웹뷰 브릿지 레지스트리 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/mobile/webview/bridge-registry
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/ux/announcements 공지사항 목록 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": [
      {
        "id": "예시_ID",  // 항목 고유 ID
        "name": "예시_이름",  // 항목 이름
        "...": "기타 필드"  // 추가 필드들
      }
    ],  // 응답 데이터 (공지사항 목록 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/ux/announcements
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/ux/banners 배너 목록 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "placement": "home_top"  // placement (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": [
      {
        "id": "예시_ID",  // 항목 고유 ID
        "name": "예시_이름",  // 항목 이름
        "...": "기타 필드"  // 추가 필드들
      }
    ],  // 응답 데이터 (배너 목록 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/ux/banners
Params 1
Headers 2
QUERY PARAMETERS
placement
string
home_top
home_top
product_bottom
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/ux/onboarding 온보딩 플로우 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "flow": null  // flow (문자열, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (온보딩 플로우 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/ux/onboarding
Params 1
Headers 2
QUERY PARAMETERS
flow
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/ux/popups 팝업 목록 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "page": "home",  // 페이지 번호 (문자열, 선택)
    "trigger": null  // trigger (문자열, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": [
      {
        "id": "예시_ID",  // 항목 고유 ID
        "name": "예시_이름",  // 항목 이름
        "...": "기타 필드"  // 추가 필드들
      }
    ],  // 응답 데이터 (팝업 목록 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/ux/popups
Params 2
Headers 2
QUERY PARAMETERS
page
string
home
home
product
trigger
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/ux/tooltips 툴팁 목록 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "page": "home"  // 페이지 번호 (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": [
      {
        "id": "예시_ID",  // 항목 고유 ID
        "name": "예시_이름",  // 항목 이름
        "...": "기타 필드"  // 추가 필드들
      }
    ],  // 응답 데이터 (툴팁 목록 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/ux/tooltips
Params 1
Headers 2
QUERY PARAMETERS
page
string
home
home
checkout
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.

OAuth 6 endpoints

GET /api/v1/oauth/:provider/authorize OAuth 인증 URL 생성 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "provider": "google"  // provider (문자열, 필수)
  },
  "queryParams": {
    "redirect_uri": "/auth/callback",  // redirect uri (문자열, 필수)
    "state": null,  // state (문자열, 선택)
    "login_hint": null,  // login hint (문자열, 선택)
    "prompt": "consent"  // prompt (문자열, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (OAuth 인증 URL 생성)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/oauth/google/authorize
Params 5
Headers 2
PATH PARAMETERS
provider
string
Expected: string_id
QUERY PARAMETERS
redirect_uri
string
/auth/callback
/auth/callback
state
string
login_hint
string
prompt
string
consent
consent
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/oauth/:provider/callback OAuth 콜백 처리 및 로그인 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "provider": "google"  // provider (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (OAuth 콜백 처리 및 로그인)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/oauth/google/callback
Params 1
Headers 2
PATH PARAMETERS
provider
string
Expected: string_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/oauth/:provider/link OAuth 계정 연결 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "provider": "google"  // provider (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (OAuth 계정 연결)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/oauth/google/link
Params 1
Headers 2
PATH PARAMETERS
provider
string
Expected: string_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/oauth/:provider/reauth 민감 작업용 재인증
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "provider": "example_id"  // provider (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (민감 작업용 재인증)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/oauth/:provider/reauth
Params 1
Headers 2
PATH PARAMETERS
provider
string
Expected: string_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
DELETE /api/v1/oauth/:provider/unlink OAuth 계정 연결 해제 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "provider": "google"  // provider (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (OAuth 계정 연결 해제)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/oauth/google/unlink
Params 1
Headers 2
PATH PARAMETERS
provider
string
Expected: string_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/oauth/accounts 연결된 OAuth 계정 목록 조회 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": [
      {
        "id": "예시_ID",  // 항목 고유 ID
        "name": "예시_이름",  // 항목 이름
        "...": "기타 필드"  // 추가 필드들
      }
    ],  // 응답 데이터 (연결된 OAuth 계정 목록 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/oauth/accounts
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.

프리뷰 3 endpoints

POST /api/v1/q/inventory/availability-preview 재고 가용성 미리보기
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (재고 가용성 미리보기)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/inventory/availability-preview
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/q/pricing/display 가격 미리보기
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (가격 미리보기)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/pricing/display
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/q/shipping/estimate-preview 배송비 예상 미리보기
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (배송비 예상 미리보기)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/shipping/estimate-preview
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.

상품 5 endpoints

GET /api/v1/q/product/refund-exchange-info 환불/교환 정책 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (환불/교환 정책 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/product/refund-exchange-info
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/products/:product_id 상품 상세 정보 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "product_id": "UA34409759"  // 상품 ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (상품 상세 정보 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/products/UA34409759
Params 1
Headers 2
PATH PARAMETERS
product_id
string
Expected: product_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/products/:product_id/related 연관 상품 추천 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "product_id": "UA34409759"  // 상품 ID (문자열, 필수)
  },
  "queryParams": {
    "limit": "6",  // 페이지 크기 (integer, 선택)
    "recommendation_type": null  // recommendation type (문자열, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (연관 상품 추천 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/products/UA34409759/related
Params 3
Headers 2
PATH PARAMETERS
product_id
string
Expected: product_id
QUERY PARAMETERS
limit
integer
6
6
10
20
recommendation_type
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/q/products/bulk 상품 일괄 조회 (Bulk API)
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  },
  "body": {
    "_": {
      "type": "object"
    }
  }  // 요청 본문 (POST/PUT/PATCH)
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (상품 일괄 조회 (Bulk API))
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/products/bulk
Headers 2
Body
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/products/gtin 상품 UA Code - GTIN 쌍 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "limit": null,  // 페이지 크기 (integer, 선택)
    "cursor_ua_code": null,  // cursor ua code (문자열, 선택)
    "cursor_gtin": null  // cursor gtin (문자열, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (상품 UA Code - GTIN 쌍 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/products/gtin
Params 3
Headers 2
QUERY PARAMETERS
limit
integer
cursor_ua_code
string
cursor_gtin
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.

프로모션 3 endpoints

POST /api/v1/cmd/promotions/coupons/:coupon_id/download 쿠폰 다운로드 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "coupon_id": "example_id"  // 쿠폰 ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (쿠폰 다운로드)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/promotions/coupons/:coupon_id/download
Params 1
Headers 2
PATH PARAMETERS
coupon_id
string
Expected: coupon_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/promotions/:promotion_id 프로모션 상세 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "promotion_id": "example_id"  // promotion id (문자열, 필수)
  },
  "queryParams": {
    "previewDate": null  // previewDate (문자열, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (프로모션 상세 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/promotions/:promotion_id
Params 2
Headers 2
PATH PARAMETERS
promotion_id
string
Expected: string_id
QUERY PARAMETERS
previewDate
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/q/promotions/products/discount/search 상품 가격/할인 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  },
  "body": {
    "_": {
      "type": "object"
    }
  }  // 요청 본문 (POST/PUT/PATCH)
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (상품 가격/할인 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/promotions/products/discount/search
Headers 2
Body
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.

리뷰 7 endpoints

POST /api/v1/q/products/:product_id/qna/list 상품 Q&A 목록 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "product_id": "UA34409759"  // 상품 ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": [
      {
        "id": "예시_ID",  // 항목 고유 ID
        "name": "예시_이름",  // 항목 이름
        "...": "기타 필드"  // 추가 필드들
      }
    ],  // 응답 데이터 (상품 Q&A 목록 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/products/UA34409759/qna/list
Params 1
Headers 2
PATH PARAMETERS
product_id
string
Expected: product_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/products/:product_id/qna/summary 상품 Q&A 요약 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "product_id": "UA34409759"  // 상품 ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (상품 Q&A 요약 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/products/UA34409759/qna/summary
Params 1
Headers 2
PATH PARAMETERS
product_id
string
Expected: product_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/q/products/:product_id/reviews/list 상품 리뷰 목록 조회 (POST)
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "product_id": "UA34409759"  // 상품 ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": [
      {
        "id": "예시_ID",  // 항목 고유 ID
        "name": "예시_이름",  // 항목 이름
        "...": "기타 필드"  // 추가 필드들
      }
    ],  // 응답 데이터 (상품 리뷰 목록 조회 (POST))
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/products/UA34409759/reviews/list
Params 1
Headers 2
PATH PARAMETERS
product_id
string
Expected: product_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/products/:product_id/reviews/summary 상품 리뷰 요약 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "product_id": "example_id"  // 상품 ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (상품 리뷰 요약 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/products/:product_id/reviews/summary
Params 1
Headers 2
PATH PARAMETERS
product_id
string
Expected: product_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/reviews/:review_id 리뷰 상세 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "review_id": "example_id"  // 리뷰 ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (리뷰 상세 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/reviews/:review_id
Params 1
Headers 2
PATH PARAMETERS
review_id
string
Expected: review_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/q/reviews/filters/spec 리뷰 필터 스펙 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (리뷰 필터 스펙 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/reviews/filters/spec
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/reviews/photo-gallery 리뷰 포토 갤러리
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "product_id": null,  // 상품 ID (문자열, 선택)
    "cursor": null,  // cursor (문자열, 선택)
    "size": null  // size (integer, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (리뷰 포토 갤러리)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/reviews/photo-gallery
Params 3
Headers 2
QUERY PARAMETERS
product_id
string
cursor
string
size
integer
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.

라우팅 3 endpoints

GET /api/v1/q/routing/breadcrumbs 브레드크럼 네비게이션 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "path": "/categories/skincare/toner",  // path (문자열, 필수)
    "include_home": null  // include home (불린, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (브레드크럼 네비게이션 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/routing/breadcrumbs
Params 2
Headers 2
QUERY PARAMETERS
path
string
/categories/skincare/toner
/categories/skincare/toner
include_home
boolean
false
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/routing/menus/:menu_type 네비게이션 메뉴 구조 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "menu_type": "main"  // menu type (문자열, 필수)
  },
  "queryParams": {
    "depth": null,  // depth (integer, 선택)
    "include_counts": null  // include counts (불린, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (네비게이션 메뉴 구조 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/routing/menus/main
Params 3
Headers 2
PATH PARAMETERS
menu_type
string
Expected: string_id
QUERY PARAMETERS
depth
integer
include_counts
boolean
false
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/routing/resolve URL 경로 분석 및 리소스 매핑
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "path": "/products/anua-toner",  // path (문자열, 필수)
    "include_resource": null  // include resource (불린, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (URL 경로 분석 및 리소스 매핑)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/routing/resolve
Params 2
Headers 2
QUERY PARAMETERS
path
string
/products/anua-toner
/products/anua-toner
/categories/skincare
include_resource
boolean
false
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.

SEO 4 endpoints

GET /api/v1/q/seo/meta SEO 메타데이터 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "path": "/products/anua-toner",  // path (문자열, 필수)
    "resource_type": null,  // resource type (문자열, 선택)
    "resource_id": null  // resource id (문자열, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (SEO 메타데이터 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/seo/meta
Params 3
Headers 2
QUERY PARAMETERS
path
string
/products/anua-toner
/products/anua-toner
resource_type
string
resource_id
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/seo/robots robots.txt 데이터 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (robots.txt 데이터 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/seo/robots
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/seo/sitemap/index Sitemap 인덱스 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (Sitemap 인덱스 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/seo/sitemap/index
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/s2s/seo/sitemap/urls Sitemap URL 목록 조회 (S2S)
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "type": null,  // type (문자열, 선택)
    "since": null,  // since (문자열, 선택)
    "cursor": null,  // cursor (문자열, 선택)
    "size": null  // size (integer, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": [
      {
        "id": "예시_ID",  // 항목 고유 ID
        "name": "예시_이름",  // 항목 이름
        "...": "기타 필드"  // 추가 필드들
      }
    ],  // 응답 데이터 (Sitemap URL 목록 조회 (S2S))
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/s2s/seo/sitemap/urls
Params 4
Headers 2
QUERY PARAMETERS
type
string
since
string
cursor
string
size
integer
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.

10 endpoints

GET /api/v1/q/capabilities 기능 활성화 상태 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "platform": null,  // platform (문자열, 선택)
    "client_version": null  // client version (문자열, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (기능 활성화 상태 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/capabilities
Params 2
Headers 2
QUERY PARAMETERS
platform
string
client_version
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/footer/:menu_id 푸터 페이지 상세 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "menu_id": "example_id"  // menu id (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (푸터 페이지 상세 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/footer/:menu_id
Params 1
Headers 2
PATH PARAMETERS
menu_id
string
Expected: string_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/shell/bootstrap Shell 초기화 데이터 조회 (Facade)
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "platform": null  // platform (문자열, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (Shell 초기화 데이터 조회 (Facade))
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/shell/bootstrap
Params 1
Headers 2
QUERY PARAMETERS
platform
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/shell/footer Shell Footer 데이터 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (Shell Footer 데이터 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/shell/footer
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/shell/header Shell Header 데이터 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (Shell Header 데이터 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/shell/header
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/shell/header-widgets 헤더 위젯 배지 데이터 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (헤더 위젯 배지 데이터 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/shell/header-widgets
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/shell/lead-banner Shell 리드 배너 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (Shell 리드 배너 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/shell/lead-banner
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/shell/mega-menu 메가메뉴 데이터 조회 (올리브영 스타일)
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "locale": null,  // locale (문자열, 선택)
    "market": null  // market (문자열, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (메가메뉴 데이터 조회 (올리브영 스타일))
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/shell/mega-menu
Params 2
Headers 2
QUERY PARAMETERS
locale
string
market
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/shell/mobile-category-navigation 모바일 카테고리 네비게이션 데이터 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (모바일 카테고리 네비게이션 데이터 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/shell/mobile-category-navigation
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/shell/settings Shell Settings 데이터 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (Shell Settings 데이터 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/shell/settings
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.

sku 5 endpoints

GET /api/v1/q/products/:product_id/skus 상품 SKU 목록 조회 (PDP용)
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "product_id": "UA34409759"  // 상품 ID (문자열, 필수)
  },
  "queryParams": {
    "include_unavailable": null  // 품절 포함 (문자열, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": [
      {
        "id": "예시_ID",  // 항목 고유 ID
        "name": "예시_이름",  // 항목 이름
        "...": "기타 필드"  // 추가 필드들
      }
    ],  // 응답 데이터 (상품 SKU 목록 조회 (PDP용))
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/products/UA34409759/skus
Params 2
Headers 2
PATH PARAMETERS
product_id
string
Expected: product_id
QUERY PARAMETERS
include_unavailable
string
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/skus/:sku_id SKU 단건 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "sku_id": "example_id"  // SKU ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": [
      {
        "id": "예시_ID",  // 항목 고유 ID
        "name": "예시_이름",  // 항목 이름
        "...": "기타 필드"  // 추가 필드들
      }
    ],  // 응답 데이터 (SKU 단건 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/skus/:sku_id
Params 1
Headers 2
PATH PARAMETERS
sku_id
string
Expected: string_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/skus/:sku_id/availability 재고 확인 (단건)
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "sku_id": "example_id"  // SKU ID (문자열, 필수)
  },
  "queryParams": {
    "quantity": null  // quantity (integer, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (재고 확인 (단건))
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/skus/:sku_id/availability
Params 2
Headers 2
PATH PARAMETERS
sku_id
string
Expected: string_id
QUERY PARAMETERS
quantity
integer
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/q/skus/availability 재고 확인 (다건)
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (재고 확인 (다건))
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/skus/availability
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/q/skus/bulk SKU 일괄 조회
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": [
      {
        "id": "예시_ID",  // 항목 고유 ID
        "name": "예시_이름",  // 항목 이름
        "...": "기타 필드"  // 추가 필드들
      }
    ],  // 응답 데이터 (SKU 일괄 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/skus/bulk
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.

UGC 10 endpoints

POST /api/v1/cmd/products/:product_id/qna 상품 문의(QnA) 작성 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "product_id": "UA34409759"  // 상품 ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (상품 문의(QnA) 작성)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/products/UA34409759/qna
Params 1
Headers 2
PATH PARAMETERS
product_id
string
Expected: product_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
DELETE /api/v1/cmd/products/:product_id/qna/:qna_id 상품 문의 삭제 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "product_id": "UA34409759",  // 상품 ID (문자열, 필수)
    "qna_id": "qna_001"  // qna id (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (상품 문의 삭제)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/products/UA34409759/qna/qna_001
Params 2
Headers 2
PATH PARAMETERS
product_id
string
Expected: product_id
qna_id
string
Expected: string_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
PATCH /api/v1/cmd/products/:product_id/qna/:qna_id 상품 문의 수정 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "product_id": "UA34409759",  // 상품 ID (문자열, 필수)
    "qna_id": "qna_001"  // qna id (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (상품 문의 수정)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/products/UA34409759/qna/qna_001
Params 2
Headers 2
PATH PARAMETERS
product_id
string
Expected: product_id
qna_id
string
Expected: string_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/cmd/products/:product_id/reviews 상품 리뷰 작성 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "product_id": "UA34409759"  // 상품 ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (상품 리뷰 작성)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/products/UA34409759/reviews
Params 1
Headers 2
PATH PARAMETERS
product_id
string
Expected: product_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/cmd/products/:product_id/stock-notification 재입고 알림 구독 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "product_id": "UA34409759"  // 상품 ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (재입고 알림 구독)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/products/UA34409759/stock-notification
Params 1
Headers 2
PATH PARAMETERS
product_id
string
Expected: product_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
DELETE /api/v1/cmd/products/:product_id/stock-notification 재입고 알림 구독 해제 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "product_id": "UA34409759"  // 상품 ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (재입고 알림 구독 해제)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/products/UA34409759/stock-notification
Params 1
Headers 2
PATH PARAMETERS
product_id
string
Expected: product_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
DELETE /api/v1/cmd/reviews/:review_id 리뷰 삭제 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "review_id": "example_id"  // 리뷰 ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (리뷰 삭제)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/reviews/:review_id
Params 1
Headers 2
PATH PARAMETERS
review_id
string
Expected: review_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
PATCH /api/v1/cmd/reviews/:review_id 리뷰 수정 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "review_id": "example_id"  // 리뷰 ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (리뷰 수정)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/reviews/:review_id
Params 1
Headers 2
PATH PARAMETERS
review_id
string
Expected: review_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/cmd/reviews/:review_id/like 리뷰 좋아요 등록 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "review_id": "example_id"  // 리뷰 ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (리뷰 좋아요 등록)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/reviews/:review_id/like
Params 1
Headers 2
PATH PARAMETERS
review_id
string
Expected: review_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
DELETE /api/v1/cmd/reviews/:review_id/like 리뷰 좋아요 취소 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "review_id": "example_id"  // 리뷰 ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (리뷰 좋아요 취소)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/reviews/:review_id/like
Params 1
Headers 2
PATH PARAMETERS
review_id
string
Expected: review_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.

위시리스트 6 endpoints

POST /api/v1/cmd/me/recent-products 최근 본 상품 추가 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (최근 본 상품 추가)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/me/recent-products
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
DELETE /api/v1/cmd/me/recent-products 최근 본 상품 전체 삭제 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (최근 본 상품 전체 삭제)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/me/recent-products
Headers 2
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
POST /api/v1/cmd/me/wishlist/:product_id 위시리스트에 상품 추가 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "product_id": "UA34409759"  // 상품 ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (위시리스트에 상품 추가)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/me/wishlist/UA34409759
Params 1
Headers 2
PATH PARAMETERS
product_id
string
Expected: product_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
DELETE /api/v1/cmd/me/wishlist/:product_id 위시리스트에서 상품 제거 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "pathParams": {
    "product_id": "UA34409759"  // 상품 ID (문자열, 필수)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": {
      "id": "예시_ID",  // 항목 고유 ID
      "name": "예시_이름",  // 항목 이름
      "...": "기타 필드"  // 추가 필드들
    },  // 응답 데이터 (위시리스트에서 상품 제거)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/cmd/me/wishlist/UA34409759
Params 1
Headers 2
PATH PARAMETERS
product_id
string
Expected: product_id
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/me/recent-products 최근 본 상품 목록 조회 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "cursor": null,  // cursor (문자열, 선택)
    "size": "20"  // size (integer, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": [
      {
        "id": "예시_ID",  // 항목 고유 ID
        "name": "예시_이름",  // 항목 이름
        "...": "기타 필드"  // 추가 필드들
      }
    ],  // 응답 데이터 (최근 본 상품 목록 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/me/recent-products
Params 2
Headers 2
QUERY PARAMETERS
cursor
string
size
integer
20
20
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.
GET /api/v1/q/me/wishlist 위시리스트 목록 조회 🔐
📄 API Specification (JSON)
📤 REQUEST
{
  "queryParams": {
    "cursor": null,  // cursor (문자열, 선택)
    "size": "20"  // size (integer, 선택)
  },
  "headers": {
    "Content-Type": "application/json",  // 콘텐츠 타입
    "Accept": "application/json"  // 응답 형식
  }
}
📥 RESPONSE
{
  "status": 200,  // HTTP 상태 코드,
  "body": {
    "data": [
      {
        "id": "예시_ID",  // 항목 고유 ID
        "name": "예시_이름",  // 항목 이름
        "...": "기타 필드"  // 추가 필드들
      }
    ],  // 응답 데이터 (위시리스트 목록 조회)
    "_meta": {
      "revision": "string",  // 리비전 ID
      "cache_ttl_sec": 600,  // 캐시 TTL (초)
      "trace_id": "string",  // 추적 ID
      "took_ms": 123  // 소요 시간 (밀리초)
    }
  }
}
$ cURL
JS fetch
JS axios
Py requests
Full URL: /api/v1/q/me/wishlist
Params 2
Headers 2
QUERY PARAMETERS
cursor
string
size
integer
20
20
HEADERS
Content-Type
string
Authorization
string
Format: Bearer eyJhbGc...
x-api-version
string
Default: v2 (projection DB). Use v1 for legacy misc DB.

📦 Catalog Tables

🧴
Products
products
🏷️
Brands
brands
📁
Categories
categories
🎨
SKUs
product_variants
🖼️
SKU Images
sku_images
⚙️
SKU Options
sku_option_values
💹
Price History
sku_price_history
🔧
Option Types
option_types
📝
Attributes
attribute_values
👈
테이블을 선택하세요

👥 Users Tables

👤
Users
users
💄
Beauty Profiles
beauty_profiles
🎖️
Memberships
memberships
📍
Addresses
user_addresses
⚙️
Preferences
user_preferences
🔔
Notification Prefs
user_notification_preferences
👈
테이블을 선택하세요

📊 Activity Tables

🔐
Login History
login_history
📜
User Login History
user_login_history
🔔
Notifications
notifications
🎟️
User Coupons
user_coupons
Consents
user_consents
📦
Restock Notifs
restock_notifications
👈
테이블을 선택하세요

✍️ UGC Tables

Reviews
reviews
👍
Review Likes
review_likes
❤️
Wishlists
wishlists
💝
Wishlist Items
wishlist_items
Product Q&A
product_qna
👈
테이블을 선택하세요

🛒 Orders Tables

📋
Orders
orders
📦
Order Items
order_items
🎫
Coupons
coupons
🛒
Carts
carts
🧺
Cart Items
cart_items
👈
테이블을 선택하세요

🏠 Display Tables

🏠
Home Sections
home_sections
💾
Product Cache
home_product_cache
🆕
New Arrivals Items
new_arrivals_items
Bestseller Config
bestseller_page_config
🏆
Bestseller Categories
bestseller_categories
🔥
Hot Deals Items
hot_deals_items
⚙️
Hot Deals Config
hot_deals_config
🎨
Hero Banners
hero_banners
📢
Lead Banners
lead_banners
🏢
Brand Sections
brand_sections
Brand Spotlights
brand_spotlights
🎠
Category Carousels
category_carousels
🏷️
Shop by Category Items
shop_by_category_items
📱
Nav Menus
navigation_menus
📢
Notices
notices
FAQs
faqs
👈
테이블을 선택하세요

🎉 Events Tables

🎉
Events
events
💰
Points History
reward_points_history
🎁
Promotions
promotions
📦
Promotion Sets
promotion_sets
🏷️
Promotion Set Items
promotion_set_items
👈
테이블을 선택하세요

⚙️ System Tables

🔗
Routing Rules
routing_rules
🔍
SEO Meta
seo_meta
🚩
Feature Flags
feature_flags
⚙️
Site Settings
site_settings
💾
Cache Meta
cache_metadata
📱
Mobile Category Banners
mobile_category_navigation_banners
🏷️
Mobile Category Attributes
mobile_category_attributes
🔗
GNB Items
gnb_items
🌟
GNB Showcase
gnb_showcase
🎨
Category Nav Banner
category_navigation_banner
👁️
Brand Page View
v_brand_page
🔄
Sync Job History
sync_job_history
👈
테이블을 선택하세요