Logistics
Parcel Dimension, Weight & Shipping Preflight
Inspect parcel geometry, convert units, calculate dimensional-weight candidates, compare versions, summarize batches, and apply explicit carrier/service limits supplied by the caller.
CONTRACT
Predictable for agents. Legible for reviewers.
- REST
POST /v1/parcels/policy-check- MCP tool
check_parcel_policy- Inputs
- One bounded parcel with positive length, width, height, actual weight, explicit IN|CM and LB|KG units, and optional caller policy; batches accept up to 1,000 parcels with a 2 MiB result ceiling.
- Returns
- CLEAR, REVIEW_REQUIRED, or BLOCKED with longest-side-first dimensions, volume, girth, length plus girth, density, explicit unit conversions, dimensional and billable-weight candidates, named findings, and a next action.
- Latency
- Synchronous
- Usage unit
- Parcel operation
The suite also exposes /v1/parcels/inspect, /v1/parcels/convert, /v1/parcels/dimensional-weight, /v1/parcels/compare, and /v1/parcels/batch-check plus /mcp/parcel. Decimal outputs are rounded to six places. It never queries a carrier, quotes a rate, validates an address, evaluates contents or hazardous materials, creates a label, books a shipment, verifies carrier acceptance, or stores the payload. Its RapidAPI release is queued behind the provider's twenty-public-API cap.
AGENT-READABLE EXCEPTIONS
PARCEL_DIMENSION_ORDER_NORMALIZEDPARCEL_IRREGULAR_BOUNDING_BOXPARCEL_DIMENSIONAL_WEIGHT_APPLIESPARCEL_GEOMETRY_CHANGEDPARCEL_WEIGHT_LIMIT_EXCEEDEDPARCEL_LENGTH_LIMIT_EXCEEDEDPARCEL_LENGTH_GIRTH_LIMIT_EXCEEDEDPARCEL_VOLUME_LIMIT_EXCEEDEDPARCEL_HEIGHT_BELOW_MINIMUMPARCEL_HEAVY_REVIEW_REQUIREDPARCEL_IRREGULAR_SHAPE_REVIEW_REQUIREDPARCEL_OUTPUT_TOO_LARGEPOST /v1/parcels/policy-check
Authorization: Bearer apc_...
Content-Type: application/json
{
"parcel": {
"dimensions": {
"length": "20",
"width": "14",
"height": "10",
"unit": "IN"
},
"actual_weight": {
"value": "12.5",
"unit": "LB"
},
"shape": "RECTANGULAR"
},
"policy_name": "customer-small-parcel-2026",
"policy_dimension_unit": "IN",
"policy_weight_unit": "LB",
"max_weight": "150",
"max_length": "108",
"max_length_plus_girth": "165",
"heavy_review_threshold": "70"
}curl --request POST \
--url 'https://api-production-9502.up.railway.app/v1/parcels/policy-check' \
--header 'Authorization: Bearer ${AP_CONTROL_API_KEY}' \
--header 'Content-Type: application/json' \
--data '{
"parcel": {
"dimensions": {
"length": "20",
"width": "14",
"height": "10",
"unit": "IN"
},
"actual_weight": {
"value": "12.5",
"unit": "LB"
},
"shape": "RECTANGULAR"
},
"policy_name": "customer-small-parcel-2026",
"policy_dimension_unit": "IN",
"policy_weight_unit": "LB",
"max_weight": "150",
"max_length": "108",
"max_length_plus_girth": "165",
"heavy_review_threshold": "70"
}'{
"status": "COMPLETED",
"decision": "CLEAR",
"allowed": true,
"policy_name": "customer-small-parcel-2026",
"geometry": {
"ordered_dimensions": {
"length": "20",
"width": "14",
"height": "10",
"unit": "IN"
},
"actual_weight": {
"value": "12.5",
"unit": "LB"
},
"volume": "2800",
"volume_unit": "IN3",
"girth": "48",
"length_plus_girth": "68",
"density": "0.004464",
"density_unit": "LB/IN3"
},
"findings": [],
"ruleset_version": "PARCEL_CALLER_POLICY_2026",
"scope": "CALLER_SUPPLIED_PARCEL_ONLY",
"carrier_queried": false,
"rate_quoted": false,
"label_created": false,
"shipment_booked": false,
"address_validated": false,
"contents_or_hazmat_evaluated": false,
"carrier_acceptance_verified": false,
"payload_stored": false,
"next_action": "The parcel satisfies the supplied static policy; obtain a live authorized carrier rate and acceptance decision separately."
}Try Parcel Dimension, Weight & Shipping Preflight with your own workflow.
Start with the workspace, inspect the typed result, then integrate with REST or the focused MCP server.