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

POST https://server.3dpack.ing/api/calculate

Calculate optimal packing for a set of items and containers.

Incremental Loading

POST 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 upright
  • NoTilt: No tilting allowed
  • KeepBottom: Heavy item, place at bottom

Stacking

  • StackCapacity: Max items on top
  • StackWeightCapacity: Max weight on top
  • NoTop: Nothing can be placed on top

Grouping

  • Group: Keep items together
  • Priority: 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

Support

Documentation

Comprehensive guides and tutorials

View Docs

API Playground

Test API calls interactively

Try It

Email Support

Get help from our team

Contact Us

Ready to Get Started?

Join thousands of developers using our API

Get Your API Key