# Ler dados de um sinal (https://docs.pulsarml.com/pt/v1/api-reference/signals/get-machines-machine_uuid-signals-public_id)

Devolve os pontos agregados de um sinal de sensor em bruto.

As amostras são agrupadas em intervalos antes de serem devolvidas. A largura de cada intervalo é `agg_period` x `agg_unit` (`agg_period=15`, `agg_unit=m` é um intervalo de 15 minutos) e `agg_function` define como são reduzidas as amostras dentro de um intervalo.

Por predefinição, os pontos são devolvidos como uma lista `data` de objetos `{timestamp, value}`. Passe `transpose=true` para receber, em vez disso, dois arrays do mesmo comprimento, `timestamps` e `values`, em que `values[i]` corresponde a `timestamps[i]`. Contém os mesmos pontos numa resposta mais pequena.

Aplicam-se dois limites, e ambos rejeitam o pedido em vez de truncar a resposta: a janela entre `start_time` e `end_time` não pode exceder **7 dias**, e uma consulta não pode produzir mais de **12 000 pontos**. Os valores predefinidos (`agg_unit=s`, `agg_period=1`) atingem o limite de pontos em menos de três horas e meia, por isso a maioria das chamadas define-os explicitamente.

## `GET /v1/machines/{machine_uuid}/signals/{public_id}`

Base URLs:
- `https://draco.prod.pulsarml.com` — Produção
- `https://draco.dev.pulsarml.com` — Desenvolvimento (sandbox)

Authentication: send your API key in the `x-api-key` header.

### Path parameters

- `machine_uuid` (string (uuid), required) — O `uuid` da máquina, tal como devolvido por `GET /v1/machines`.
- `public_id` (string (uuid), required) — O ID público.

### Query parameters

- `start_time` (string (date-time), required) — Filtra pela hora de início.
- `end_time` (string (date-time), required) — Filtra pela hora de fim.
- `agg_unit` ("s" | "m" | "h" | "d", optional, default `"s"`) — Filtra pela unidade de agregação.
- `agg_period` (integer, optional, default `1`, >= 1) — Filtra pelo período de agregação.
- `agg_function` ("avg" | "max" | "min" | "sum" | "count", optional, default `"avg"`) — Filtra pela função de agregação.
- `transpose` (boolean, optional, default `false`) — Devolve os arrays paralelos `timestamps` e `values` em vez de uma lista de pontos `{timestamp, value}`.

### Responses

#### 200 — Os pontos agregados da janela pedida: uma lista `data` de pontos `{timestamp, value}`, ou os arrays paralelos `timestamps` e `values` quando `transpose=true`

One of 2 shapes — shape 1: object (`GetSignalDataResponseV1`)

- `machine_uuid` (string (uuid), required, e.g. `"01748f7c-9688-7abc-8def-0123456789ab"`) — O `uuid` da máquina, tal como devolvido por `GET /v1/machines`.
- `public_id` (string (uuid), required)
- `name` (string, required)
- `agg_unit` ("s" | "m" | "h" | "d", required)
- `agg_period` (integer, required)
- `agg_function` ("avg" | "max" | "min" | "sum" | "count", required)
- `data` (array of object, required)
  - `timestamp` (string (date-time), required)
  - `value` (number, required)

One of 2 shapes — shape 2: object (`GetTransposedSignalDataResponseV1`)

- `machine_uuid` (string (uuid), required, e.g. `"01748f7c-9688-7abc-8def-0123456789ab"`) — O `uuid` da máquina, tal como devolvido por `GET /v1/machines`.
- `public_id` (string (uuid), required)
- `name` (string, required)
- `agg_unit` ("s" | "m" | "h" | "d", required)
- `agg_period` (integer, required)
- `agg_function` ("avg" | "max" | "min" | "sum" | "count", required)
- `timestamps` (array of string (date-time), required) — Hora de início de cada intervalo, por ordem crescente.
- `values` (array of number, required) — Valor agregado de cada intervalo; `values[i]` corresponde a `timestamps[i]`.

#### 422 — Erro de validação

Type: object (`HTTPValidationError`)

- `detail` (array of object, optional)
  - `loc` (array of string | integer, required)
  - `msg` (string, required)
  - `type` (string, required)
  - `input` (any, optional)
  - `ctx` (object, optional)

### Example request

```bash
curl -X GET 'https://draco.prod.pulsarml.com/v1/machines/<machine_uuid>/signals/<public_id>?start_time=2026-01-01T00%3A00%3A00Z&end_time=2026-01-02T00%3A00%3A00Z' \
  -H 'x-api-key: <YOUR_API_KEY>'
```