# 공개 시세와 Feed

이 페이지의 API는 API 키가 필요 없습니다. 모든 REST 요청의 기본 주소는 `https://api.btxpro.co.kr`입니다. 상세 필드와 응답 모델은 [전체 엔드포인트](/api-docs/generated/rest.md)와 [레퍼런스](/api-docs/reference.md)를 확인하세요.

## 시스템과 마켓

| 메서드 | 경로 | 용도 |
| --- | --- | --- |
| GET | `/health` | 프로세스 liveness. 정상 시 본문 없는 200 |
| GET | `/ready` | 의존성과 거래 서비스 준비 여부. 미준비 시 503 |
| GET | `/v1/time` | 서버 시간과 서명 시간 차이 확인 |
| GET | `/v1/currencies` | 통화 메타데이터 |
| GET | `/v1/markets` | 마켓 목록 |
| GET | `/v1/markets/{symbol}` | 마켓 상세 |

`/health`가 정상이어도 거래 준비를 보장하지는 않습니다. 클라이언트는 실제 API의 오류 응답도 처리해야 합니다.

## 시세 조회

| 경로 | 주요 파라미터 | 설명 |
| --- | --- | --- |
| `/v1/market/ticker` | `symbol` 선택 | 생략하면 전체 마켓 시세 |
| `/v1/market/orderbook` | `symbol` 필수, `tick`, `limit` | tick 0~4, 기본 0. 기본 100개, 최대 1000개 |
| `/v1/market/trades` | `symbol` 필수, `limit` | 최근 체결. 기본 100개, 최대 1000개 |
| `/v1/market/candles` | `symbol` 필수, `interval`, `limit`, `startTime`, `endTime` | interval 기본 1h, 기본 500개, 최대 1000개 |

모두 GET입니다. 캔들 조회의 시작 시각은 포함, 종료 시각은 미포함입니다. 허용되는 캔들 interval 값은 [파라미터 명세](/api-docs/generated/rest.md#getcandles)에서 확인합니다.

```sh
curl 'https://api.btxpro.co.kr/v1/market/orderbook?symbol=BTC-USDT&tick=0&limit=20'
curl 'https://api.btxpro.co.kr/v1/market/candles?symbol=BTC-USDT&interval=1h&limit=24'
```

실시간으로 제공되는 공개 채널은 현재 **ticker 하나**입니다. 호가·체결·캔들의 실시간 WS 채널은 현재 제공하지 않으므로 위 REST API로 조회합니다.

## Feed

| 메서드 | 경로 | 용도 |
| --- | --- | --- |
| GET | `/v1/feed/home` | 추천·최신·인기 등 Feed 홈 구성 |
| GET | `/v1/feed/categories` | 활성 카테고리 목록 |
| GET | `/v1/feed/articles` | 공개 글 목록·검색·정렬·cursor 조회 |
| GET | `/v1/feed/articles/{feedArticleId}` | 글 상세와 Markdown 본문 |
| POST | `/v1/feed/articles/{feedArticleId}/view` | 공개 글 조회수 증가 |

```sh
curl 'https://api.btxpro.co.kr/v1/feed/categories'
curl 'https://api.btxpro.co.kr/v1/feed/articles?limit=20'
```

글 상세의 식별자는 `feedArticleId`입니다. URL slug를 ID 대신 전달하지 마세요. 글 목록의 `q` 검색어는 2~80자 범위이며 `sort`·`cursor`와 함께 보낼 수 없습니다. 검색은 모든 유효 검색어를 포함하는 글을 찾고, 제목 → 요약 → 본문 일치 순으로 정렬합니다. 조회수 증가 요청은 공개 API지만 데이터를 변경합니다. 단순 목록 조회를 위해 호출하지 마세요.
