Catalog/nav-weight-balance

Navigation

Weight & balance, %MAC API

Sums station moments to find total weight, CG arm and %MAC, then checks against forward/aft CG limits and max gross weight. Answers 'Is this loading within the CG envelope?', 'What is my %MAC at this loadout?'.

Price$0.06per request
MethodPOST
Route/v1/nav/weight-balance
StatusLive
MIME typeapplication/json
Rate limit120/minute
Cache0s public
aviationweight-balancecgcenter-of-gravitymacloadingenvelopemoment
API URLhttps://x402.hexl.dev/v1/nav/weight-balance
Integration docs
Example request
{
  "items": [
    {
      "name": "empty",
      "weight": 1500,
      "arm": 39
    },
    {
      "name": "pilot",
      "weight": 170,
      "arm": 37
    },
    {
      "name": "fuel",
      "weight": 300,
      "arm": 48
    }
  ],
  "forwardCgLimit": 35,
  "aftCgLimit": 47.3,
  "maxGrossWeight": 2300,
  "macLeadingEdge": 38,
  "macLengthIn": 20
}
Example response
{
  "totalWeight": 1970,
  "totalMoment": 79190,
  "centerOfGravityArm": 40.198,
  "rows": [
    {
      "name": "empty",
      "weight": 1500,
      "arm": 39,
      "moment": 58500
    },
    {
      "name": "pilot",
      "weight": 170,
      "arm": 37,
      "moment": 6290
    },
    {
      "name": "fuel",
      "weight": 300,
      "arm": 48,
      "moment": 14400
    }
  ],
  "withinEnvelope": true,
  "violations": [],
  "percentMAC": 10.99,
  "interpretation": "CG at arm 40.198 (total 1970), WITHIN envelope, 10.99% MAC."
}
Input schema
{
  "type": "object",
  "required": [
    "items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "weight",
          "arm"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "weight": {
            "type": "number"
          },
          "arm": {
            "type": "number"
          }
        }
      },
      "examples": [
        [
          {
            "name": "empty",
            "weight": 1500,
            "arm": 39
          },
          {
            "name": "pilot",
            "weight": 170,
            "arm": 37
          },
          {
            "name": "fuel",
            "weight": 300,
            "arm": 48
          }
        ]
      ]
    },
    "forwardCgLimit": {
      "type": "number",
      "examples": [
        35
      ]
    },
    "aftCgLimit": {
      "type": "number",
      "examples": [
        47.3
      ]
    },
    "macLeadingEdge": {
      "type": "number",
      "examples": [
        38
      ]
    },
    "macLengthIn": {
      "type": "number",
      "examples": [
        20
      ]
    },
    "maxGrossWeight": {
      "type": "number",
      "examples": [
        2300
      ]
    }
  }
}
Output schema
{
  "type": "object",
  "additionalProperties": true
}