Detalha uma estação
const url = 'https://api.radar-sandbox.kitelife.com.br/v1/stations/stn_barra-da-tijuca-01';const options = {method: 'GET', headers: {'X-Api-Key': '<X-Api-Key>'}};
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://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.
Authorizations
Seção intitulada “Authorizations”Parameters
Seção intitulada “Parameters”Path Parameters
Seção intitulada “Path Parameters”Identificador público da estação.
Example
stn_barra-da-tijuca-01Responses
Seção intitulada “Responses”A estação.
Uma estação meteorológica e os metadados necessários para interpretar suas leituras.
object
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.
Nome legível da estação, em português.
object
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.
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.
Fuso IANA do local. Toda data da API é UTC; este campo existe para apresentação no horário local.
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.
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.
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.
Grandezas que esta estação reporta. Um campo de Reading ausente desta lista virá sempre nulo para esta estação.
Examples
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" ]}Headers
Seção intitulada “Headers”Versão do recurso. Reenvie em If-None-Match para receber 304 quando nada mudou.
Chave ausente, inválida ou revogada.
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
URI que identifica o tipo do erro. Estável: é nele que o integrador deve programar, nunca no texto de title.
Resumo legível do tipo do erro.
Explicação específica desta ocorrência.
Identificador da requisição. Cite-o ao abrir um chamado de suporte.
Presente apenas em 422: erros de validação agrupados por campo.
object
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.
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.
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
URI que identifica o tipo do erro. Estável: é nele que o integrador deve programar, nunca no texto de title.
Resumo legível do tipo do erro.
Explicação específica desta ocorrência.
Identificador da requisição. Cite-o ao abrir um chamado de suporte.
Presente apenas em 422: erros de validação agrupados por campo.
object
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.
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."}