# Resolve how ingest routes device serials

Canonical page: https://docs.ovok.com/api/slim/device/resolve-how-ingest-routes-device-serials

`POST /v1/slim/device/routing`

For each serial you send, returns the manufacturer and model that ingest files it under, and whether ingest accepts the serial at all. Use it to check serials before you create devices or send data.

**Auth:** bearer token. The caller must be a practitioner, an admin or a System Owner, and needs `Device:read`.

## Behaviour

- Send 1 to 500 serials, each at most 64 characters.
- Rows come back in the order you sent them.
- `routable: false` means ingest rejects the serial with `400`. `manufacturer` and `model` are then `null`.
- The serial alone decides the result. A manufacturer that ingest only accepts when named explicitly, such as Masimo, is never inferred from a serial.
- Nothing is read or written. The result is computed from the serial only.

## Example

```bash
curl -X POST 'https://api.sandbox.ovok.com/v1/slim/device/routing' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' \
  -H 'Content-Type: application/json' \
  -d '{"serials": ["3001000", "12,34"]}'
```

```json
{
  "resources": [
    { "serial": "3001000", "manufacturer": "Sleepiz", "model": "OnePlus", "routable": true },
    { "serial": "12,34", "manufacturer": null, "model": null, "routable": false }
  ]
}
```
