Menu
Condensed endpoint table, rate limits, and SDK links
> Centralized data exchange hub for real-time flight information sharing across the VATSIM ecosystem.
![Status]()
![Phase]()
![Cost]()
![FIXM]()
> FIXM Migration (2026-01-27): Transitioning to FIXM-aligned column names (actual_off_block_time
> instead of out_utc, etc.). Both column sets populated during 30-day transition. Use ?format=fixm
> for FIXM output. See VATSWIM_FIXM_Field_Mapping.md.
| Phase | Status |
| Phase 0: Infrastructure | ✅ Complete |
| Phase 1: REST API | ✅ Complete |
| Phase 2: WebSocket | ✅ Complete |
| Phase 3: SDKs & Integrations | ✅ Complete (Python, C#, Java, JS) |
| Phase 4: Data Isolation | ✅ Complete — all endpoints query SWIM_API exclusively |
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://perti.vatcscc.org/api/swim/v1/flights?status=active"
pip install -e sdk/python
python examples/basic_example.py YOUR_API_KEY
from swim_client import SWIMClient
client = SWIMClient('your-api-key')
@client.on('flight.departed')
def on_departure(data, timestamp):
print(f"{data.callsign} departed {data.dep}")
client.subscribe(['flight.departed', 'flight.arrived'])
client.run()
const swim = new SWIMWebSocket('your-api-key');
await swim.connect();
swim.subscribe(['flight.departed'], { airports: ['KJFK'] });
swim.on('flight.departed', (data) => {
console.log(${data.callsign} departed ${data.dep});
});
Virtual airlines can push flight sim telemetry via the ingest API:
curl -X POST "https://perti.vatcscc.org/api/swim/v1/ingest/adl" \
-H "Authorization: Bearer swim_par_your_key" \
-H "Content-Type: application/json" \
-d '{
"flights": [{
"callsign": "DLH401",
"dept_icao": "KJFK",
"dest_icao": "EDDF",
"altitude_ft": 35000,
"groundspeed_kts": 485,
"vertical_rate_fpm": -1800
}]
}'
curl -X POST "https://perti.vatcscc.org/api/swim/v1/ingest/adl" \
-H "Authorization: Bearer swim_par_your_key" \
-H "Content-Type: application/json" \
-d '{
"flights": [{
"callsign": "DLH401",
"dept_icao": "KJFK",
"dest_icao": "EDDF",
"out_utc": "2026-01-16T14:30:00Z",
"off_utc": "2026-01-16T14:45:00Z"
}]
}'
| Field | Type | Description |
vertical_rate_fpm | INT | Climb/descent rate (+ = climb, - = descend) |
out_utc | DATETIME | OOOI - Gate departure |
off_utc | DATETIME | OOOI - Wheels up |
on_utc | DATETIME | OOOI - Wheels down |
in_utc | DATETIME | OOOI - Gate arrival |
eta_utc | DATETIME | FMC-calculated ETA |
etd_utc | DATETIME | Expected departure |
Base URL: https://perti.vatcscc.org/api/swim/v1
| Endpoint | Method | Description |
/ | GET | API info (no auth) |
/flights | GET | List flights |
/flight | GET | Single flight by GUFI |
/positions | GET | Bulk positions (GeoJSON) |
/tmi/programs | GET | Active TMI programs (GS/GDP) |
/tmi/controlled | GET | TMI-controlled flights |
/tmi/reroutes | GET | TMI reroute definitions |
/tmi/gs | GET/POST | Ground Stop programs |
/tmi/gs/{id} | GET | Ground Stop details |
/tmi/gs/{id}/flights | GET | Flights affected by GS |
/tmi/gs/{id}/model | POST | Model GS impact |
/tmi/gs/{id}/activate | POST | Activate GS program |
/tmi/gdp | GET/POST | Ground Delay Programs |
/tmi/gdp/{id}/flights | GET | Flights in GDP |
/tmi/gdp/{id}/slots | GET | GDP slot allocation |
/tmi/mit | GET | Miles-In-Trail restrictions |
/tmi/minit | GET | Minutes-In-Trail restrictions |
/tmi/afp | GET | Airspace Flow Programs |
/tmi/entries | GET | TMI restriction entries (MIT, AFP, etc.) |
/tmi/advisories | GET | NTML advisory messages |
/tmi/measures | GET | TMI measures and flow restrictions |
/tmi/routes | GET | TMI public routes |
/tmi/flow | GET | Flow management overview |
/tmi/flow/providers | GET | Flow management providers (ECFMP) |
/tmi/flow/events | GET | Flow events |
/tmi/flow/measures | GET | Flow measures |
/cdm/status | GET | CDM system status |
/cdm/readiness | GET/POST | Pilot readiness status |
/cdm/compliance | GET | CDM compliance monitoring |
/cdm/metrics | GET | CDM performance metrics |
/cdm/airport-status | GET | CDM airport status |
/reference/taxi-times | GET | Airport taxi reference times |
/routes/cdrs | GET | Coded Departure Routes |
/playbook/plays | GET | Playbook route plays |
/playbook/throughput | GET | Playbook route throughput |
/playbook/analysis | GET | Route analysis (PostGIS) |
/metering/{airport} | GET | TBFM metering data for airport |
/metering/{airport}/sequence | GET | Arrival sequence list |
/jatoc/incidents | GET | JATOC incident records |
/splits/presets | GET | Runway configuration presets |
/fea | GET | Flow Evaluation Areas |
/controllers | GET | Active ATC controllers (with vNAS enrichment) |
/controllers?summary=true | GET | Facility staffing summary |
/ingest/adl | POST | Ingest flight data (write access) |
/ingest/track | POST | High-freq position updates (write access) |
/ingest/metering | POST | TBFM metering data (write access) |
/ingest/vnas/controllers | POST | vNAS controller enrichment (write access) |
/ws | WS | Real-time WebSocket |
| Event | Description |
flight.created | New pilot connected |
flight.departed | Wheels up |
flight.arrived | Wheels down |
flight.deleted | Pilot disconnected |
flight.positions | Position batch |
tmi.issued | GS/GDP issued |
tmi.released | TMI ended |
controller.connected | ATC controller logged on |
controller.disconnected | ATC controller logged off |
controller.positions | Controller position batch |
system.heartbeat | Server keepalive |
{
"airports": ["KJFK", "KLAX"],
"artccs": ["ZNY"],
"callsign_prefix": ["AAL", "UAL"]
}
| Tier | Connections | Rate Limit | Write Access |
| public | 5 | 100/min | No |
| developer | 50 | 300/min | No |
| partner | 500 | 3,000/min | Yes |
| system | 10,000 | 30,000/min | Yes |
| Language | Status | Location |
| Python | ✅ Complete | sdk/python/ |
| JavaScript | ✅ Built-in | api/swim/v1/ws/swim-ws-client.js |
| C# | ✅ Complete | sdk/csharp/ |
| Java | ✅ Complete | sdk/java/ |
| Document | Description |
| Connector Guide | Unified guide for integrating external data sources |
| API Documentation | Full API reference |
| vACDM Integration | A-CDM departure milestone integration |
| ECFMP Integration | European flow management data integration |
| SimTraffic Integration | SimTraffic metering integration |
| vNAS Integration | vNAS ERAM/STARS push integration |
| ACARS Integration | ACARS OOOI and datalink integration |
| Simulator Integration | Flight simulator plugin integration |
| Implementation Tracker | Current status |
| AOC Telemetry Transition | Latest changes |
| OpenAPI Spec | REST API spec (import into Postman) |
| Swagger UI | Interactive docs |
| Component | Monthly |
| Azure SQL Basic | $5 |
| WebSocket | $0 |
| Total | $5 |