Api Endpoint

handel.halowerk.com

Loads a package list into one loading space and returns the plan, not an estimate. The floor starts as one free surface; packages are sorted by footprint, then height, then weight, then identifier, and each one is placed on the lowest, then frontmost, then smallest free surface it fits on, turned by 90 degrees around the vertical axis where that makes it fit.

Open interactive test console

Offering

Provider
handel.halowerk.com
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
General Utilities
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://handel.halowerk.com/v1/container-load
MIME type
Not provided
First seen
2026-10-16T01:58:48.885Z
Last seen
Tags
None supplied

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.006 USDC
Atomic price: 6000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "6000",
    "payTo": "0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E"
  }
]

Observed health

Status
Healthy
Latest latency
323 ms
Average latency
675 ms
HTTP status
204
Last checked
Reachability
100% over 8 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "additionalProperties": false,
  "properties": {
    "body": {
      "additionalProperties": false,
      "properties": {
        "axles": {
          "description": "Exactly two axle groups, for the static axle load. With more than two the load split is statically indeterminate and cannot be computed from geometry alone, so only two are accepted.",
          "items": {
            "additionalProperties": false,
            "properties": {
              "axle_id": {
                "description": "Your label for this axle group, for example front or bogie.",
                "maxLength": 32,
                "minLength": 1,
                "type": "string"
              },
              "max_load_kg": {
                "description": "Permitted load on this axle group in kilograms, payload share only.",
                "maximum": 100000,
                "minimum": 0,
                "type": "number"
              },
              "position_mm": {
                "description": "Position along the x axis in millimetres, measured from the front wall of the loading space. May be negative if the axle sits ahead of it.",
                "maximum": 60000,
                "minimum": -30000,
                "type": "number"
              }
            },
            "required": [
              "axle_id",
              "position_mm"
            ],
            "type": "object"
          },
          "maxItems": 2,
          "minItems": 2,
          "type": "array"
        },
        "container": {
          "additionalProperties": false,
          "description": "Inner loading space and payload of the container, trailer or swap body.",
          "properties": {
            "height_mm": {
              "description": "Inner height in millimetres. The z axis.",
              "maximum": 5000,
              "minimum": 1,
              "type": "number"
            },
            "length_mm": {
              "description": "Inner length in millimetres. The x axis, measured from the front wall.",
              "maximum": 30000,
              "minimum": 1,
              "type": "number"
            },
            "max_payload_kg": {
              "description": "Payload in kilograms. Loading stops before this is exceeded.",
              "maximum": 100000,
              "minimum": 0,
              "type": "number"
            },
            "width_mm": {
              "description": "Inner width in millimetres. The y axis.",
              "maximum": 5000,
              "minimum": 1,
              "type": "number"
            }
          },
          "required": [
            "length_mm",
            "width_mm",
            "height_mm",
            "max_payload_kg"
          ],
          "type": "object"
        },
        "items": {
          "description": "The packages to load. Each entry is one type with a quantity.",
          "items": {
            "additionalProperties": false,
            "properties": {
              "height_mm": {
                "description": "Height of one package in millimetres. Never used as a footprint side: packages are not tipped.",
                "maximum": 30000,
                "minimum": 1,
                "type": "number"
              },
              "item_id": {
                "description": "Your identifier for this package type. Must be unique within the request.",
                "maxLength": 64,
                "minLength": 1,
                "type": "string"
              },
              "length_mm": {
                "description": "Length of one package in millimetres.",
                "maximum": 30000,
                "minimum": 1,
                "type": "number"
              },
              "max_stack_load_kg": {
                "description": "How much weight one package can carry on top of it. Checked against the load actually resting on it.",
                "maximum": 100000,
                "minimum": 0,
                "type": "number"
              },
              "quantity": {
                "default": 1,
                "description": "How many packages of this type.",
                "maximum": 1000,
                "minimum": 1,
                "type": "integer"
              },
              "rotatable": {
                "default": true,
                "description": "Whether the package may be turned by 90 degrees around the vertical axis. Never tipped.",
                "type": "boolean"
              },
              "stackable": {
                "default": true,
                "description": "Whether anything may be placed on top of this package. False ends the stack above it.",
                "type": "boolean"
              },
              "weight_kg": {
                "description": "Weight of one package in kilograms.",
                "maximum": 100000,
                "minimum": 0,
                "type": "number"
              },
              "width_mm": {
                "description": "Width of one package in millimetres.",
                "maximum": 30000,
                "minimum": 1,
                "type": "number"
              }
            },
            "required": [
              "item_id",
              "length_mm",
              "width_mm",
              "height_mm",
              "weight_kg"
            ],
            "type": "object"
          },
          "maxItems": 200,
          "minItems": 1,
          "type": "array"
        }
      },
      "required": [
        "container",
        "items"
      ],
      "type": "object"
    },
    "bodyType": {
      "enum": [
        "json",
        "form-data",
        "text"
      ],
      "type": "string"
    },
    "method": {
      "enum": [
        "POST",
        "PUT",
        "PATCH"
      ],
      "type": "string"
    },
    "type": {
      "const": "http",
      "type": "string"
    }
  },
  "required": [
    "type",
    "method",
    "bodyType",
    "body"
  ],
  "type": "object"
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "additionalProperties": false,
          "properties": {
            "axles": {
              "description": "Exactly two axle groups, for the static axle load. With more than two the load split is statically indeterminate and cannot be computed from geometry alone, so only two are accepted.",
              "items": {
                "additionalProperties": false,
                "properties": {
                  "axle_id": {
                    "description": "Your label for this axle group, for example front or bogie.",
                    "maxLength": 32,
                    "minLength": 1,
                    "type": "string"
                  },
                  "max_load_kg": {
                    "description": "Permitted load on this axle group in kilograms, payload share only.",
                    "maximum": 100000,
                    "minimum": 0,
                    "type": "number"
                  },
                  "position_mm": {
                    "description": "Position along the x axis in millimetres, measured from the front wall of the loading space. May be negative if the axle sits ahead of it.",
                    "maximum": 60000,
                    "minimum": -30000,
                    "type": "number"
                  }
                },
                "required": [
                  "axle_id",
                  "position_mm"
                ],
                "type": "object"
              },
              "maxItems": 2,
              "minItems": 2,
              "type": "array"
            },
            "container": {
              "additionalProperties": false,
              "description": "Inner loading space and payload of the container, trailer or swap body.",
              "properties": {
                "height_mm": {
                  "description": "Inner height in millimetres. The z axis.",
                  "maximum": 5000,
                  "minimum": 1,
                  "type": "number"
                },
                "length_mm": {
                  "description": "Inner length in millimetres. The x axis, measured from the front wall.",
                  "maximum": 30000,
                  "minimum": 1,
                  "type": "number"
                },
                "max_payload_kg": {
                  "description": "Payload in kilograms. Loading stops before this is exceeded.",
                  "maximum": 100000,
                  "minimum": 0,
                  "type": "number"
                },
                "width_mm": {
                  "description": "Inner width in millimetres. The y axis.",
                  "maximum": 5000,
                  "minimum": 1,
                  "type": "number"
                }
              },
              "required": [
                "length_mm",
                "width_mm",
                "height_mm",
                "max_payload_kg"
              ],
              "type": "object"
            },
            "items": {
              "description": "The packages to load. Each entry is one type with a quantity.",
              "items": {
                "additionalProperties": false,
                "properties": {
                  "height_mm": {
                    "description": "Height of one package in millimetres. Never used as a footprint side: packages are not tipped.",
                    "maximum": 30000,
                    "minimum": 1,
                    "type": "number"
                  },
                  "item_id": {
                    "description": "Your identifier for this package type. Must be unique within the request.",
                    "maxLength": 64,
                    "minLength": 1,
                    "type": "string"
                  },
                  "length_mm": {
                    "description": "Length of one package in millimetres.",
                    "maximum": 30000,
                    "minimum": 1,
                    "type": "number"
                  },
                  "max_stack_load_kg": {
                    "description": "How much weight one package can carry on top of it. Checked against the load actually resting on it.",
                    "maximum": 100000,
                    "minimum": 0,
                    "type": "number"
                  },
                  "quantity": {
                    "default": 1,
                    "description": "How many packages of this type.",
                    "maximum": 1000,
                    "minimum": 1,
                    "type": "integer"
                  },
                  "rotatable": {
                    "default": true,
                    "description": "Whether the package may be turned by 90 degrees around the vertical axis. Never tipped.",
                    "type": "boolean"
                  },
                  "stackable": {
                    "default": true,
                    "description": "Whether anything may be placed on top of this package. False ends the stack above it.",
                    "type": "boolean"
                  },
                  "weight_kg": {
                    "description": "Weight of one package in kilograms.",
                    "maximum": 100000,
                    "minimum": 0,
                    "type": "number"
                  },
                  "width_mm": {
                    "description": "Width of one package in millimetres.",
                    "maximum": 30000,
                    "minimum": 1,
                    "type": "number"
                  }
                },
                "required": [
                  "item_id",
                  "length_mm",
                  "width_mm",
                  "height_mm",
                  "weight_kg"
                ],
                "type": "object"
              },
              "maxItems": 200,
              "minItems": 1,
              "type": "array"
            }
          },
          "required": [
            "container",
            "items"
          ],
          "type": "object"
        },
        "bodyType": {
          "enum": [
            "json",
            "form-data",
            "text"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST",
            "PUT",
            "PATCH"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}