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/pingCheck 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/qsoSend one or more QSOs. Accepts a single JSON object, an array, or {qsos:[...]}.
QSO fields
| Field | Required | Description |
|---|---|---|
callsign_worked | Required | Callsign worked (uppercase). The only mandatory field. |
mode | Optional | Operating mode: only FT2 is accepted (FT2, MFSK or omitted). Other modes are rejected. |
datetime | Optional | QSO date and time in UTC (ISO 8601, e.g. 2026-06-28T12:00:00Z). If omitted, the current time is used. |
frequency | Optional | Frequency in MHz (e.g. 14.074). |
band | Optional | Band (e.g. 20m). If omitted, it is derived from the frequency. |
rst_sent, rst_rcvd | Optional | Signal reports sent and received (e.g. -15). |
grid_worked | Optional | Maidenhead grid locator of the station worked (e.g. JO31). |
dxcc_worked | Optional | DXCC entity number. If omitted, it is derived from the callsign prefix. |
country_worked | Optional | Country name. If omitted, it is derived from the callsign prefix. |
comment | Optional | Free-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/recentPublic 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
| Code | Description |
|---|---|
401 | Missing or invalid API key. |
403 | Email address not confirmed yet. |
422 | QSO not in FT2 mode: only FT2 is accepted. |
413 | Too many QSOs in a single request (max 1000). |
429 | Too many requests: slow down. |