Skip to content

About the API

Chris Mavrommatis edited this page Mar 26, 2025 · 15 revisions

Contents

Binacle.Net offers three versions of its API, each tailored to different needs.


🚨 Version 1 (Deprecated)

Version 1 focuses exclusively on the Fitting function, with the goal of finding the smallest bin that can accommodate all of the items.

Warning

This api version is deprecated as of v1.2.0 and will be removed at v2.0.0.

🔌 Endpoints

  • Presets: Returns a list of all available presets, which are predefined collections of bins.
  • Query by Preset: Send only the items and preset key. The API will return the smallest bin from the preset that fits all items (if possible).
  • Query by Custom: Send both bins and items in a single request. The API will return the smallest bin that fits all items (if possible).

⚖️ Version 2

Version 2 expands on the capabilities of Version 1 by offering both the Fitting and Packing Functions. Unlike Version 1, it doesn't focus solely on finding the smallest bin but returns results for all bins.

🔌 Endpoints

  • Presets: Lists all available presets, which are predefined collections of bins.
  • Fit By Preset: Send only the items and preset key. The API performs the Fitting function and returns results for each bin in the preset, indicating which bins can accommodate all items.
  • Fit By Custom: Send both bins and items in a request. The API performs the Fitting function and returns results for each bin, specifying which can fit all items.
  • Pack By Preset: Send only the items and the preset key. The API performs the Packing function and returns results for each bin in the preset, including the specific locations for each item.
  • Pack By Custom: Send both bins and items in a request. The API performs the Packing function, and returns results for each bin in the request, including the specific locations for each item.

📐 Fitting Parameters

Both Fitting endpoints support the following parameters, which are disabled by default:

  • Report Fitted Items: Include details of items that fit.
  • Report Unfitted Items: Include details of items that could not fit.
  • Find Smallest Bin Only: Return only the smallest bin that fits.

📦 Packing Parameters

Both Packing endpoints accept the following parameters, which are disabled by default:

  • Opt In To Early Fails: Stop early if items cannot be packed.
  • Report Packed Items Only When Fully Packed: Only show results if all items are packed.
  • Never Report Unpacked Items: Hide details of unpacked items.
  • Stop At Smallest Bin: Stop checking bins after finding the smallest valid one.

🧪 Version 3 (Experimental)

Version 3 builds upon Version 2’s Pack By Custom but only accepts an algorithm selection as a parameter. It also introduces ViPaq, a protocol for encoding packing information efficiently.

Warning

This api version is experimental and can change at any time.

🔌 Endpoints

  • Pack By Custom: Send both bins and items in a request. The API performs the Packing function, and returns results for each bin in the request, including the specific locations for each item.

📦 Packing Parameters

  • Algorithm: Select the packing algorithm to determine the best item arrangement.

🧠 Available algorithms:

  • ⚖️ FFD (First Fit Decreasing)
  • ⚠️ WFD (Worst Fit Decreasing)
  • ⚠️ BFD (Best Fit Decreasing)

Clone this wiki locally