---
title: "변경 피드"
method: GET
path: "/api/v1/changes"
---

# 변경 피드

`GET /api/v1/changes`

## Request

- Base URL: `https://aiwave.elopstudio.com`
- URL: `https://aiwave.elopstudio.com/api/v1/changes`
- Auth: HTTP bearer

since 에 지난번 응답의 latest 를 넣으면 그 뒤에 바뀐 것만 오래된 순으로 온다. since 없이 부르면 최신순이다.

## Query parameters

- `since` integer
- `before` integer
- `limit` integer
- `type` 'new_model' | 'price_change' | 'api_change' | 'open_source_surge' | 'deprecation'
- `model` string

## Response `200`

변경 목록

- object
  - `items` ChangeEvent[]
    - `id` string, uuid, required
    - `eventType` 'new_model' | 'price_change' | 'api_change' | 'open_source_surge' | 'deprecation', required
    - `title` string, required
    - `summary` string, nullable
    - `beforeValue` string, nullable: 가격 변경 전 값 등
    - `afterValue` string, nullable: 신규 모델이면 카탈로그 ID 또는 Hugging Face 저장소 ID. 발견한 출처에 따라 형태가 다르다.
    - `sourceUrl` string, uri, nullable
    - `sourceName` string
    - `verificationStatus` 'official' | 'pending' | 'reported' | 'rejected': official 은 벤더 자신의 채널에서 확인한 것. pending 은 중개 카탈로그 등 간접 근거라 검수 대기. reported 는 제3자 매체나 커뮤니티가 전한 것으로, 출처에 그렇게 실렸다는 사실까지만 확인했다. 알림과 웹훅은 official·pending 만 내보낸다.
    - `official` boolean: verificationStatus 가 official 인지
    - `detectedAt` string, date-time, required: 변화가 일어난 시각(출처 기준). 표시용이다: 폴링 커서로 쓰면 안 된다. 커서는 응답의 latest.
    - `publishedAt` string, date-time, nullable
    - `model` object, required
      - `slug` string
      - `name` string
      - `company` string
      - `accentColor` string
  - `nextCursor` integer, nullable
  - `latest` integer, nullable: 다음 요청의 since 로 쓴다. 받은 것이 없으면 null.

## Other responses

- `401`: 키 없음·잘못됨·폐기됨
- `429`: 하루 한도 초과. retry-after 헤더 참고.

---

[API](https://skmtc.dev/elopstudio/apis/ai-wave-api.md) · [All operations](https://skmtc.dev/elopstudio/apis/ai-wave-api/llms.txt) · [OpenAPI document](https://skmtc.dev/elopstudio/apis/ai-wave-api/revisions/5598fac87fef?raw)
