3DPACK.ING API Documentation
Integrate world-class packing optimization into your applications
Getting Started
The 3DPACK.ING API provides programmatic access to our advanced 3D bin packing algorithms. Integrate container loading optimization directly into your WMS, ERP, or custom applications.
Lightning Fast
Average response time under 250ms for typical requests
Enterprise Ready
99.9% uptime SLA with redundant infrastructure
Developer Friendly
RESTful design with comprehensive Swagger docs
Authentication
All API requests require an API key passed in the header:
curl -X POST https://server.3dpack.ing/api/calculate \
-H "Content-Type: application/json" \
-H "api-key: YOUR_API_KEY_HERE" \
-d @request.json
Get your API key from the dashboard after signing up.
Endpoints
Primary Endpoint
https://server.3dpack.ing/api/calculate
Calculate optimal packing for a set of items and containers.
Incremental Loading
https://server.3dpack.ing/api/calculate/incremental
Add items to an existing load without reorganizing (Business plan required).
Full interactive API documentation available at Swagger UI
Request Format
Send a JSON payload with container candidates and items to pack:
{
"Candidates": [
{
"Width": 589.28,
"Length": 1203.20,
"Height": 269.24,
"Weight": 28600
}
],
"Items": [
{
"Width": 60,
"Length": 40,
"Height": 30,
"Weight": 10,
"Quantity": 50,
"TagOrColor": "Electronics",
"KeepTop": true,
"StackCapacity": 3,
"StackWeightCapacity": 30
}
],
"Options": {
"Algorithm": "Normal",
"MaxContainers": 40,
"Gap": 2
}
}
Response Format
The API returns optimized packing with 3D coordinates:
{
"SelectedContainer": {
"Width": 589.28,
"Length": 1203.20,
"Height": 269.24
},
"ItemsPut": [
{
"Item": {
"Width": 60,
"Length": 40,
"Height": 30,
"TagOrColor": "Electronics"
},
"Coord": {
"X": 0,
"Y": 0,
"Z": 0
},
"Rotation": "LWH",
"ContainerIndex": 0
}
],
"ItemsNotPut": [],
"Metrics": {
"SpaceUtilization": 87.5,
"WeightUtilization": 62.3,
"NumberOfContainers": 1
}
}
Supported Constraints
Orientation
KeepTop
: Item must stay uprightNoTilt
: No tilting allowedKeepBottom
: Heavy item, place at bottom
Stacking
StackCapacity
: Max items on topStackWeightCapacity
: Max weight on topNoTop
: Nothing can be placed on top
Grouping
Group
: Keep items togetherPriority
: Loading sequence (1-100)Gap
: Required spacing between items
Code Examples
JavaScript/Node.js
const axios = require('axios');
async function calculatePacking(items, containers) {
const response = await axios.post(
'https://server.3dpack.ing/api/calculate',
{
Candidates: containers,
Items: items
},
{
headers: {
'Content-Type': 'application/json',
'api-key': process.env.PACKING_API_KEY
}
}
);
return response.data;
}
Python
import requests
import json
def calculate_packing(items, containers):
url = "https://server.3dpack.ing/api/calculate"
headers = {
"Content-Type": "application/json",
"api-key": "YOUR_API_KEY"
}
payload = {
"Candidates": containers,
"Items": items
}
response = requests.post(url, json=payload, headers=headers)
return response.json()
C#/.NET
using System.Net.Http;
using System.Text;
using Newtonsoft.Json;
public async Task CalculatePacking(
List containers,
List- items)
{
var client = new HttpClient();
client.DefaultRequestHeaders.Add("api-key", "YOUR_API_KEY");
var payload = new {
Candidates = containers,
Items = items
};
var json = JsonConvert.SerializeObject(payload);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync(
"https://server.3dpack.ing/api/calculate",
content
);
var result = await response.Content.ReadAsStringAsync();
return JsonConvert.DeserializeObject
(result);
}
SDKs & Libraries
Rate Limits & Pricing
Plan | Rate Limit | Max Items/Request | Monthly Credits |
---|---|---|---|
Essential | 10 req/minute | 100 | 500 |
Professional | 100 req/minute | 1,000 | 5,000 |
Business | 1,000 req/minute | 10,000 | 50,000 |
Enterprise | Unlimited | Unlimited | Custom |