What is VA-Link
Virtual Airlines now have their OWN API!!!!!
Any Virtual Airline can now integrate with SayIntentions.AI -- They just need to reach out to us to obtain an API key, and we'll get them setup to use the new API.
Once established, your customers get the following features:
- Custom Callsigns: ATC will refer to them by the callsign of YOUR airline, when they file a flight-plan with your virtual-airline ICAO code on Simbrief.
- Dedicated Dispatcher: Your pilots can contact your OWN company dispatcher on a dedicated frequency. The dispatcher can answer any question related to your airline, the pilot, their flight, their profile, or literally ANY other information you want. (You can even choose the name and voice of your dispatcher)
- Custom Cabin Crew: Cabin-crew behavior and announcements will be modified to match YOUR airline, AND they will know everything there is to know about the flight, route, captain, etc. Customize what they know, what they say, and their personalities. (Think of it like being able to feed them your crew training manual).
- Enhanced Co-Pilot: The Co-Pilot behavior and knowledge can be supplemented as well. You can add any context/knowledge/info to the co-pilot's AI "brain" that you want. (So the co-pilot understands the route, the airline rules and regulations, etc.).
- SkyOps Integration: The SkyOps dispatcher context window can ALSO be modified with similar information.
- Customized App Interface: We'll show your VA logo in the top-right corner of the SayIntentions.AI app, for any customers who've linked their account to your VA.
The end result is a COMPLETE customization of the SayIntentions.AI experience -- Make it so every interaction with the AI Ecosystem matches the information, profile, and personality of YOUR Airline!!!!
Integration is EXTREMELY simple. Using a single "curl" command, you can feed all of the above information into the flight context window. (You can also update the information as often as you want). Simply read the customer's API key out of a local file (flight.json) -- attach your OWN API key, and assemble a basic JSON packet with all of the above data.
Your VA will be fully integrated into SayIntentions with less than 60 minutes of work.
The more data you add, the smarter and more sophisticated the integration becomes.
How do I get started?
- Contact SayIntentions.AI support to register your virtual airline and obtain your VA API key.
- Review the complete API documentation to understand the integration.
- Implement the simple curl command or use our JavaScript wrapper to start customizing your pilots' experience.
- Test with your pilots and refine the data based on feedback.
Timeline: Most virtual airlines can complete their integration in under 60 minutes once they have their VA API key.
What information can I customize?
When setting up your Virtual Airline, you can decide what information is passed to the AI for use in briefings, announcements, and operations.
Different roles have different kinds of data available — here’s how it breaks down:
Crew Prompts
Customize the information available to your cabin crew so they can make announcements and reflect your airline’s unique culture.
Examples of data you can include:
- Service standards: greetings, how passengers should be addressed, signature amenities
- Airline-specific safety rules or traditions
- Passenger notes: VIPs, unaccompanied minors, sports charters, loyalty members
- Flight context: route highlights, flight nicknames, themed service, gate info
- Airline culture: humor style, rituals, quirks, or traditions unique to your VA
Dispatcher Prompts
Customize the operational data packet used to brief flights and ensure the AI has accurate technical details.
Examples of data you can include:
- Flight identification: flight number, callsign, aircraft type/registration
- Route data: filed route, cruise altitude, alternates, STAR/SID assignments
- Fuel planning: load breakdown, contingency, alternates, reserves, fuel prices
- Gate and ground contacts: ramp, fueling, operations staff with phone/email
- Weather and NOTAMs: departure/arrival conditions, runway closures, enroute hazards
- Aircraft status: MEL/CDL items, deferred maintenance
- Passenger load: headcount, VIPs, UMs, special handling requirements
- Operational policies: required position reports, hourly checks, airline-specific procedures
Co-Pilot Prompts
Customize the operational snapshot your co-pilot has access to, mixing technical flight details with FO context or personality.
Examples of data you can include:
- Flight identification: flight number, callsign, aircraft type/registration
- Route data: filed route, altitude profile, alternates, STAR/SID
- Fuel & performance: trip, contingency, reserves, weights, balance
- Weather: departure, destination, and enroute conditions that affect workload
- NOTAMs: closures, outages, restrictions relevant to the flight
- Aircraft status: MEL/CDL items, deferred maintenance notes
- Passenger & cargo: headcount, VIPs, charters, cargo notes
- Operational notes: check-in points, company-specific requirements
- Personality context: FO quirks, preferences, or VA traditions (e.g. trivia, logbook habits)
SkyOps / Mission Prompts
For VAs that focus on missions like search and rescue, firefighting, or cargo relief flights, you can inject mission-specific data.
Examples of data you can include:
- Mission identification: type, callsign, aircraft/registration
- Tasking details: objective (SAR grid, fire suppression drop zone, supply run)
- Route & area of ops: departure/destination, loiter zones, search grids, altitude blocks
- Fuel & loadout: mission payloads (water tanks, medical supplies, gear) and endurance
- Weather & hazards: conditions affecting visibility, smoke, icing, turbulence
- NOTAMs & restrictions: TFRs, altitude corridors, airspace closures
- Ground coordination: ATC, mission base, rescue/fire coordinators with contact info
- Operational notes: reporting frequency, mission success criteria, VA-specific requirements
- Mission flavor: cultural quirks or traditions unique to your SkyOps division
In short: you can customize everything from quirky airline traditions to full dispatcher packets, co-pilot context, and specialized mission data. This flexibility is what lets your Virtual Airline feel authentic, unique, and alive.
What information is needed to get setup?
Reach out to va@sayintentions.ai with the following information about your Virtual Airline:
- The name of your airline ("Brian Airlines International")
- The short name of your airline ("Brian Air")
- Your airline ICAO (Can be real or made-up). ("BRA")
- Your airline callsign ("Brian-Bird")
- Your airline logo in at least 500px wide, PNG format, transparent background
How does the API work?
The VA-Link API uses a simple HTTP POST request to the importVAData endpoint. Here's a basic example:
curl -X POST "https://apipri.sayintentions.ai/sapi/importVAData" -H "Content-Type: application/x-www-form-urlencoded" --data-urlencode "api_key=PILOT_API_KEY" --data-urlencode 'payload={ "va_api_key": "YOUR_VA_API_KEY", "crew_data": "Your custom crew instructions...", "dispatcher_data": "Your operational procedures...", "copilot_data": "Your copilot personality and knowledge...", "skyops_data": "Your specialized operations data..." }'
Key Points:
- You need TWO API keys: the pilot's regular API key AND your VA API key
- The pilot's API key can be extracted from their flight.json file (or the pilot can enter it into your settings, manually).
- You can update any combination of the four data fields
- Data persists for that user until updated again
- Update the data as often as you like
CLICK HERE TO VIEW THE COMPLETE API DOCUMENTATION
Where can I view the API documentation?
CLICK HERE TO VIEW THE COMPLETE API DOCUMENTATION
Where do I get the pilot's API key?
Pilots can obtain their API key in two ways:
Method 1: The pilot can copy the API key displayed on the main account page
- Log into their SayIntentions.AI pilot portal
- Navigate to their account page
- Copy the API key displayed on the main account page
Method 2: flight.json File (Recommended for automation)
- Start a flight in SayIntentions.AI
- Navigate to %LOCALAPPDATA%\SayIntentionsAI\flight.json
- Extract the api_key field from the JSON structure
How often do I update the data?
You can update your virtual airline data as often as needed. Presumably at least once per flight.
- Real-time updates: Call the API whenever you want to change the experience
- Per-flight customization: Update data based on specific routes, aircraft, or mission types
- Seasonal changes: Modify procedures for different seasons or special events
- Pilot-specific data: Customize based on pilot rank, experience, or preferences
- Data Persistence: Once updated, the data applies to all future flights for that pilot until you update it again. Each pilot maintains their own customized dataset.
How do custom callsigns works?
When pilots file flight plans using your virtual airline's ICAO code on SimBrief, SayIntentions.AI automatically:
- Recognizes your airline's ICAO code
- Replaces generic callsigns with your airline's proper callsign
- Uses correct pronunciation for your airline name
- Applies appropriate cargo/passenger airline procedures
Example: Instead of "November 12345," ATC will say "SkyBird 123" when using your airline's ICAO code.
Can I send ACARS / Telex messages to my pilots?
Yes. This can be done using our sayAs API endpoint with the SayIntentions.AI SAPI API.
CLICK HERE TO VIEW THE COMPLETE API DOCUMENTATION
Is there a limit to the size of the data fields?
4096 bytes (4,000 characters) is the limit. If you need more, please reach out to us. Anything over 4,096 bytes will be truncated, so be careful when you import large data fields.
I don't have as much data as your examples show -- or my data is in a different format. Now what?
Send what you have, in any format you like. You'll be surprised how good the results are.
How does a SayIntentions.AI customer link themselves to my Virtual Airline?
From their pilot portal, they can go to settings, and then select your VA from a drop-down list of supported virtual airlines. At this point, the integration is complete, and your logo will appear on the top-right corner of their SayIntentions.AI app, indicating success.
Do I get my own dispatcher frequency?
Your dispatcher frequency will be 118.94. Pilots can contact your dispatcher directly, which is a
complete AI, using whatever voice you've selected. At that point, they can ask the dispatcher any question they like and, as long as you've provided the answer in your context window data fields, the dispatcher can answer that question.
Example:
<Pilot> How much is fuel at KMCO?
<ATC> $5.28/gallon
(Assuming you've included this information your dispatcher data).
Can you show me an example of a data-blob for the "dispatcher" position?
Virtual Airline: SkyBird Air
Flight Number: 1847
Callsign: SkyBird 1847 Heavy
Route: KORD (Chicago O’Hare) → KDEN (Denver Intl)
Filed Route: KORD/28R J94 KUBBS J146 HEC J60 CHE J64 DBL ROCKIES3.KDEN
Cruise Altitude: FL370, step climb planned to FL390 after ROCKIES
Fuel Planning:
- Taxi Fuel: 1,200 lbs
- Trip Fuel: 16,200 lbs
- Contingency: +10% (1,620 lbs) per company policy
- Alternate Fuel: 2,800 lbs (Colorado Springs KCOS)
- Final Reserve: 3,200 lbs
- Total Uplift: 25,020 lbs
- Current Fuel Prices: KORD $4.92/gal, KDEN $5.28/gal, KCOS $5.05/gal
Gate & Ground Contacts:
- Departure Gate: ORD Terminal 3, Gate K19
- Arrival Gate: DEN Terminal B, Gate B38
- Ramp Supervisor: Tom Wilson – 303-555-0198
- Fuel Coordinator: Lisa Park – 303-555-0234
- Denver Operations Center: ops.den@skybirdva.com
Weather & NOTAMs:
- KORD (Chicago): Winds 150/12G18, scattered clouds 2500 ft, temp 14°C, altimeter 29.82
- KDEN (Denver): Calm, clear skies, unlimited visibility, temp 7°C, altimeter 30.05
- Enroute Weather: Moderate turbulence forecast between FL300-FL340 east of DBL
- NOTAMs:
• KDEN RWY 16R/34L closed 1400–1600Z for maintenance
• ORD ILS 28C GS out of service until 03/10 1200Z
• ROCKIES3 STAR note: expect crossing DBL at FL240
Aircraft Status:
- Aircraft Type: A320-214
- Registration: N732SB
- MEL 34-21-02: APU bleed valve inoperative (no impact with ground air available at ORD/DEN)
- Deferred cabin PA volume imbalance, cabin crew briefed
Communications & Policies:
- Captain Johnson prefers ACARS for routine updates; SATCOM as backup
- Mandatory position reports: KUBBS and DBL
- Fuel checks every hour on the hour
- SkyBird SOP: cross-check waypoint ETA vs. OFP within ±2 minutes
Passenger Load:
- Total: 142
- Distribution: 120 adults, 19 children, 3 UMs
- Special Services: UM escort at both KORD and KDEN, wheelchair assist x2
- Charter Note: Basketball team staff seated rows 5–12, catering includes post-game meal boxes
Company Flavor:
- SkyBird tradition: Dispatcher signs off flight plan with a “Blue Skies” note visible on crew tablet
NOTE THAT THE DATA BLOB CAN BE IN ANY FORMAT -- INCLUDING A STRAIGHT JSON DUMP. DON'T FEEL OBLIGATED TO OVER-COMPLICATE IT!!!!!!
Can you show me an example of a data-blob for the "co-pilot" position?
Airline Name: SkyBird Air
Flight Number: 1847
Callsign: SkyBird 1847 Heavy
Aircraft: A320-214 (Reg N732SB)
Captain: Steve Johnson (99th flight milestone)
First Officer: Alex Carter (450 hrs in type, known for trivia jokes on long cruise segments)
Route Data:
- Origin: KORD (Chicago O’Hare, RWY 28R SID: OBK6)
- Destination: KDEN (Denver Intl, STAR: ROCKIES3, planned RWY 35L)
- Filed Route: J94 KUBBS J146 DBL ROCKIES3
- Cruise Altitude: FL370 with step climb to FL390 after DBL
- Alternate: KCOS (Colorado Springs)
Fuel & Performance:
- Total Uplift: 25,020 lbs
- Taxi Fuel: 1,200 lbs
- Trip Fuel: 16,200 lbs
- Contingency: +1,620 lbs
- Alternate: 2,800 lbs
- Final Reserve: 3,200 lbs
- ZFW: 128,900 lbs, TOW: 154,000 lbs, LW: 139,800 lbs
Weather:
- KORD: 150/12G18, SCT025, 14°C, QNH 29.82
- KDEN: Calm, CAVOK, 7°C, QNH 30.05
- Enroute: Light to moderate chop FL300–340 east of DBL
- FO Note: Alex Carter doesn’t like surprises — if turbulence is forecast, he’ll mention it to crew early
NOTAMs:
- KDEN RWY 16R/34L closed 1400–1600Z
- ORD ILS 28C glideslope OTS until 03/10 1200Z
- ROCKIES3 requires DBL crossing FL240 or above
Aircraft Status:
- MEL 34-21-02: APU bleed valve inoperative, no operational impact
- Cabin PA imbalance deferred, advisory only
Passenger & Cargo:
- 142 passengers (120 adults, 19 children, 3 UMs)
- Cargo: 2,100 lbs mail + basketball team gear
- FO Note: Alex Carter usually teases the cabin crew about the “sports charter curse” (joking tradition at SkyBird)
Operational Notes:
- Hourly fuel checks required
- Position reports required over KUBBS and DBL
- Captain Johnson prefers ACARS for updates
- FO Quirk: Alex likes to keep his logbook meticulously detailed — expect him to read back weights and times verbatim
NOTE THAT THE DATA BLOB CAN BE IN ANY FORMAT -- INCLUDING A STRAIGHT JSON DUMP. DON'T FEEL OBLIGATED TO OVER-COMPLICATE IT!!!!!!
Can you show me an example of a data-blob for the "crew" position?
Virtual Airline: Moo Moo Air
Aircraft: Boeing 737-800 “Pasture One”
Captain: Steve Johnson (celebrating his 99th flight with Moo Moo Air)
First Officer: Anna Lee
Route: KMIA (Miami Intl) → KMCO (Orlando Intl)
Flight Time: 0h 47m
Passengers: 137 onboard
Special Notes: This is a charter flight for the Orlando Magic basketball team
Moo Moo Air Rules & Traditions:
- Moo Points: Every flight earns passengers “Moo Points” — announce today’s double-points promotion for loyalty members.
- Dairy-Free Cabin: Moo Moo Air enforces a “no outside dairy products” rule due to past allergy incidents.
- Moo Song: Before takeoff, the crew plays the 5-second “Moo Moo Jingle” (mention it so the AI can cue it in announcements).
- Captain’s Milestones: On milestone flights (like Captain Johnson’s 99th), passengers are invited to clap on landing and the crew may mention it mid-flight.
- Gate Nicknames: Moo Moo Air gates are nicknamed by pasture colors; today’s departure is from the “Blue Pasture” gate (F3) and arrival at the “Green Pasture” gate (D7).
- Cabin Humor Policy: Flight attendants are encouraged to make one cow-related pun in the safety briefing (but only one).
- Uniform Quirk: Moo Moo Air crews wear striped ties or scarves; captains often joke about the “cow-print” checklist.
- Passenger Trivia: During cruise, crew may announce a “Moo Fact of the Day” — today’s is that this VA was founded with 12 pilots in a Discord server.
NOTE THAT THE DATA BLOB CAN BE IN ANY FORMAT -- INCLUDING A STRAIGHT JSON DUMP. DON'T FEEL OBLIGATED TO OVER-COMPLICATE IT!!!!!!
Can you show me an example of a data-blob for the "skyops" position?
Virtual Airline: SkyBird SkyOps Division
Mission Number: SAR-22
Callsign: SkyBird Rescue 22
Aircraft: DHC-6 Twin Otter (Reg N498SB)
Crew: Capt. Maria Lopez, FO Alex Carter, 2 mission observers
Mission Type:
- Search and Rescue (SAR) for missing hiker group in Rocky Mountain National Park
Tasking Details:
- Departure: KBJC (Rocky Mountain Metro)
- Arrival: KDEN (Denver Intl, mission debrief base)
- Search Grid: Grid 7B, altitude block 9,000–11,500 ft MSL
- Special Procedure: Conduct expanding square search pattern, check-in every 15 minutes with mission base
Fuel & Loadout:
- Uplift: 3,400 lbs Jet-A
- Mission Payload: 600 lbs medical kits, 2 SAR team members with gear
- Endurance: 4.5 hours with 45-min reserve
Weather & Hazards:
- Area: Winds W 25–35 kt, vis 4–6 mi in blowing snow, OVC080
- Hazards: Mountain wave turbulence, icing possible above 12,000 ft
- KBJC: 280/20G30, SCT020, -5°C
- KDEN: 290/12, CLR, -2°C
NOTAMs & Restrictions:
- TFR active over Estes Park for SAR ops, 8,000–13,000 ft MSL, all other traffic prohibited
- KBJC RWY 12/30 closed due to snow removal
- Caution: High SAR helo traffic in area
Ground Coordination:
- Mission Base: Rocky SAR Command 970-555-0444
- Fire/Rescue Liaison: Capt. John Marks (on-ground SAR leader)
- ATC: Denver Center coordinating SAR corridor clearance
Operational Notes:
- Company SOP: Position reports every 15 min + after each grid leg completed
- Mission Success: Positive visual identification or full grid sweep required
- VA Quirk: SkyOps missions tagged with “Rescue Points” — pilots earn +50 for successful ID
Mission Flavor:
- SkyBird SkyOps tradition: crew announces a “Rescue Shoutout” on return leg
- FO Alex Carter often logs GPS track screenshots for Discord AAR (after-action reports)
NOTE THAT THE DATA BLOB CAN BE IN ANY FORMAT -- INCLUDING A STRAIGHT JSON DUMP. DON'T FEEL OBLIGATED TO OVER-COMPLICATE IT!!!!!!
Can you show me a functional example of how to use the API?
curl -X POST "https://apipri.sayintentions.ai/sapi/importVAData" -H "Content-Type: application/x-www-form-urlencoded" --data-urlencode "api_key=YOUR_API_KEY" --data-urlencode 'payload={
"va_api_key": "VA_API_KEY_FROM_SAYINTENTIONS",
"crew_data": "...",
"dispatcher_data": "...",
"copilot_data": "...",
"skyops_data": "..."
}'
How do I get started?
Send an email to va@sayintentions.ai or reach out to us on Discord, and we'll get you set up. The whole onboarding process takes about 15 minutes and costs you nothing!
Are discounts available for my pilots?
Yes!! We can give you custom coupon codes for exclusive discounts. Reach out to us to learn more.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article