# DeviceService

Accessible via `iam.devices`. Manages devices for PIN-based authentication.

## Register Device

```typescript
const { device } = await iam.devices.register({ code: 'DEVICE-001' });
// Returns DeviceResponse with device { id, code, secret, ... }
```

## Search Devices

```typescript
const result = await iam.devices.search({ keyword: 'DEVICE' });

// Access results
result.devices.content; // Device[]
result.devices.totalElements; // Total number of results
result.devices.totalPages; // Total number of pages
result.devices.number; // Current page
result.devices.size; // Page size
```

### Search parameters

| Parameter  | Type                    | Description            |
| ---------- | ----------------------- | ---------------------- |
| `keyword`  | `string`                | Free-text search       |
| `pageable` | `{ page, rowsPerPage }` | Pagination (0-indexed) |

## Get Single Device

```typescript
const { device } = await iam.devices.getById('device-id');
const { device } = await iam.devices.getByCode('DEVICE-001');
```

## Update Device

```typescript
await iam.devices.update({
  deviceId: 'device-id',
  code: 'DEVICE-002', // optional
  secret: 'new-secret' // optional
});
```

## Delete Device

```typescript
await iam.devices.delete('device-id');
```
