# Operative container types

{% hint style="info" %}
More Operative Container Type API information can be found here: [REST API documentation - Operative Container](https://fulfillmenttools.github.io/fulfillmenttools-api-reference-ui/#tag--Fulfillment-Operations---Operative-Container)
{% endhint %}

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.&#x20;

### Create a new operative container

Creating a new operative container type via REST API:

```
POST https://{YOUR-TENANT-NAME}.fulfillmenttools.com/api/operativecontainertypes
```

```json
{
  "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:

```json
   {
    "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."
}
```

{% hint style="warning" %}
In order to use Packing in the web client it is necessary to define `allowedOperativeTypes` using `PACKING_TARGET.`
{% endhint %}
