Pular para o conteúdo

Detalha uma estação

GET
/stations/{stationId}
curl --request GET \
--url https://api.radar-sandbox.kitelife.com.br/v1/stations/stn_barra-da-tijuca-01 \
--header 'X-Api-Key: <X-Api-Key>'

Metadados de uma estação: onde fica, o que mede, em que estado está.

Dois campos merecem atenção antes de interpretar qualquer leitura. measurements diz quais grandezas esta estação reporta, e o que não estiver na lista virá sempre ausente. location.anemometerHeightMeters diz a que altura o vento é medido, e vento a 3 m não é comparável a vento a 10 m, que é a altura de referência da OMM.

stationId
required
string

Identificador público da estação.

Example
stn_barra-da-tijuca-01

A estação.

Media typeapplication/json
Station

Uma estação meteorológica e os metadados necessários para interpretar suas leituras.

object
id
required

Identificador público e estável. Use este valor em todas as rotas, filtros e bindings AMQP. Ele identifica o ponto de medição, não o equipamento: a troca do hardware instalado no local preserva o id.

string
name
required

Nome legível da estação, em português.

string
location
required
object
latitude
required
number
>= -90 <= 90
longitude
required
number
>= -180 <= 180
elevationMeters

Altitude do terreno, em metros acima do nível do mar. Sem ela a plataforma não consegue reduzir a pressão ao nível do mar, e Reading.pressureSeaLevelHpa fica ausente.

number
anemometerHeightMeters

Altura do anemômetro, em metros acima do solo. O vento é reportado como medido nesta altura, sem normalização: vento a 6 m não é comparável a vento a 12 m, nem à previsão de modelos meteorológicos, que usam a referência de 10 m da OMM. Para comparar estações entre si ou com previsão, corrija pela altura.

number
timezone

Fuso IANA do local. Toda data da API é UTC; este campo existe para apresentação no horário local.

string
status
required

Estado operacional. online: publicando normalmente. offline: sem conexão. A estação não tem bateria, então queda de energia no local a derruba por inteiro e o estado muda em segundos. degraded: conectada, mas com falhas de leitura do sensor produzindo lacunas na série. maintenance: intervenção programada. decommissioned: desativada em definitivo. Em qualquer estado o histórico permanece consultável.

string
Allowed values: online offline degraded maintenance decommissioned
reportingIntervalSeconds

Intervalo nominal entre leituras. Use este valor para dimensionar polling e para detectar lacunas, não presuma um valor fixo, ele varia por modelo de estação.

integer
>= 1
lastReadingAt

ObservedAt da leitura mais recente conhecida. A diferença entre este valor e o instante atual é a forma mais confiável de medir se a estação está de fato produzindo dados.

string format: date-time
measurements

Grandezas que esta estação reporta. Um campo de Reading ausente desta lista virá sempre nulo para esta estação.

Array<string>
Allowed values: windSpeedKnots windGustKnots windDirectionDegrees temperatureCelsius humidityPercent pressureAbsoluteHpa pressureSeaLevelHpa rainRateMmPerHour uvIndex
Examples
ExampleestacaoOnline

Estação online, com todos os sensores

{
"id": "stn_barra-da-tijuca-01",
"name": "Barra da Tijuca, Posto 4",
"location": {
"latitude": -23.0122,
"longitude": -43.3654,
"elevationMeters": 4,
"anemometerHeightMeters": 6
},
"timezone": "America/Sao_Paulo",
"status": "online",
"reportingIntervalSeconds": 8,
"lastReadingAt": "2026-08-26T17:42:08Z",
"measurements": [
"windSpeedKnots",
"windGustKnots",
"windDirectionDegrees",
"temperatureCelsius",
"humidityPercent",
"pressureAbsoluteHpa",
"pressureSeaLevelHpa",
"rainRateMmPerHour",
"uvIndex"
]
}
ETag
string

Versão do recurso. Reenvie em If-None-Match para receber 304 quando nada mudou.

Chave ausente, inválida ou revogada.

Media typeapplication/problem+json
Problem

Corpo de erro conforme RFC 9457 (Problem Details for HTTP APIs). Toda resposta 4xx e 5xx da API usa este formato, com Content-Type application/problem+json. O código de negócio viaja na extensão code, no formato Recurso.Motivo.

object
type
required

URI que identifica o tipo do erro. Estável: é nele que o integrador deve programar, nunca no texto de title.

string format: uri
title
required

Resumo legível do tipo do erro.

string
status
required
integer
>= 100 <= 599
detail

Explicação específica desta ocorrência.

string
instance
string format: uri-reference
traceId

Identificador da requisição. Cite-o ao abrir um chamado de suporte.

string
errors

Presente apenas em 422: erros de validação agrupados por campo.

object
key
additional properties
Array<string>
code

Código de negócio no formato Recurso.Motivo. É o valor a usar em lógica condicional quando o type não for específico o bastante. Presente em erros de regra de negócio; ausente em falhas genéricas de protocolo.

string
Example
{
"type": "https://docs.radar.kitelife.com.br/errors/unauthorized",
"title": "Credencial inválida",
"status": 401,
"code": "ApiKey.NotRecognized",
"detail": "A chave enviada em X-Api-Key não foi reconhecida."
}

Estação inexistente ou fora do escopo da sua chave.

Media typeapplication/problem+json
Problem

Corpo de erro conforme RFC 9457 (Problem Details for HTTP APIs). Toda resposta 4xx e 5xx da API usa este formato, com Content-Type application/problem+json. O código de negócio viaja na extensão code, no formato Recurso.Motivo.

object
type
required

URI que identifica o tipo do erro. Estável: é nele que o integrador deve programar, nunca no texto de title.

string format: uri
title
required

Resumo legível do tipo do erro.

string
status
required
integer
>= 100 <= 599
detail

Explicação específica desta ocorrência.

string
instance
string format: uri-reference
traceId

Identificador da requisição. Cite-o ao abrir um chamado de suporte.

string
errors

Presente apenas em 422: erros de validação agrupados por campo.

object
key
additional properties
Array<string>
code

Código de negócio no formato Recurso.Motivo. É o valor a usar em lógica condicional quando o type não for específico o bastante. Presente em erros de regra de negócio; ausente em falhas genéricas de protocolo.

string
Example
{
"type": "https://docs.radar.kitelife.com.br/errors/station-not-found",
"title": "Estação não encontrada",
"status": 404,
"code": "Station.NotFound",
"detail": "Nenhuma estação com id stn_inexistente-99."
}