# Interface CapabilityManifest

Capability manifest describing what a radar can do. This is cacheable - capabilities rarely change at runtime.

#### Example

    {
      "id": "1",
      "make": "Furuno",
      "model": "DRS4D-NXT",
      "characteristics": {
        "maxRange": 88896,
        "minRange": 116,
        "supportedRanges": [116, 231, 463, ...],
        "hasDoppler": true
      },
      "controls": [
        {"id": "power", "type": "enum", ...},
        {"id": "gain", "type": "compound", ...}
      ]
    }

interface CapabilityManifest {
characteristics: RadarCharacteristics;
controls: ControlDefinitionV5[];
id: string;
make: string;
model: string;
constraints?: ControlConstraint[];
firmwareVersion?: string;
modelFamily?: string;
serialNumber?: string;
supportedFeatures?: SupportedFeature[];
}

- Defined in radarapi.ts:189

##### Index

### Properties

characteristics
controls
id
make
model
constraints?
firmwareVersion?
modelFamily?
serialNumber?
supportedFeatures?

## Properties

### characteristics

characteristics: RadarCharacteristics

Hardware characteristics

- Defined in radarapi.ts:205

### controls

controls: ControlDefinitionV5[]

Available controls with their schemas

- Defined in radarapi.ts:208

### id

id: string

Radar ID

- Defined in radarapi.ts:191

### make

make: string

Manufacturer name

- Defined in radarapi.ts:193

### model

model: string

Model name

- Defined in radarapi.ts:195

### `Optional` constraints

constraints?: ControlConstraint[]

Control dependencies/constraints

- Defined in radarapi.ts:211

### `Optional` firmwareVersion

firmwareVersion?: string

Firmware version (optional)

- Defined in radarapi.ts:202

### `Optional` modelFamily

modelFamily?: string

Model family (optional)

- Defined in radarapi.ts:198

### `Optional` serialNumber

serialNumber?: string

Serial number (optional)

- Defined in radarapi.ts:200

### `Optional` supportedFeatures

supportedFeatures?: SupportedFeature[]

Optional features this provider implements.

Indicates which optional API features are available:

- 'arpa': ARPA target tracking (GET /targets, POST /targets, etc.)
- 'guardZones': Guard zone alerting (GET /guardZones, etc.)
- 'trails': Target trails/history (GET /trails)
- 'dualRange': Dual-range simultaneous display

Note: This declares API capabilities, not hardware. A radar may have hardware Doppler support (characteristics.hasDoppler) but the provider might not implement the trails API endpoint.

- Defined in radarapi.ts:226