본문으로 건너뛰기

Marginking data-api

수집기(marginking-data-collectors)가 적재한 시세·온체인·뉴스·캘린더·고래 데이터를 읽기 전용으로 내려주는 API 서버입니다. (Kotlin + Spring WebFlux, ECS Fargate)

  • Base URL: https://data-api.mgking.io
  • 방식: 모두 GET, 인증 없음(내부/프론트용), Content-Type: application/json
  • 데이터 출처
    • lcache (Redis): 시세/온체인/테마 등 — 수집기가 주기적으로 Redis 에 적재한 JSON 을 그대로 서빙
    • RDS (MySQL): 뉴스 / 경제캘린더 / 고래체결·청산 — DB 조회

응답 형식

대부분의 응답은 공통 envelope 로 감쌉니다.

{
"success": true,
"code": "OK",
"message": null,
"data": { "...": "엔드포인트별 페이로드" },
"timestamp": "2026-06-30T11:19:16.070Z"
}
필드설명
success성공 여부
codeOK / BAD_REQUEST / NOT_FOUND
message부가 메시지(성공 시 보통 null)
data실제 페이로드 (엔드포인트별 형태 상이)
error실패 시 { code, message, details? }
timestamp서버 응답 시각(ISO-8601)
예외 — 고래 엔드포인트

/api/v1/whaletx, /api/v1/whaletx/internal, /api/v1/liquidationenvelope 없이 raw 형태({ tx, hasNext, nextPage })로 응답합니다. (기존 marginking-backend 호환)

에러

상태code발생
400BAD_REQUEST필수 파라미터 누락 / 허용값 외 path·query
404NOT_FOUND해당 키(redis)·레코드(DB)에 데이터 없음
{
"success": false,
"code": "BAD_REQUEST",
"message": "interval must be one of 1d, 1w, 1M, 3M, 6M",
"error": { "code": "BAD_REQUEST", "message": "..." }
}
신선도(freshness)

lcache 계열은 수집기의 적재 주기에 따라 갱신됩니다(엔드포인트별 상이). data 내부에 원본 ts/timestamp 가 있는 경우 그 값이 실제 데이터 시각입니다(envelope 의 timestamp 는 응답 생성 시각).

카테고리

그룹prefix출처
Health/api/ping, /api/data-
Tickers/api/tickers/*redis
Markets/api/markets/*redis
Onchain/api/onchain/*redis
Themes/api/themes/*redis
Calendars/api/calendars/*RDS
News/api/news/*RDS + redis
Whales/api/v1/whaletx*, /api/v1/liquidationRDS