명언 API 사용 안내

버전이 명시된 JSON API와 고정 데이터셋을 제공합니다.

OpenAPI JSON

빠른 시작

개발자 작업 공간에서 무료 조직과 소비 앱을 등록한 뒤 API 키를 발급하세요. 키 전체는 발급 응답에 한 번만 표시됩니다. 서버의 비밀 저장소에 보관하고 URL·공개 코드·로그에 넣지 마세요.

curl "$MERA_QUOTES_ORIGIN/api/v1/quotes?limit=12" \
  -H "Authorization: Bearer $MERA_QUOTES_API_KEY"

현재 공급은 권리·출처가 확인된 소량의 영어 원문입니다. 문장별 권리 지역과 허락 범위를 준수해야 하며, 유료 요금제만으로 제3자 권리가 확대되지는 않습니다.

실시간 조회

GET 경로용도
/api/v1/quotes페이지별 문장
/api/v1/quotes/:id문장·출처·권리 상세
/api/v1/quotes/random랜덤 한 문장
/api/v1/quotes/todayUTC 기준 오늘의 문장

목록 필터: q, category, language, kind(historical/original), length(short/medium/long), page, limit. 문장 길이는 공백·문장부호 포함 50자 이하·51~100자·101자 이상입니다. 원저작자(author)와 번역자(translation_author), 원문·언어, 라이선스·허락 범위를 구분합니다. 화면 공개 여부와 상품별 공급 권한은 별도로 검증합니다.

{
  "data": [
    {
      "id": "…",
      "text": "…",
      "author": "…",
      "kind": "historical",
      "source_title": "…",
      "source_locator": "…",
      "rights_license": "public_domain",
      "rights_territory": "KR,US",
      "revision": "1"
    }
  ],
  "total": 6,
  "page": 1,
  "limit": 12
}

위 JSON은 응답 구조 예시이며 실제 콘텐츠 수는 API 응답을 기준으로 합니다.

변경분·철회 동기화

GET /api/v1/changes?cursor=0&limit=100
GET /api/v1/revocations?cursor=0&limit=100
  1. 처음 cursor=0으로 요청하고 응답의 next_cursor를 체크포인트로 보관하세요.
  2. upsert는 해당 revision의 최신 문장을 반영하고 delete는 로컬·캐시·검색 인덱스에서 제거하세요.
  3. 페이지를 모두 반영한 뒤에만 cursor를 저장하세요. 중복 수신도 안전하게 적용해야 합니다.
  4. 스냅샷 사용 전/최소 매일 철회 목록을 확인하세요. 유효한 키의 철회 조회는 무과금이며 실시간 구독 종료 후에도 가능합니다.

별도 라이선스의 스냅샷

GET /api/v1/exports/manifest
GET /api/v1/exports/:version
Authorization: Bearer $MERA_QUOTES_API_KEY

snapshot 이용권이 별도로 필요합니다. 실시간 상품이나 무료 API 키만으로 다운로드할 수 없습니다. manifest의 SHA256과 다운로드 응답의 X-Checksum-SHA256을 검증하고, 버전·권리 범위·철회 cursor를 기록하세요. 라이선스는 주문에 고정한 버전과 조직·앱 범위에 적용됩니다.

파일은 고정 버전입니다. 새 버전은 자동 구매되지 않으며 철회가 반영된 대체 파일의 제공 범위는 상품 약정에 따릅니다. 철회·권리 만료 문장이 있는 구버전은 다시 공급하지 않습니다.

쿼터·오류 처리

성공한 콘텐츠 응답만 조직 단위로 합산합니다. 한도는 X-Quota-Limit, X-Quota-Remaining, X-Quota-Period 응답 헤더에서 확인하세요. 앱별 월 사용량을 집계하며 키 교체로 한도를 우회할 수 없습니다.

개발자 작업 공간에서 조직별 쿼터 현황, 최근 30일의 요청 로그와 키 발급·철회 감사 이력을 확인하세요. 키별 월 집계는 제공하지 않습니다.

상태앱에서 할 일
401키 누락·철회 확인. 재발급 전 호출 중단.
402 / 403현재 상품·조직·다운로드 권한 확인.
404 / 410철회·변경분 확인 후 로컬 표시 제거.
429호출 중단, 재시도 안내 시간과 기간 한도 확인. 자동 초과 결제 없음.
5xx지수 백오프로 제한 재시도. 성공으로 저장하지 않음.
{"error":{"code":"quota_exceeded","message":"…"},"requestId":"…"}

오류 전문·요청 ID는 문의에 사용할 수 있지만 키·쿠키·비밀번호를 함께 보내지 마세요.