Log Online API

API documentation for sending your FT2 QSOs to community.ft2.it from an external client (such as FT2 Log Bridge) or your own script.

Authentication

Every request requires your personal API key, which you generate from the Dashboard. Send it in the X-API-Key header or as a Bearer token:

X-API-Key: ft2_xxxxxxxxxxxxxxxxxxxx
Authorization: Bearer ft2_xxxxxxxxxxxxxxxxxxxx

Base URL: https://community.ft2.it

Your API key is personal: anyone who has it can send QSOs on your behalf. Never share it.
Get your API key

Endpoints

GET /api/ping

Check that your API key is valid. Returns your callsign and member number.

curl -H "X-API-Key: YOUR_KEY" https://community.ft2.it/api/ping
{ "ok": true, "callsign": "IU8LMC", "member_number": 1 }
POST /api/qso

Send one or more QSOs. Accepts a single JSON object, an array, or {qsos:[...]}.

QSO fields
FieldRequiredDescription
callsign_workedRequiredCallsign worked (uppercase). The only mandatory field.
modeOptionalOperating mode: only FT2 is accepted (FT2, MFSK or omitted). Other modes are rejected.
datetimeOptionalQSO date and time in UTC (ISO 8601, e.g. 2026-06-28T12:00:00Z). If omitted, the current time is used.
frequencyOptionalFrequency in MHz (e.g. 14.074).
bandOptionalBand (e.g. 20m). If omitted, it is derived from the frequency.
rst_sent, rst_rcvdOptionalSignal reports sent and received (e.g. -15).
grid_workedOptionalMaidenhead grid locator of the station worked (e.g. JO31).
dxcc_workedOptionalDXCC entity number. If omitted, it is derived from the callsign prefix.
country_workedOptionalCountry name. If omitted, it is derived from the callsign prefix.
commentOptionalFree-text note for the QSO.
Example (curl)
curl -X POST https://community.ft2.it/api/qso \
  -H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"callsign_worked":"DL1ABC","datetime":"2026-06-28T12:00:00Z","mode":"FT2","band":"20m","frequency":14.074,"grid_worked":"JO31"}'
Response
{ "ok": true, "received": 1, "imported": 1, "duplicates": 0, "rejected_non_ft2": 0, "new_awards": [] }
GET /api/recent

Public feed (no key required): the most recent QSOs logged live in the last 24 hours.

Important notes

  • Only FT2 QSOs are accepted: other modes (FT8, FT4, ...) are rejected.
  • You must have confirmed your email address, otherwise sending is blocked (error 403).
  • Duplicate QSOs (same member, callsign, date and time) are ignored automatically.
  • Up to 1000 QSOs per request; rate limit about 240 requests per minute per IP.
  • If you do not provide DXCC/country, they are derived from the callsign prefix.

Common errors

CodeDescription
401Missing or invalid API key.
403Email address not confirmed yet.
422QSO not in FT2 mode: only FT2 is accepted.
413Too many QSOs in a single request (max 1000).
429Too many requests: slow down.

Desktop client guide Get your API key