# Fetch contacts dataset

The NTMS microwave propagation service publishes its full amateur-radio contact (QSO) calibration dataset as a single public JSON endpoint. No authentication is required.

## Endpoint

```
GET https://prop.w5isp.com/api/contacts/map
```

The response is pre-gzipped when the client sends `Accept-Encoding: gzip` (roughly 1 MB compressed, 5 MB decompressed). Cached at the origin for 60 s.

## Response shape

A single JSON array where each element is a fixed-length tuple:

```
[lat1, lon1, lat2, lon2, band_mhz, callsign1, callsign2, mode, distance_km, qso_timestamp_iso8601, id_uuid]
```

- `lat1/lon1` and `lat2/lon2` are the two station locations (WGS84 degrees).
- `band_mhz` is an integer in MHz (e.g. `1296`, `10000`, `24000`).
- `callsign1/callsign2` are uppercase amateur callsigns or `null` if unknown.
- `mode` is a string (`CW`, `SSB`, `FT8`, …) or `null`.
- `distance_km` is a number or `null`.
- `qso_timestamp_iso8601` is `YYYY-MM-DDTHH:MM:SSZ`.
- `id_uuid` is the stable UUID for the contact; fetch details at `/contacts/{id_uuid}`.

## Machine-readable specs

- OpenAPI 3.0 spec: `GET /openapi.json`
- API catalog (RFC 9727): `GET /.well-known/api-catalog`
