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 URL
Integration docshttps://x402.hexl.dev/v1/nav/weight-balanceExample 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
}