# List machines (https://docs.pulsarml.com/v1/api-reference/machines/get-machines)

Return every machine the caller's company can see.

Machines are the entry point to the rest of the API. Signals take the `uuid` returned
here; production logs, nominal speeds, realtime and reports still take the integer `id`.
`uuid` is the machine's stable public identifier; it is null for machines that do not
have one yet, and those cannot be queried for signals.
The list is not paginated and takes no filters — it is scoped to the company
resolved from the credential, so there is no company parameter to pass.

## `GET /v1/machines`

Base URLs:
- `https://draco.prod.pulsarml.com` — Production
- `https://draco.dev.pulsarml.com` — Development (sandbox)

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

### Responses

#### 200 — Every machine visible to the authenticated company

Type: array of object

- `id` (integer, required, e.g. `1`) — The unique identifier for the machine.
- `uuid` (string (uuid), required, nullable, e.g. `"01748f7c-9688-7abc-8def-0123456789ab"`) — The stable public identifier for the machine. Null for machines that do not have one yet.
- `name` (string, required, e.g. `"machine 1"`) — The name of the machine.
- `externalName` (string, optional, nullable, e.g. `"EXT-1"`) — The external name of the machine, if any.
- `isActive` (boolean, required, e.g. `true`) — Whether the machine is currently active.
- `isCountEnabled` (boolean, required, e.g. `true`) — Whether counting is enabled for the machine.

### Example request

```bash
curl -X GET 'https://draco.prod.pulsarml.com/v1/machines' \
  -H 'x-api-key: <YOUR_API_KEY>'
```