Integration Guidelines

Welcome to the AeroVance Developer Portal. These guidelines cover the secure integration of our aerospace telemetry, flight control, and satellite management APIs. All integrations require ITAR compliance verification and mutual TLS authentication.

⚠️

Security Notice: AeroVance systems handle mission-critical defense and space infrastructure data. Never share API keys in client-side code, public repositories, or unencrypted channels. All endpoints require mTLS and OAuth2 scopes.

Quick Start

Initialize your environment with our CLI tool or SDK. Ensure your machine has valid X.509 certificates issued by AeroVance PKI.

Bash
# Install AeroVance CLI
$ curl -fsSL https://cli.aerovance.io/install | sh

# Authenticate with your X.509 certificate
$ avance auth login --cert /path/to/client.pem --key /path/to/client.key

# Verify connection
$ avance ping --env production
✓ Connected to AeroVance Gateway (us-east-1) | Latency: 12ms

Authentication

AeroVance APIs use a dual-layer authentication system: Client Certificate Authentication (mTLS) for transport security, and OAuth2 Bearer Tokens for API authorization.

1. Mutual TLS (mTLS)

All endpoints enforce TLS 1.3 with client certificate verification. Certificates must be signed by the AeroVance Root CA. Include the certificate chain in your HTTP client configuration.

Python
import requests

session = requests.Session()
session.cert = ("/path/to/client.pem", "/path/to/client.key")
session.verify = "/path/to/aerovance_root_ca.pem"

# mTLS handshake successful, proceed to OAuth2
response = session.post(
    "https://auth.aerovance.io/oauth2/token",
    data={"grant_type": "client_credentials"}
)

2. OAuth2 Client Credentials

After mTLS handshake, obtain a scoped access token. Tokens expire after 3600 seconds.

Scope Access Level Description
telemetry:read Read-Only Access live and historical telemetry streams
flight:write Command Issue flight control commands (requires 2FA approval)
satellite:admin Admin Full satellite constellation management
orbital:compute Compute Access orbital mechanics prediction engine

Environments

Use the appropriate base URL based on your integration phase.

Environment Base URL Use Case
Sandbox https://api-sandbox.aerovance.io Development and testing with mock data
Staging https://api-staging.aerovance.io Pre-production validation with live hardware
Production https://api.aerovance.io Live mission-critical operations

Telemetry API GET

Access real-time telemetry data from aircraft and satellites. Supports WebSocket streams for low-latency applications.

Endpoints

GET /v2/telemetry/{asset_id}/live Retrieve live telemetry packet
GET /v2/telemetry/{asset_id}/history Query historical flight data
WS wss://stream.aerovance.io/v2/live WebSocket real-time stream

Request Example

HTTP
GET /v2/telemetry/SAT-ORION-042/live
Authorization: Bearer <access_token>
X-AV-Client-ID: client_8x92mKpL
Accept: application/json

Response Example

JSON
{
  "asset_id": "SAT-ORION-042",
  "timestamp": "2025-10-14T08:23:11Z",
  "status": "NOMINAL",
  "telemetry": {
    "altitude_km": 420.5,
    "velocity_kmh": 27600,
    "temperature_c": -12.4,
    "battery_pct": 87.3,
    "orientation": {
      "roll": 0.02,
      "pitch": -1.5,
      "yaw": 145.8
    }
  }
}

Flight Commands POST

🔒

Critical Operation: Command endpoints require elevated scopes (flight:write), hardware security module (HSM) signing, and mandatory multi-party approval workflows. Unauthorized command injection attempts are logged and trigger immediate account revocation.

Issue Command

Send flight control commands with idempotency keys to prevent duplicate execution.

cURL
$ curl -X POST https://api.aerovance.io/v2/commands \\
  --cert client.pem --key client.key \\
  -H "Authorization: Bearer <token>" \\
  -H "Content-Type: application/json" \\
  -H "Idempotency-Key: cmd_88a92x" \\
  -d '{
    "asset_id": "UAV-RAVEN-09",
    "command": "ORBIT_RAISE",
    "parameters": {
      "delta_v_ms": 45.2,
      "axis": "Z"
    }
  }'

Rate Limits

To ensure system stability for mission-critical operations, API requests are throttled. Limits vary by subscription tier and scope sensitivity.

Tier Read Ops Write Ops WebSocket Streams
Developer 60/min 10/min 1
Enterprise 1,000/min 100/min 10
Government/Defense Custom Custom Dedicated

Rate limit headers are included in all responses:

Headers
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 982
X-RateLimit-Reset: 1697328000
Retry-After: 45 # Only present on 429 responses

Python SDK

Official Python SDK for rapid integration. Install via pip with your private index.

Bash
# Install from private PyPI
$ pip install --index-url https://pypi.aerovance.io/simple aerovance-sdk
Python
from aerovance import AeroVanceClient

# Initialize client with credentials
client = AeroVanceClient(
    cert="./certs/client.pem",
    key="./certs/client.key",
    environment="production"
)

# Fetch live telemetry
telemetry = client.telemetry.get_live(
    asset_id="SAT-ORION-042",
    fields=["altitude_km", "battery_pct"]
)

print(f"Altitude: {telemetry.altitude_km} km")
print(f"Battery: {telemetry.battery_pct}%")

Security & Compliance

🛡️

ITAR & EAR Compliance: All AeroVance APIs are subject to International Traffic in Arms Regulations. Access requires valid export license verification. Integration partners must maintain SOC 2 Type II certification.

Best Practices