VA-Link - Virtual Airline Integration API FAQ

Created by SayIntentions Support, Modified on Tue, 30 Sep at 3:31 PM by SayIntentions Support

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

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article