fulfillmenttools
API documentationIncident ManagementFeedback
Developer Docs
Developer Docs
  • Developer docs
  • Getting Started
    • Quickstart
    • Integration tutorial
      • Adding facilities
      • Adding listings to facilities
      • Configuring stocks
      • Carrier configuration
      • Placing orders
      • Checkout options
      • Distributed Order Management System (Routing)
      • Local fulfillment configuration
    • Free trial
  • Technical Basics
    • Access to fulfillmenttools
    • Feature status
    • Available regions
    • Backup policies
  • Connecting to fulfillmenttools
    • Client SDKs
    • commercetools connect
    • OpenID connect
      • Configure Microsoft Entra ID / Azure Active Directory
      • Configure Keycloak
  • API
    • Core concepts
      • Authentication & authorization
      • API Versioning & lifecycle
      • Assign user to jobs
      • Localization
      • Resource timestamps
      • Custom attributes
      • Article attributes
      • Recordable attributes
      • Data update guarantees
      • Rate limits & scaling
      • Retries
      • Performance on test vs. production systems
      • Load testing
    • API calls
      • Postman
      • cURL
      • GraphQL Explorer
    • GraphQL API
    • RESTful API
      • Pagination interface
      • RapiDoc
      • OpenAPI 3.0 Spec
    • Eventing
      • Structure of an event
      • Available events
        • Event flows
      • Eventing example
      • Event export
  • Integration Guides
    • Address formats for specific carriers
    • Basics
      • Article categories
      • Audits
      • Custom services & bundled line items
      • Facilities
      • Facility groups
      • GDPR configuration
      • Listings
      • Orders
        • Order types
        • Order status
      • Remote configuration
      • Receipts
      • Search
      • Subscribe to events
      • Sticker
      • Stocks
      • Storage locations
      • Tags
      • Users
    • Channel inventory
    • External actions
    • Facility discounts
    • Inbound process
    • Operative container types
    • Outbound stocks
    • Purchase order
    • Receipt
    • Routing strategy
    • Show sticker to clients
    • Stow jobs
  • More Integration Guides
    • Carrier management
      • Introduction to carrier configuration
      • Required data when operating carriers
      • Adding & connecting carriers to facilities
      • Custom carrier
    • Configurations for order fulfillment
      • Picking configuration
      • Packing configuration
      • Handover configuration
      • Printing and document configuration
      • Parcel tag configuration
      • Headless order fulfillment
      • Short-pick reasons
      • External documents in order fulfillment
      • Service jobs
      • Load units
      • Running sequence
    • Notifications
    • Returns
Powered by GitBook
On this page
Edit on GitHub
  1. Integration Guides

Operative container types

Last updated 4 days ago

More Operative Container Type API information can be found here:

Operative container types provide a structured approach to categorize and handle containers within fulfillment operations, covering the picking, packing, and handover processes. The central container type definition, OperativeContainerType is utilized across all modules of the platform.

Create a new operative container

Creating a new operative container type via REST API:

