인증, 스코프 & 플랜
API 키
키는 세 가지 방법으로 보낼 수 있으며, 모든 REST 엔드포인트와 WebSocket에서 똑같이 받습니다: Authorization: Bearer xsf_…, X-API-Key 헤더, 또는 URL의 ?api_key=(WebSocket 핸드셰이크에서 헤더를 설정할 수 없는 브라우저용). 여러 개를 보내면 Authorization, 다음 X-API-Key, 마지막으로 api_key 순으로 사용합니다. 존재하지 않는 키와 폐기된 키는 구분됩니다: invalid_api_key는 오타나 이전 시크릿을 확인하라는 뜻이고, key_revoked는 키를 발급한 쪽에 문의하라는 뜻입니다.
스코프
키에는 스코프가 있습니다. 스코프 밖의 호출은 부족한 스코프를 명시한 {"error":{"code":"scope_required"}}와 함께 403을 반환합니다. GET /v1/account는 여러분의 스코프를, GET /v1/meta/scopes는 전체 스코프를 나열합니다.
| 스코프 | 허용 범위 |
|---|---|
| targets:read | 이 키가 모니터링하는 계정 목록 조회 |
| targets:write | 모니터링 대상 계정을 개별 또는 배치로 추가, 변경, 제거 |
| keywords:read | 키워드 목록 조회 및 search.match 이벤트 수신 |
| keywords:write | 키워드 추가 및 제거 |
| stream | WebSocket 열기 |
| replay | last_id와 GET /v1/events 사용 |
| webhook | 웹훅 전달 설정 |
| reads | 프로필, 게시물, 팔로워, 팔로잉의 온디맨드 REST 읽기. 크레딧 소모 |
관리용 스코프는 저희 운영자 전용이며 별도의 비공개 인터페이스에서 제공됩니다. 고객 키에는 절대 부여되지 않습니다.
플랜
플랜은 스코프와 상한의 프리셋이며, 어떤 키든 개별적으로 조정할 수 있습니다. 실제 매트릭스는 GET /v1/meta/plans에 있습니다. 가격은 여기에 게시하지 않습니다.
| 플랜 | 모니터링 대상 | 키워드 | 연결 수 | 요청 / 분 | 스코프 |
|---|---|---|---|---|---|
| starter | 50 | 0 | 2 | 300 | targets:read, targets:write, stream, replay, reads, webhook |
| pro | 200 | 20 | 5 | 600 | targets:read, targets:write, stream, replay, reads, webhook, keywords:read, keywords:write |
| scale | 1000 | 100 | 10 | 900 | targets:read, targets:write, keywords:read, keywords:write, stream, replay, webhook, reads |
| ultra | 2000 | 300 | 20 | 1200 | targets:read, targets:write, keywords:read, keywords:write, stream, replay, webhook, reads |