Add intelligent container
planning to your platform.
One REST call returns the cheapest container mix, a full packing plan with 3D coordinates, cost analysis, and a shareable viewer link. Integrate in a day.
Quick Start
Make your first simulation call in three steps.
Sign up and get a key
Create a free account at feuteuristix.com. Head to Console → API Keys, create a new key, and copy it. Takes under 2 minutes.
POST your cargo payload
Send your items and container specs to api.feuteuristix.com/simulations with your Bearer token. The engine runs in milliseconds.
Parse the result
The response gives you packedContainers with stats, per-item 3D coordinates, cost analysis, and a simulation ID for the shareable viewer.
Minimal request shape
POST https://api.feuteuristix.com/simulations
x-api-key: ftx_live_••••••••••••••••••••••••
Content-Type: application/json
{
"handlingType": "hand_stuffed",
"measurementUnits": { "distance": "meter", "weight": "kilogram", "currency": "usd", "utilisation": "percent" },
"items": { "Carton-A": { ... } },
"containers": { "20ft Standard": { ... } }
}Authentication
All requests require a Bearer token in the Authorization header.
x-api-key: ftx_live_<your_api_key>
Hashed storage
Only a SHA-256 hash is stored. Lose a key; revoke it and create a new one.
View once
Shown exactly once at creation. Store it in your secrets manager immediately.
Never expose
Never commit to source control or expose in client-side code.
Revoke anytime
Console → API Keys → Revoke. Takes effect instantly.
Rate Limits
Applied per API key. Exceeding returns 429 Too Many Requests.
| Plan | Simulations / month | Requests / min | Max items | Max containers |
|---|---|---|---|---|
| Free | 10 | 10 | 20 | 5 |
| Growth | 1,000 | 60 | 50 | 10 |
| Enterprise | Unlimited | 300 | ∞ | ∞ |
Need higher limits? Talk to us about enterprise.
/simulationsRuns the packing engine. Returns the cheapest container combination, full packing plan with per-item 3D coordinates, utilisation stats, and a simulation ID for the shareable 3D viewer.
Request Headers
x-api-keyrequiredftx_live_<your_api_key>Content-Typerequiredapplication/jsonRequest Body
measurementUnitsUnit system applied to the entire request. All four sub-fields are required.
4 child fields — click to expand
handlingType"hand_stuffed" | "palletized"Packing mode. hand_stuffed places items directly into containers. palletized first loads items onto pallets, then pallets into containers. Determines whether the pallets field is required or forbidden.
itemsmin 1 keyMap of item type IDs (any string) to item objects. Keys are arbitrary labels for each cargo type (e.g. "Carton-A", "Drum-B").
9 child fields — click to expand
containersmin 1 keyMap of container type IDs to container specifications. Define any dimensions — standard ISO types or fully custom sizes.
6 child fields — click to expand
palletsmin 1 keyMap of pallet type IDs to pallet objects.
Required when handlingType is "palletized". Must be omitted for "hand_stuffed".
7 child fields — click to expand
strategiesNamed packing strategies to evaluate side-by-side. If omitted, one "default" strategy runs using all containers for both FCL and SPL. Define multiple strategies to compare cost trade-offs — e.g. "20ft-only" vs "40ft-preferred".
1 child field — click to expand
Example Request
Response Schema — 201 Created
successtrue on success, false on error.
dataPresent on success.
3 child fields — click to expand
Example Response
Shareable 3D viewer — no UI work required
Every response contains an id. Append it to the console URL for a full interactive 3D packing view — shareable with anyone on your team.
https://feuteuristix.com/console?id=a3f72b1c-4d5e-4f6a-b7c8-d9e0f1a2b3c4/simulations/:idFetches a previously created simulation. Returns the full result — entities, strategies, packing plan, 3D coordinates — identical to the POST response structure.
Path Parameters
:idUUID returned in the id field of the POST /simulations response.
Request Headers
x-api-keyrequiredftx_live_<your_api_key>Example Request
GET https://api.feuteuristix.com/simulations/a3f72b1c-4d5e-4f6a-b7c8-d9e0f1a2b3c4 x-api-key: ftx_live_••••••••••••••••••••••••
Example Response — 200 OK
{
"success": true,
"data": {
"id": "a3f72b1c-4d5e-4f6a-b7c8-d9e0f1a2b3c4",
"entities": {
"...": "same as POST response entities"
},
"strategies": {
"...": "same as POST response strategies"
}
}
}Error Reference
All errors use the shape { "success": false, "message": "..." }.
| Status | Meaning | Common causes |
|---|---|---|
| 400 | Bad Request | Missing fields, invalid types, dimension conflicts, item doesn't fit in container or pallet. |
| 401 | Unauthorized | Missing or invalid Authorization header, expired token. |
| 404 | Not Found | No simulation exists for the given :id (GET endpoint). |
| 429 | Too Many Requests | Rate limit exceeded. See X-RateLimit-Reset header for when it resets. |
| 500 | Internal Server Error | Engine error. Retry with exponential back-off; contact support if it persists. |
{
"success": false,
"message": "\"measurementUnits.distance\" is required"
}{
"success": false,
"message": "No such resource found, please check the id"
}{
"success": false,
"message": "Internal server error"
}Ready to integrate?
Free tier — 10 simulations/month. Enterprise and white-label API pricing for logistics platforms.