Station 지표
GET
/api/v1/stations/{station_id}/metrics
const url = 'https://dev.api.endueos.com/api/v1/stations/stn_01J9ZK3Q8M4XW7D2N5R6T0V1BC/metrics?bucket=hour';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://dev.api.endueos.com/api/v1/stations/stn_01J9ZK3Q8M4XW7D2N5R6T0V1BC/metrics?bucket=hour' \ --header 'Authorization: Bearer <token>'명령 기록을 그때그때 집계한다 (읽기만 — 지표를 저장하거나 주기적으로 모으지 않는다).
기본 to = 지금, from = to − 24시간, bucket = hour. 범위는 31일까지 — 넘거나 from ≥ to 면 400 VALIDATION_ERROR.
파라미터
섹션 제목: “파라미터”경로 파라미터
섹션 제목: “경로 파라미터”station_id
필수
string
예시
stn_01J9ZK3Q8M4XW7D2N5R6T0V1BC쿼리 파라미터
섹션 제목: “쿼리 파라미터”from
string format: date-time
to
string format: date-time
bucket
string
200
섹션 제목: “200”성공.
Media typeapplication/json
object
data
필수
Station 의 명령 지표.
object
station_id
필수
string
from
필수
집계 범위 (from 포함, to 제외).
string format: date-time
to
필수
string format: date-time
bucket
필수
string
totals
필수
object
commands
필수
기간 안에 만든 명령 수.
integer format: int32
succeeded
필수
integer format: int32
failed
필수
integer format: int32
timed_out
필수
integer format: int32
cancelled
필수
integer format: int32
other
필수
그 밖의 상태 — expired·unknown 과 아직 끝나지 않은 명령.
integer format: int32
series
필수
시간순. 명령이 없는 칸도 0 으로 채운다.
Array<object>
시계열 한 칸.
by_command
필수
by_device
필수
명령 수가 많은 순.
Array<object>
object
device_id
필수
Device 의 id — Resource 와 같은 res_ 다 (v0.1.0 이 이미 냈다).
string
commands
필수
integer format: int32
failed
필수
integer format: int32
errors
필수
error_code 가 있는 명령의 코드별 수. 많은 순, 상위 10.
Array<object>
object
error_code
필수
string
count
필수
integer format: int32
meta
필수
object
request_id
필수
string
timestamp
필수
string format: date-time
duration
서버 처리 시간(ms).
integer format: int32
예시
{ "data": { "station_id": "stn_01J9ZK3Q8M4XW7D2N5R6T0V1BC", "bucket": "hour", "by_device": [ { "device_id": "res_01J9ZK3Q8M4XW7D2N5R6T0V1BC" } ] }}400
섹션 제목: “400”요청 형식이 틀렸다 — VALIDATION_ERROR(details.errors[]) 또는 BAD_REQUEST. 본문은 오류 봉투.
401
섹션 제목: “401”인증이 없거나 무효다 — UNAUTHORIZED. 본문은 오류 봉투.
404
섹션 제목: “404”없거나 내 것이 아니다 — *_NOT_FOUND. 본문은 오류 봉투.
429
섹션 제목: “429”한도를 넘었다 — Retry-After 초 뒤에 다시. 본문은 오류 봉투.
500
섹션 제목: “500”서버 오류 — INTERNAL_ERROR. 본문은 오류 봉투.
503
섹션 제목: “503”의존 서비스에 닿지 못했다 — 잠시 뒤 다시. 본문은 오류 봉투.