Base URL #

All API requests should be made to the following production endpoint:

# Production
https://api.aeroavance.com/v2

For testing and development, use the sandbox environment:

# Sandbox
https://sandbox-api.aeroavance.com/v2

Authentication #

The Core API uses Bearer token authentication. Include your API key in the Authorization header of every request.

Authorization: Bearer av_live_sk_8x92mQpL4vZn7RwK3jYt

Security Notes:

  • Never expose live API keys in client-side code.
  • Sandbox keys are prefixed with av_test_sk_ and have no access to production telemetry.
  • Keys can be rotated or revoked via the Developer Console.

Rate Limits #

To ensure system stability during high-demand mission windows, the following rate limits apply:

PlanRequests / minBurst Limit
Standard60150
Enterprise6001,200
Defense/GovCustomDedicated

Rate limit headers are included in every response: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

Endpoints #

GET /satellites Retrieve active fleet

Query Parameters

ParameterTypeDescription
statusstringFilter by status: active, standby, maintenance
orbit_classstringFilter by orbit: LEO, MEO, GEO
limitintegerMax results per page (default: 20, max: 100)

Example Response (200 OK)

{
  "data": [
    {
      "id": "sat_7x92mQpL4vZn7RwK",
      "designation": "ORION-4A",
      "status": "active",
      "orbit_class": "LEO",
      "altitude_km": 540,
      "launch_date": "2024-08-12T09:42:00Z",
      "health": {
        "battery_pct": 94.2,
        "thermal_nominal": true,
        "link_quality_dbm": -82
      }
    }
  ],
  "pagination": {
    "total": 124,
    "page": 1,
    "has_more": true
  }
}

Status Codes

200 OK 401 Unauthorized 400 Bad Request
POST /missions/deploy Queue orbital mission

Request Body

ParameterTypeDescription
payload_idstringRequired. Internal payload registry ID.
target_orbitobjectRequired. Inclination, altitude, eccentricity.
launch_windowstringISO 8601 datetime range for ignition.
priorityenumstandard, expedited, critical

Example Request

{
  "payload_id": "plx_9m2k4n7v8q",
  "target_orbit": {
    "inclination_deg": 51.6,
    "altitude_km": 400,
    "eccentricity": 0.0001
  },
  "priority": "expedited"
}

Example Response (202 Accepted)

{
  "mission_id": "msn_8x7j2p4q9w",
  "status": "queued",
  "estimated_ignition": "2025-03-14T02:15:00Z",
  "tracking_url": "https://api.aeroavance.com/v2/missions/msn_8x7j2p4q9w"
}
GET /satellites/{id}/telemetry Real-time metrics stream

Path Parameters

ParameterTypeDescription
idstringRequired. Satellite identifier.

Query Parameters

ParameterTypeDescription
window_secintegerTime window in seconds (default: 300)
streambooleanEnable SSE stream for live updates

Example Response (200 OK)

{
  "satellite_id": "sat_7x92mQpL4vZn7RwK",
  "timestamp": "2025-03-10T14:22:05Z",
  "metrics": {
    "cpu_load_pct": 42.1,
    "memory_usage_mb": 1248,
    "solar_panel_output_w": 890,
    "thruster_pressure_kpa": 142.5,
    "position": {
      "lat": 34.0522,
      "lon": -118.2437,
      "alt_km": 538.2
    }
  }
}
GET /propulsion/diagnostics Engine health & performance

Query Parameters

ParameterTypeDescription
system_idstringFilter by propulsion module ID
include_historybooleanAppend last 24h performance log

Example Response (200 OK)

{
  "system_id": "prop_ares-9",
  "type": "ion_thruster",
  "status": "nominal",
  "diagnostics": {
    "specific_impulse_s": 3200,
    "thrust_mn": 0.092,
    "fuel_flow_rate_kg_s": 0.00014,
    "grid_voltage_v": 1200,
    "xenon_pressure_torr": 45.2
  },
  "alerts": null
}

Error Handling #

The API uses standard HTTP status codes and returns JSON error payloads with actionable details.

CodeMeaningResolution
400Bad RequestCheck payload schema & required fields.
401UnauthorizedVerify API key validity & permissions.
403ForbiddenResource locked or clearance level insufficient.
404Not FoundInvalid ID or endpoint path.
429Rate LimitedBack off and retry per Retry-After header.
500Server ErrorInternal fault. Contact support with request ID.

Error Response Format

{
  "error": {
    "code": "INVALID_PAYLOAD_SCHEMA",
    "message": "Field 'target_orbit' is required and must be an object.",
    "request_id": "req_9x2m4k7p8q",
    "documentation": "https://docs.aeroavance.com/errors/INVALID_PAYLOAD_SCHEMA"
  }
}