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.
# 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.
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
Request Example
GET /v2/telemetry/SAT-ORION-042/live Authorization: Bearer <access_token> X-AV-Client-ID: client_8x92mKpL Accept: application/json
Response Example
{
"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 -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:
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.
# Install from private PyPI
$ pip install --index-url https://pypi.aerovance.io/simple aerovance-sdk
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
- Never hardcode certificates or tokens in source code.
- Rotate API keys every 90 days via the console.
- Enable webhook signature verification for all event callbacks.
- Use idempotency keys for all write operations.
- Monitor audit logs for unauthorized access attempts.