POST https://{YOUR-TENANT-NAME}.fulfillmenttools.com/api/operativecontainertypes
{
  "descriptionLocalized": {
    "de_DE": "Sie ist eckig und schön groß, da passen eine Menge fantastische Dinge rein.",
    "en_US": "It is square and nicely large, so a lot of fantastic things can fit inside."
  },
  "iconUrl": "string",
  "nameLocalized": {
    "de_DE": "Dies ist eine Box",
    "en_US": "This is a box"
  },
  "priority": 5,
  "dimensions": {
    "heightInCm": 50,
    "lengthInCm": 100,
    "weightInG": 1700,
    "widthInCm": 25.5
  },
  "weightLimitInG": 2500,
  "customAttributes": {},
  "allowedOperativeTypes": [
    "PICKING", "PACKING_TARGET"
  ],
  "scannableIdentifiers": [
    {
      "searchType": "CONTAINS",
      "identifiers": [
        "ABC"
      ]
    }
  ],
  "icon": {
    "content": "JVBERi0xLjEKJcKlwrHDqwoKMSAwIG9iagogIDw8IC9UeXBlIC9DYXRhbG9nCiAgICAgL1BhZ2VzIDIgMCBSCiAgPj4KZW5kb2JqCgoyIDAgb2JqCiAgPDwgL1R5cGUgL1BhZ2VzCiAgICAgL0tpZHMgWzMgMCBSXQogICAgIC9Db3VudCAxCiAgICAgL01lZGlhQm94IFswIDAgMzAwIDE0NF0KICA+PgplbmRvYmoKCjMgMCBvYmoKICA8PCAgL1R5cGUgL1BhZ2UKICAgICAgL1BhcmVudCAyIDAgUgogICAgICAvUmVzb3VyY2VzCiAgICAgICA8PCAvRm9udAogICAgICAgICAgIDw8IC9GMQogICAgICAgICAgICAgICA8PCAvVHlwZSAvRm9udAogICAgICAgICAgICAgICAgICAvU3VidHlwZSAvVHlwZTEKICAgICAgICAgICAgICAgICAgL0Jhc2VGb250IC9UaW1lcy1Sb21hbgogICAgICAgICAgICAgICA+PgogICAgICAgICAgID4+CiAgICAgICA+PgogICAgICAvQ29udGVudHMgNCAwIFIKICA+PgplbmRvYmoKCjQgMCBvYmoKICA8PCAvTGVuZ3RoIDU1ID4+CnN0cmVhbQogIEJUCiAgICAvRjEgMTggVGYKICAgIDAgMCBUZAogICAgKEhlbGxvIFdvcmxkKSBUagogIEVUCmVuZHN0cmVhbQplbmRvYmoKCnhyZWYKMCA1CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDAxOCAwMDAwMCBuIAowMDAwMDAwMDc3IDAwMDAwIG4gCjAwMDAwMDAxNzggMDAwMDAgbiAKMDAwMDAwMDQ1NyAwMDAwMCBuIAp0cmFpbGVyCiAgPDwgIC9Sb290IDEgMCBSCiAgICAgIC9TaXplIDUKICA+PgpzdGFydHhyZWYKNTY1CiUlRU9GCg==",
    "name": "example.pdf"
  }
}

To use an operative container type in a specific process, specify the desired operations, such as PICKING, PACKING_TARGET, PACKING_SOURCE, and HANDOVER, using the allowedOperativeTypes enumeration.

If the request is successful, a 201 CREATED response is received with a body like this:

   {
    "priority": 5,
    "nameLocalized": {
        "de_DE": "Dies ist eine Box",
        "en_US": "This is a box"
    },
    "descriptionLocalized": {
        "de_DE": "Sie ist eckig und schön groß, da passen eine Menge fantastische Dinge rein.",
        "en_US": "It is square and nicely large, so a lot of fantastic things can fit inside."
    },
    "dimensions": {},
    "weightLimitInG": 500,
    "iconUrl": "https://cdn-icons-png.flaticon.com/512/1380/1380641.png",
    "allowedOperativeTypes": [
        "PICKING",
        "PACKING_TARGET"
    ],
    "scannableIdentifiers": [
        {
            "identifiers": [
                "ABCD"
            ],
            "searchType": "CONTAINS"
        }
    ],
    "customAttributes": {},
    "version": 1,
    "lastModified": "2025-06-04T15:35:29.659Z",
    "id": "5f09e57b-571a-45d9-96bd-020308275dd6",
    "created": "2025-06-04T15:35:29.659Z",
    "name": "Dies ist eine Box",
    "description": "Sie ist eckig und schön groß, da passen eine Menge fantastische Dinge rein."
}

In order to use Packing in the web client it is necessary to define allowedOperativeTypes using PACKING_TARGET.

REST API documentation - Operative Container