{
  "openapi": "3.0.1",
  "info": {
    "title": "QLS Fulfilment and Parcel Service - V1",
    "description" : "The QLS Fulfilment and Parcel Service API provides developers with programmatic access to our platform's functionality for shipping and order processing. The API can be used to place, track and manage orders, as well as access shipment information and reports. Please note that some of the older endpoints of the QLS Fulfillment and Parcel Service API are deprecated. This is because the developers have opted for a new REST-like URL structure for the API, which means that some older endpoints are no longer compatible. If you are currently using one of these endpoints, it is recommended that you use the new URL structure for that functionality.\n\nThe API can be accessed via [api.pakketdienstqls.nl](https://api.pakketdienstqls.nl) and requires `BasicAuth` with the login details of [mijn.pakketdienstqls.nl](mijn.pakketdienstqls.nl) for authentication. In addition, the API offers the option of using webhooks. This allows developers to receive real-time updates for events such as changes to the status of an order or delivery. To take advantage of this functionality, we recommend that you consult the [knowledge base](https://knowledge.qls.nl) for more information on how to set up and use webhooks. For more information about using the API, please consult our [knowledge base](https://knowledge.qls.nl), [qls.nl](qls.nl) or contact our [IT Support](mailto:it-support@qls.nl) department.\n\nThe API is available in two versions: Version 1 (v1) and Version 2 (v2). Version 2 introduces newer, optimized endpoints that improve performance and response times compared to their counterparts in Version 1. While both versions can be used interchangeably, it is strongly recommended to utilize Version 2 endpoints whenever possible to benefit from these enhancements.",
    "version": "1.0",
    "contact": {
      "name": "IT Support",
      "email": "it@pakketdienstqls.nl"
    },
    "termsOfService": "https://qls.nl/privacy"
  },
  "externalDocs" : {
    "description" : "Knowledge base",
    "url": "https://knowledge.qls.nl"
  },
  "servers": [
    {
      "url": "https://api.pakketdienstqls.nl",
      "description": "Production environment"
    }
  ],
  "tags" : [
    {
      "name": "Companies",
      "description" : "At QLS, customers are represented by a `Company`"
    },
    {
      "name": "Brands",
      "description" : "A `Brand` is used for shipping-, customs-, fulfilment- and return policies. They are also referred to as trade names"
    },
    {
      "name": "Contacts",
      "description" : "A `Contact` contains address information and can for example be attached to brands, orders and shipments."
    },
    {
      "name": "Suppliers",
      "description" : "To generate useful reports, a `Supplier` is attached to products."
    },
    {
      "name": "Shipments",
      "description" : "A `Shipment` is used to send and track a package."
    },
    {
      "name": "Products",
      "description" : "A shipment can only exist with a `Product` and a `ProductCombination`, the product represents the shipping method and the combination bundles the different delivery options."
    },
    {
      "name": "FulfillmentOrders",
      "description" : "Using a `FulfillmentOrder`, a customer requests a set of products to be packed and shipped."
    },
    {
      "name": "FulfillmentProducts",
      "description" : "A `FulfillmentProduct` represents an orderable product. Warehouse stocks are attached to track inventory and stock levels."
    },
    {
      "name": "FulfillmentProductBarcodes",
      "description" : "Multi-barcode/multi-ean is supported by attaching `FulfillmentProductBarcode` objects to a `FulfillmentProduct`"
    },
    {
      "name": "FulfillmentProductMasterCartons",
      "description" : "A `FulfillmentProductMasterCarton` improves the inbound process by setting a fixed products amount within a master carton."
    },
    {
      "name": "FulfillmentPurchaseOrders",
      "description" : "Announce an incoming shipment of purchased goods using a `FulfillmentPurchaseOrder`"
    },
    {
      "name": "FulfillmentReceipts",
      "description" : "A `FulfillmentReceipt` represents a shipment to a warehouse and belongs to a `FulfillmentPurchaseOrder`"
    },
    {
      "name": "FulfillmentReceiptBoxes",
      "description" : "A `FulfillmentReceiptBox` represents a single box in a `FulfillmentReceipt`"
    }
  ],
  "paths": {
    "/companies": {
      "get": {
        "tags": [
          "Companies"
        ],
        "description": "Get a list of companies that are linked to the authenticated user",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Company"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}": {
      "get": {
        "tags": [
          "Companies"
        ],
        "description": "Get company details",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Company"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/contacts/{contactId}": {
      "put": {
        "tags": [
          "Contacts"
        ],
        "description": "Update a contact",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "contactId",
            "in": "path",
            "description": "ID of the contact",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "companyname": {
                    "type": "string"
                  },
                  "street": {
                    "type": "string"
                  },
                  "housenumber": {
                    "type": "string"
                  },
                  "address2": {
                    "type": "string"
                  },
                  "postalcode": {
                    "type": "string"
                  },
                  "locality": {
                    "type": "string"
                  },
                  "country": {
                    "type": "string"
                  },
                  "state_code": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "vat": {
                    "type": "string"
                  },
                  "eori": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/suppliers": {
      "get": {
        "deprecated": false,
        "tags": [
          "Suppliers"
        ],
        "description": "Get a list of company suppliers",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Supplier"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      },
      "post": {
        "deprecated": false,
        "tags": [
          "Suppliers"
        ],
        "description": "Create a company supplier",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "required": [
                  "name"
                ],
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Name of the supplier"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Supplier"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/suppliers/{supplierId}": {
      "get": {
        "deprecated": false,
        "tags": [
          "Suppliers"
        ],
        "description": "Get a company supplier",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "supplierId",
            "in": "path",
            "description": "ID of the supplier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Supplier"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      },
      "patch": {
        "deprecated": false,
        "tags": [
          "Suppliers"
        ],
        "description": "Update a company supplier",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "supplierId",
            "in": "path",
            "description": "ID of the supplier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "required": [
                  "name"
                ],
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Name of the supplier"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Supplier"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      },
      "delete": {
        "deprecated": false,
        "tags": [
          "Suppliers"
        ],
        "description": "Delete a company supplier",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "supplierId",
            "in": "path",
            "description": "ID of the supplier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/brands": {
      "get": {
        "tags": [
          "Brands"
        ],
        "description": "Get a list of company brands",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Brand"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/brands/{brandId}": {
      "get": {
        "tags": [
          "Brands"
        ],
        "description": "Get a list of company brands",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "brandId",
            "in": "path",
            "description": "ID of the Brand",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Brand"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/service-points/{country}/{postalCode}": {
      "get": {
        "deprecated": false,
        "tags": [
          "ServicePoints"
        ],
        "description": "Get a list of nearby service points for your enabled service point products.",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "country",
            "in": "path",
            "description": "Country code, for example: NL",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "postalCode",
            "in": "path",
            "description": "The postalcode to search for nearby servicepoints. For example : 1234AB",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServicePoint"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/products/{productId}/service-points/{country}/{postalCode}": {
      "get": {
        "deprecated": false,
        "tags": [
          "ServicePoints"
        ],
        "description": "Get a list of nearby service points for a specific service point product.",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "description": "ID of the product (shipping method)",
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "country",
            "in": "path",
            "description": "Country code, for example: NL",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "postalCode",
            "in": "path",
            "description": "The postalcode to search for nearby servicepoints. For example : 1234AB",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServicePoint"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/products": {
      "get": {
        "tags": [
          "Products"
        ],
        "description": "Get a list of products that are available for a company",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Product"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/shipments": {
      "get": {
        "tags": [
          "Shipments"
        ],
        "description": "Get a list of company shipments",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[shop_integration_id]",
            "in": "query",
            "description": "Filter shipments by shop integration id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[shop_integration_reference]",
            "in": "query",
            "description": "Filter shipments by shop integration reference",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[barcode]",
            "in": "query",
            "description": "Filter shipments by barcode",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[brand_id]",
            "in": "query",
            "description": "Filter shipments by brand id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[reference]",
            "in": "query",
            "description": "Filter shipments by reference",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[status]",
            "in": "query",
            "description": "Filter shipments by status",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[created >]",
            "in": "query",
            "description": "Filter shipments by greater than created date",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[created <]",
            "in": "query",
            "description": "Filter shipments by less than created date",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[modified >]",
            "in": "query",
            "description": "Filter shipments by greater than modified date",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[modified <]",
            "in": "query",
            "description": "Filter shipments by less than modified date",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[receiver_contact.id]",
            "in": "query",
            "description": "Filter shipments by receiver id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[receiver_contact.companyname]",
            "in": "query",
            "description": "Filter shipments by receiver companyname",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[receiver_contact.name]",
            "in": "query",
            "description": "Filter shipments by receiver name",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[receiver_contact.street]",
            "in": "query",
            "description": "Filter shipments by receiver street",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[receiver_contact.housenumber]",
            "in": "query",
            "description": "Filter shipments by receiver housenumber",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[receiver_contact.address2]",
            "in": "query",
            "description": "Filter shipments by receiver address2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[receiver_contact.country]",
            "in": "query",
            "description": "Filter shipments by receiver country",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[receiver_contact.postalcode]",
            "in": "query",
            "description": "Filter shipments by receiver postalcode",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[receiver_contact.email]",
            "in": "query",
            "description": "Filter shipments by receiver email",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Search shipments",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Shipment"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      },
      "post": {
        "deprecated" : true,
        "tags": [
          "Shipments"
        ],
        "description": "Create a single shipment",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Shipment object",
          "content": {
            "application/json": {
              "schema": {
                "required": [
                  "brand_id",
                  "piece_total",
                  "product_combination_id",
                  "product_id",
                  "weight"
                ],
                "type": "object",
                "properties": {
                  "weight": {
                    "type": "integer"
                  },
                  "reference": {
                    "type": "string"
                  },
                  "brand_id": {
                    "type": "string"
                  },
                  "type": {
                    "description" : "Type to create: 'delivery' or 'return' or 'pickup'",
                    "type": "string"
                  },
                  "product_id": {
                    "type": "integer"
                  },
                  "product_combination_id": {
                    "type": "integer"
                  },
                  "cod_amount": {
                    "type": "integer"
                  },
                  "piece_total": {
                    "type": "integer"
                  },
                  "receiver_contact": {
                    "$ref": "#/components/schemas/Contact"
                  },
                  "customs_shipment_type": {
                    "type": "string"
                  },
                  "customs_invoice_number": {
                    "type": "string"
                  },
                  "shipment_products": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/ShipmentProducts"
                    }
                  },
                  "announce_delayed" : {
                    "description" : "Date field in formay 'yyyy-mm-dd' for pickup shipments",
                    "type": "string"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response containing the shipment and shipment labels",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "meta": {
                    "code": 200
                  },
                  "data": {
                    "id": "995e9abf-afbb-4c09-a688-248557ad66d1",
                    "token": "48fb0f1b-40ef-41e0-8260-b86f99efa7c1",
                    "created": "2022-04-29T09:59:18+02:00",
                    "shipments": [
                      {
                        "id": "b0f2ab02-69c6-48d6-be1c-5e5eff3c10bb",
                        "barcode": "3SPPSP1234567",
                        "tracking_url": "https://jouw.postnl.nl/track-and-trace/3SPPSP1234567-NL-1234AB",
                        "product": {
                          "customs_declaration_type": "document",
                          "has_custom_document": false,
                          "has_label": true,
                          "has_zpl_label": true
                        },
                        "delivery_contact": {
                          "country": "NL",
                          "country_detail": {
                            "eu_tax": true
                          }
                        }
                      }
                    ],
                    "labels": {
                      "a4": {
                        "offset_0": "https://api.mijn.pakketdienstqls.nl/pdf/labels/995e9abf-afbb-4c09-a688-248557ad66d1.pdf?token=48fb0f1b-40ef-41e0-8260-b86f99efa7c1&offset=0&size=a4",
                        "offset_1": "https://api.mijn.pakketdienstqls.nl/pdf/labels/995e9abf-afbb-4c09-a688-248557ad66d1.pdf?token=48fb0f1b-40ef-41e0-8260-b86f99efa7c1&offset=1&size=a4",
                        "offset_2": "https://api.mijn.pakketdienstqls.nl/pdf/labels/995e9abf-afbb-4c09-a688-248557ad66d1.pdf?token=48fb0f1b-40ef-41e0-8260-b86f99efa7c1&offset=2&size=a4",
                        "offset_3": "https://api.mijn.pakketdienstqls.nl/pdf/labels/995e9abf-afbb-4c09-a688-248557ad66d1.pdf?token=48fb0f1b-40ef-41e0-8260-b86f99efa7c1&offset=3&size=a4"
                      },
                      "a6": "https://api.mijn.pakketdienstqls.nl/pdf/labels/995e9abf-afbb-4c09-a688-248557ad66d1.pdf?token=48fb0f1b-40ef-41e0-8260-b86f99efa7c1&size=a6",
                      "a6_zpl": "https://api.mijn.pakketdienstqls.nl/pdf/labels/995e9abf-afbb-4c09-a688-248557ad66d1.zpl?token=48fb0f1b-40ef-41e0-8260-b86f99efa7c1&size=a6"
                    }
                  },
                  "pagination": []
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/shipments/{shipmentId}": {
      "get": {
        "tags": [
          "Shipments"
        ],
        "description": "Get a company shipment",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "shipmentId",
            "in": "path",
            "description": "ID of a shipment",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "returnShipmentLabel",
            "in": "query",
            "description": "Adds label to the response",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Shipment"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/shipments/{shipmentId}/returns": {
      "get": {
        "tags": [
          "Shipments"
        ],
        "description": "Get a return shipment for shipment",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "shipmentId",
            "in": "path",
            "description": "ID of a shipment",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Shipment"
                }
              }
            }
          },
          "400": {
            "description": "Shipment does not have a return shipping product"
          },
          "404": {
            "description": "Record not found in table"
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/fulfillment/orders": {
      "get": {
        "tags": [
          "FulfillmentOrders"
        ],
        "description": "Get a list of orders.<br>Possible statuses:<br>error_validation<br>concept<br>received<br>pending<br>partically_sent<br>sent",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[shop_integration_id]",
            "in": "query",
            "description": "Filter products by shop integration id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[shop_integration_reference]",
            "in": "query",
            "description": "Filter products by shop integration reference",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[amount_total]",
            "in": "query",
            "description": "Filter products by total product amount",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[brand_id]",
            "in": "query",
            "description": "Filter products by brand id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[customer_reference]",
            "in": "query",
            "description": "Filter products by reference",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[status]",
            "in": "query",
            "description": "Filter products by status",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[created >]",
            "in": "query",
            "description": "Filter products by greater than created date",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[created <]",
            "in": "query",
            "description": "Filter products by less than created date",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[modified >]",
            "in": "query",
            "description": "Filter products by greater than modified date",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[modified <]",
            "in": "query",
            "description": "Filter products by less than modified date",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[receiver_contact.id]",
            "in": "query",
            "description": "Filter products by receiver id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[receiver_contact.companyname]",
            "in": "query",
            "description": "Filter products by receiver companyname",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[receiver_contact.name]",
            "in": "query",
            "description": "Filter products by receiver name",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[receiver_contact.street]",
            "in": "query",
            "description": "Filter products by receiver street",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[receiver_contact.housenumber]",
            "in": "query",
            "description": "Filter products by receiver housenumber",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[receiver_contact.address2]",
            "in": "query",
            "description": "Filter products by receiver address2",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[receiver_contact.country]",
            "in": "query",
            "description": "Filter products by receiver country",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[receiver_contact.postalcode]",
            "in": "query",
            "description": "Filter products by receiver postalcode",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[receiver_contact.email]",
            "in": "query",
            "description": "Filter products by receiver email",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Search products",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FulfillmentOrder"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "FulfillmentOrders"
        ],
        "description": "Create a single order",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Order object",
          "content": {
            "application/json": {
              "schema": {
                "required": [
                  "brand_id"
                ],
                "type": "object",
                "properties": {
                  "brand_id": {
                    "type": "string"
                  },
                  "customer_reference": {
                    "type": "string"
                  },
                  "processable": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "servicepoint_code": {
                    "type": "string"
                  },
                  "total_price": {
                    "type": "number"
                  },
                  "receiver_contact": {
                    "$ref": "#/components/schemas/Contact"
                  },
                  "custom_values": {
                    "type" : "array",
                    "items": {
                      "$ref": "#/components/schemas/FulfillmentOrderValue"
                    }
                  },
                  "products": {
                    "type": "array",
                    "example": [
                      {
                        "amount_ordered": 4,
                        "product_id": "d7d1b027-6eab-4be7-a769-6d34e3461676",
                        "name": "Super Product",
                        "custom_values": [
                          {
                            "key": "zalando_invoice_number",
                            "value": "123"
                          }
                        ]
                      },
                      {
                        "amount_ordered": 2,
                        "product_id": "fd1d687e-adfc-4a22-9218-222160fc6842",
                        "name": "Another Great Product"
                      }
                    ],
                    "items": {
                      "$ref": "#/components/schemas/FulfillmentOrderProduct"
                    }
                  },
                  "delivery_options": {
                    "type" : "array",
                    "items": {
                      "type" : "string"
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentOrder"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/fulfillment/orders/{orderId}": {
      "get": {
        "tags": [
          "FulfillmentOrders"
        ],
        "description": "Get a Company Fulfillment Order. <br>Possible statuses:<br>error_validation<br>concept<br>received<br>pending<br>partically_sent<br>sent",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "ID of a order",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentOrder"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "FulfillmentOrders"
        ],
        "description": "Update a Company Fulfillment Order",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "ID of a order",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "processable": {
                    "type": "string",
                    "format": "date-time",
                    "description": "When to process this order in ISO-8601"
                  },
                  "customer_reference": {
                    "type": "string"
                  },
                  "customer_remarks": {
                    "type": "string"
                  },
                  "servicepoint_code": {
                    "type": "string"
                  },
                  "hold": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentOrder"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/fulfillment/orders/{orderId}/cancel": {
      "post": {
        "tags": [
          "FulfillmentOrders"
        ],
        "description": "Update a Company Fulfillment Order",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "ID of an order",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentOrder"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/fulfillment/orders/{orderId}/products/{productId}": {
      "get": {
        "tags": [
          "FulfillmentOrders"
        ],
        "description": "Get fulfillment order product",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "ID of an order",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "description": "ID of the order product",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentOrderProduct"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "FulfillmentOrders"
        ],
        "description": "Update a fulfillment order product",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "ID of an order",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "description": "ID of the order product",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "price_per_unit": {
                    "type": "string"
                  },
                  "amount_ordered": {
                    "type": "integer"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentOrderProduct"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/fulfillment/orders/{orderId}/products": {
      "post": {
        "tags": [
          "FulfillmentOrders"
        ],
        "description": "Create a fulfillment order product",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "ID of an order",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "product_id": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "price_per_unit": {
                    "type": "string"
                  },
                  "amount_ordered": {
                    "type": "integer"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FulfillmentOrderProduct"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/fulfillment/products": {
      "get": {
        "tags": [
          "FulfillmentProducts"
        ],
        "description": "Get a list of products",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[name]",
            "in": "query",
            "description": "Filter products by name",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[id]",
            "in": "query",
            "description": "Filter products by id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[article_number]",
            "in": "query",
            "description": "Filter products by article number",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[ean]",
            "in": "query",
            "description": "Filter products by ean",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[sku]",
            "in": "query",
            "description": "Filter products by sku",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[need_serial_number]",
            "in": "query",
            "description": "Filter products by need serial number",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "filter[amount_available]",
            "in": "query",
            "description": "Filter products by available stock",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "filter[amount_available >]",
            "in": "query",
            "description": "Filter products by available stock greater than",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "filter[amount_available <]",
            "in": "query",
            "description": "Filter products by available stock less than",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "filter[amount_total]",
            "in": "query",
            "description": "Filter products by total stock",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "filter[amount_total >]",
            "in": "query",
            "description": "Filter products by total stock greater than",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "filter[amount_total <]",
            "in": "query",
            "description": "Filter products by total stock less than",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "filter[created >]",
            "in": "query",
            "description": "Filter products by greater than created date",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[created <]",
            "in": "query",
            "description": "Filter products by less than created date",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[modified >]",
            "in": "query",
            "description": "Filter products by greater than modified date",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[modified <]",
            "in": "query",
            "description": "Filter products by less than modified date",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FulfillmentProduct"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "FulfillmentProducts"
        ],
        "description": "Create a single product",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Product object",
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "required": [
                  "name"
                ],
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "ean": {
                    "type": "string"
                  },
                  "sku": {
                    "type": "string"
                  },
                  "image_url": {
                    "type": "string"
                  },
                  "shop_integration_id": {
                    "type": "string"
                  },
                  "shop_integration_reference": {
                    "type": "string"
                  },
                  "price_cost": {
                    "type": "number"
                  },
                  "price_store": {
                    "type": "number"
                  },
                  "order_unit": {
                    "type": "number",
                    "nullable": true,
                    "description": "Order unit of a product. For example, if you always order the product in quantities of 6 pieces, the order unit is 6. QLS uses this to prevent errors in purchase orders."
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentProduct"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/fulfillment/products/backorders": {
      "get": {
        "tags": [
          "FulfillmentProducts"
        ],
        "description": "Get a list of fulfillment products that are in backorder",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[created >]",
            "in": "query",
            "description": "Filter fulfillment products by create datetime",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[created <]",
            "in": "query",
            "description": "Filter fulfillment products by create datetime",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf" : [
                    {
                      "$ref": "#/components/schemas/ApiResponse"
                    },
                    {
                      "properties": {
                        "meta": {
                          "properties" : {
                            "code": {
                              "example" : 200
                            }
                          }
                        },
                        "errors": {
                          "example" : []
                        },
                        "data": {
                          "type" : "array",
                          "example" : [
                            {
                              "amount": 3,
                              "product": {
                                "id": "e6703fa1-72e0-4330-80da-0892563a1096",
                                "name": "2-pack boxershorts arches",
                                "ean": "8719214785963",
                                "sku": "ARCH-1"
                              }
                            }
                          ],
                          "items" : {
                            "type" : "object",
                            "properties" : {
                              "amount" : {
                                "type" : "string",
                                "description" : "Amount of products that are in backorder",
                                "example" : 3
                              },
                              "product" : {
                                "type" : "object",
                                "description" : "Object representing a fulfillment product",
                                "properties" : {
                                  "id": {
                                    "type": "string",
                                    "example": "e6703fa1-72e0-4330-80da-0892563a1096"
                                  },
                                  "name": {
                                    "type": "string",
                                    "example": "2-pack boxershorts arches"
                                  },
                                  "ean": {
                                    "type": "string",
                                    "example": "8719214785963"
                                  },
                                  "sku": {
                                    "type": "string",
                                    "example" : "ARCH-1"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  ]
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/X-RateLimit-Limit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/X-RateLimit-Remaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/X-RateLimit-Reset"
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/fulfillment/products/stock": {
      "get": {
        "tags": [
          "FulfillmentProducts"
        ],
        "description": "Get a list of fulfillment products with only stock info. By default each request is limited to 100 returns. Use parameter 'page' to get more.",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name" : "page",
            "in" : "query",
            "description" : "Current page",
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "filter[greater_than_created]",
            "in" : "query",
            "description" : "Filter to get stock where product created is after specified. Format d-m-Y H:i e.g. 1-1-2024 00:01",
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "filter[less_than_created]",
            "in" : "query",
            "description" : "Filter to get stock where product created is before specified. Format d-m-Y H:i e.g. 1-1-2024 00:01",
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "filter[greater_than_modified]",
            "in" : "query",
            "description" : "Filter to get stock where product modified is after specified. Format d-m-Y H:i e.g. 1-1-2024 00:01",
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "filter[less_than_modified]",
            "in" : "query",
            "description" : "Filter to get stock where product modified is before specified. Format d-m-Y H:i e.g. 1-1-2024 00:01",
            "schema" : {
              "type" : "string"
            }
          },
          {
            "name" : "filter[product_id]",
            "in" : "query",
            "description" : "Filter by specific fulfillment product id",
            "schema" : {
              "type" : "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf" : [
                    {
                      "$ref": "#/components/schemas/ApiResponse"
                    },
                    {
                      "properties": {
                        "meta": {
                          "properties" : {
                            "code": {
                              "example" : 200
                            }
                          }
                        },
                        "errors": {
                          "example" : []
                        },
                        "data": {
                          "type" : "array",
                          "example" : [
                            {
                              "id": "39af23c9-ec5c-457e-9f6f-13241bbeb9a2",
                              "name": "2-pack boxershorts arches",
                              "ean": "8719214785963",
                              "sku": "ARCH-1",
                              "amount_total": 0,
                              "amount_reserved": 0,
                              "amount_blocked" : 0,
                              "amount_available": 0,
                              "amount_salable": 0,
                              "amount_sold": 0,
                              "amount_backorder": 0,
                              "amount_forecast": 8,
                              "amount_internally_moving": 0,
                              "amount_prognose": 8,
                              "amount_incoming": 8,
                              "amount_preorderable": 0
                            }
                          ],
                          "items" : {
                            "type" : "object",
                            "properties" : {
                              "id" : {
                                "type" : "string",
                                "description" : "Product id",
                                "example" : "39af23c9-ec5c-457e-9f6f-13241bbeb9a2"
                              },
                              "name" : {
                                "type" : "string",
                                "description" : "Product name",
                                "example" : "2-pack boxershorts arches"
                              },
                              "ean" : {
                                "type" : "string",
                                "description" : "Product EAN",
                                "example" : "8719214785963"
                              },
                              "sku" : {
                                "type" : "string",
                                "description" : "Product SKU",
                                "example" : "ARCH-1"
                              },
                              "amount_total" : {
                                "type" : "integer",
                                "description" : "Total amount",
                                "example" : 0
                              },
                              "amount_reserved" : {
                                "type" : "integer",
                                "description" : "Total amount reserved",
                                "example" : 0
                              },
                              "amount_available" : {
                                "type" : "integer",
                                "description" : "Total amount available",
                                "example" : 0
                              },
                              "amount_salable" : {
                                "type" : "integer",
                                "description" : "Total amount available for sale",
                                "example" : 0
                              },
                              "amount_sold" : {
                                "type" : "integer",
                                "description" : "Total amount sold",
                                "example" : 0
                              },
                              "amount_backorder" : {
                                "type" : "integer",
                                "description" : "Total amount in backorder",
                                "example" : 0
                              },
                              "amount_forecast" : {
                                "type" : "integer",
                                "description" : "Total amount in forecasted",
                                "example" : 0
                              },
                              "amount_internally_moving" : {
                                "type" : "integer",
                                "description" : "Total amount internally moving at warehouse QLS",
                                "example" : 0
                              },
                              "amount_prognose" : {
                                "type" : "integer",
                                "description" : "Total amount prognosed",
                                "example" : 0
                              },
                              "amount_incoming" : {
                                "type" : "integer",
                                "description" : "Total amount incoming",
                                "example" : 0
                              },
                              "amount_preorderable" : {
                                "type" : "integer",
                                "description" : "Total amount incoming with preorder",
                                "example" : 0
                              }
                            }
                          }
                        }
                      }
                    }
                  ]
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/X-RateLimit-Limit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/X-RateLimit-Remaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/X-RateLimit-Reset"
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/429"
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/fulfillment/products/{productId}": {
      "get": {
        "tags": [
          "FulfillmentProducts"
        ],
        "description": "Get a company fulfillment product",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "description": "ID of a product",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentProduct"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "FulfillmentProducts"
        ],
        "description": "Update a company fulfillment product",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "description": "ID of a product",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Product object",
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "ean": {
                    "type": "string",
                    "description": "EAN of a product"
                  },
                  "sku": {
                    "type": "string",
                    "description": "SKU of a product"
                  },
                  "image_url": {
                    "type": "string",
                    "description": "Image url of a product"
                  },
                  "shop_integration_id": {
                    "type": "string"
                  },
                  "shop_integration_reference": {
                    "type": "string"
                  },
                  "price_cost": {
                    "type": "number"
                  },
                  "price_store": {
                    "type": "number"
                  },
                  "order_unit": {
                    "type": "number",
                    "nullable": true,
                    "description": "Order unit of a product. For example, if you always order the product in quantities of 6 pieces, the order unit is 6. QLS uses this to prevent errors in purchase orders."
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentProduct"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "FulfillmentProducts"
        ],
        "description": "Delete a company fulfillment product",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "description": "ID of a product",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "null"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/fulfillment/products/{productId}/merge": {
      "post": {
        "tags": [
          "FulfillmentProducts"
        ],
        "description": "Merge current product with specified product_id in body",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "description": "ID of a product",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "required": [
                  "product_id"
                ],
                "type": "object",
                "properties": {
                  "product_id": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "302": {
            "description": "Successful response",
            "headers": {
              "Location": {
                "description": "The url of the destination product",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/fulfillment/products/{productId}/barcodes": {
      "post": {
        "tags": [
          "FulfillmentProductBarcodes"
        ],
        "description": "Create a company fulfillment product barcode",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "description": "ID of a product",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Product barcode",
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "barcode": {
                    "type": "string",
                    "description": "Extra barcode to add"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      },
      "get": {
        "tags": [
          "FulfillmentProductBarcodes"
        ],
        "description": "Get company fulfillment product barcodes",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "description": "ID of a product",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/fulfillment/products/{productId}/barcodes/{barcodeId}": {
      "put": {
        "tags": [
          "FulfillmentProductBarcodes"
        ],
        "description": "Update a company fulfillment product barcode",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "description": "ID of a product",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "barcodeId",
            "in": "path",
            "description": "ID of a barcode",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Product barcode",
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "barcode": {
                    "type": "string",
                    "description": "New barcode"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "FulfillmentProductBarcodes"
        ],
        "description": "Delete a company fulfillment product barcode",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "description": "ID of a product",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "barcodeId",
            "in": "path",
            "description": "ID of a barcode",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "null"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/fulfillment/products/{productId}/master-cartons": {
      "post": {
        "tags": [
          "FulfillmentProductMasterCartons"
        ],
        "description": "Create a company fulfillment product master carton",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "description": "ID of a product",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Product master carton",
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "integer",
                    "description": "amount of products in the master carton to add"
                  },
                  "ean": {
                    "type": "string",
                    "description": "Master carton ean to add"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FulfillmentProductMasterCarton"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      },
      "get": {
        "tags": [
          "FulfillmentProductMasterCartons"
        ],
        "description": "Get a list of company fulfillment product master cartons",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "description": "ID of a product",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentProductMasterCarton"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/fulfillment/products/{productId}/master-cartons/{masterCartonId}": {
      "put": {
        "tags": [
          "FulfillmentProductMasterCartons"
        ],
        "description": "Update a company fulfillment product master carton",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "description": "ID of a product",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "masterCartonId",
            "in": "path",
            "description": "ID of a master carton",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Product barcode",
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "integer",
                    "description": "amount of products in the master carton to add"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentProductMasterCarton"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "FulfillmentProductMasterCartons"
        ],
        "description": "Delete a company fulfillment product master carton",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "description": "ID of a product",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "masterCartonId",
            "in": "path",
            "description": "ID of a master carton",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "null"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/fulfillment/products/{productId}/stocks": {
      "get": {
        "deprecated" : true,
        "tags": [
          "FulfillmentProducts"
        ],
        "description": "Get a company fulfillment product stock",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "description": "ID of a product",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "filter[warehouse.company_id]",
            "in": "query",
            "description": "Filter stocks by warehouse company id",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/fulfillment/products/{productId}/suppliers": {
      "get": {
        "deprecated" : false,
        "tags": [
          "FulfillmentProducts"
        ],
        "description": "Get all the suppliers linked to the product.",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "description": "ID of the fulfillment product",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "post": {
        "deprecated": false,
        "tags": [
          "FulfillmentProducts"
        ],
        "description": "Link a company supplier to a fulfillment product. Creates supplier if supplier does not exist",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "description": "ID of the fulfillment product",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "required": [
                  "supplierName"
                ],
                "properties": {
                  "supplierName": {
                    "type": "string",
                    "description": "Name of the supplier"
                  },
                  "supplierCode": {
                    "type": "string",
                    "description": "Code of the supplier"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Supplier"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/fulfillment/products/{productId}/suppliers/{supplierId}": {
      "delete": {
        "deprecated": false,
        "tags": [
          "FulfillmentProducts"
        ],
        "description": "Delete a company supplier from a fulfillment product",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "description": "ID of the fulfillment product",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "supplierId",
            "in": "path",
            "description": "ID of the supplier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful response"
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/fulfillment/purchase-orders": {
      "get": {
        "tags": [
          "FulfillmentPurchaseOrders"
        ],
        "description": "List all purchase orders (paginated). <br>Possible statuses:<br>announced<br>partiallyarrived<br>arrived<br>complete<br>incomplete<br>overcomplete",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "filter[customer_reference]",
            "in": "query",
            "description": "Filter purchase orders by reference",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[preorder_allowed]",
            "in": "query",
            "description": "Filter purchase orders by preorder_allowed",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[status]",
            "in": "query",
            "description": "Filter purchase orders by status",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[supplier_name]",
            "in": "query",
            "description": "Filter purchase orders by supplier name",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[created >]",
            "in": "query",
            "description": "Filter purchase orders by create datetime",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[created <]",
            "in": "query",
            "description": "Filter purchase orders by create datetime",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[modified >]",
            "in": "query",
            "description": "Filter purchase orders by modified datetime",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter[modified <]",
            "in": "query",
            "description": "Filter purchase orders by modified datetime",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/fulfillment/purchase-orders/{purchaseOrderId}": {
      "get": {
        "tags": [
          "FulfillmentPurchaseOrders"
        ],
        "description": "Get purchase order. <br>Possible statuses:<br>announced<br>partiallyarrived<br>arrived<br>complete<br>incomplete<br>overcomplete",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "purchaseOrderId",
            "in": "path",
            "description": "ID of the purchase order",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "FulfillmentPurchaseOrders"
        ],
        "description": "Update purchase order",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "purchaseOrderId",
            "in": "path",
            "description": "ID of the purchase order",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "customer_reference": {
                    "type": "string",
                    "description": "Reference / order number that is on the shipping label / packing slip"
                  },
                  "supplier_name": {
                    "type": "string",
                    "description": "Name of the shipper of this purchase order"
                  },
                  "preorder_allowed": {
                    "type": "boolean",
                    "description": "If allowed the expected products will be added to the shop integration stock"
                  },
                  "customer_remarks": {
                    "type": "string"
                  },
                  "expected": {
                    "type": "string",
                    "description": "Expected delivery date in ISO-8601"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/fulfillment/purchase-orders/{purchaseOrderId}/cancel": {
      "post": {
        "tags": [
          "FulfillmentPurchaseOrders"
        ],
        "description": "Cancel a purchase order",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "purchaseOrderId",
            "in": "path",
            "description": "ID of the purchase order",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/fulfillment/purchase-orders/{purchaseOrderId}/purchase-order-products/{productId}": {
      "get": {
        "tags": [
          "FulfillmentPurchaseOrders"
        ],
        "description": "Get purchase order product",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "purchaseOrderId",
            "in": "path",
            "description": "ID of the purchase order",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "description": "ID of the purchase order product",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentProduct"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "FulfillmentPurchaseOrders"
        ],
        "description": "Update purchase order product",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "purchaseOrderId",
            "in": "path",
            "description": "ID of the purchase order",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "description": "ID of the purchase order product",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "required": [
                  "amount_expected"
                ],
                "properties": {
                  "amount_expected": {
                    "type": "integer",
                    "description": "Amount of expected products"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentProduct"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "FulfillmentPurchaseOrders"
        ],
        "description": "Remove a purchase order product",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "purchaseOrderId",
            "in": "path",
            "description": "ID of the purchase order",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "productId",
            "in": "path",
            "description": "ID of the purchase order product",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "null"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/fulfillment/purchase-orders/{purchaseOrderId}/purchase-order-products": {
      "post": {
        "tags": [
          "FulfillmentPurchaseOrders"
        ],
        "description": "Create a purchase order product",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "purchaseOrderId",
            "in": "path",
            "description": "ID of the purchase order",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "required": [
                  "product_id",
                  "amount_expected"
                ],
                "properties": {
                  "product_id": {
                    "type": "string",
                    "description": "Product ID to add"
                  },
                  "amount_expected": {
                    "type": "integer",
                    "description": "Amount of expected products"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/fulfillment/purchase-orders/{purchaseOrderId}/receipts/{receiptId}": {
      "get": {
        "tags": [
          "FulfillmentReceipts"
        ],
        "description": "Get a purchase order receipt.<br>Possible statuses:<br>created<br>received<br>closed",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "purchaseOrderId",
            "in": "path",
            "description": "ID of the purchase order",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "receiptId",
            "in": "path",
            "description": "ID of the purchase order receipt",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "FulfillmentReceipts"
        ],
        "description": "Update a purchase order receipt",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "purchaseOrderId",
            "in": "path",
            "description": "ID of the purchase order",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "receiptId",
            "in": "path",
            "description": "ID of the purchase order receipt",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "required": [
                  "remarks"
                ],
                "properties": {
                  "remarks": {
                    "type": "string",
                    "description": "Opmerkingen"
                  },
                  "receiving_company_id": {
                    "type": "string",
                    "description": "Magazijn (standaard: QLS Fulfilment B.V. Kerkeplaat)",
                    "default": "5ad5dd04-fee3-46d6-95aa-d07c90b38d17"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/fulfillment/purchase-orders/{purchaseOrderId}/receipts": {
      "post": {
        "tags": [
          "FulfillmentReceipts"
        ],
        "description": "Create a purchase order receipt",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "purchaseOrderId",
            "in": "path",
            "description": "ID of the purchase order",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "barcodes[]": {
                  "explode": true
                }
              },
              "schema": {
                "type": "object",
                "required": [
                  "remarks",
                  "barcodes[]"
                ],
                "properties": {
                  "remarks": {
                    "type": "string",
                    "description": "Opmerkingen"
                  },
                  "receiving_company_id": {
                    "type": "string",
                    "description": "Magazijn (standaard: QLS Fulfilment B.V. Kerkeplaat)",
                    "default": "5ad5dd04-fee3-46d6-95aa-d07c90b38d17"
                  },
                  "barcodes[]": {
                    "type": "array",
                    "description": "Multiple barcodes",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/fulfillment/receipt-boxes/{boxId}": {
      "put": {
        "tags": [
          "FulfillmentReceiptBoxes"
        ],
        "description": "Update barcode of receipt box when the receipt is not yet received",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "boxId",
            "in": "path",
            "description": "ID of the receipt box",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "required": [
                  "barcode"
                ],
                "properties": {
                  "barcode": {
                    "type": "string",
                    "description": "Barcode"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    },
    "/companies/{companyId}/fulfillment/purchase-orders/{purchaseOrderId}/receipts/{receiptId}/close": {
      "patch": {
        "tags": [
          "FulfillmentReceipts"
        ],
        "description": "Close purchase order receipt",
        "parameters": [
          {
            "name": "companyId",
            "in": "path",
            "description": "ID of the company",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "receiptId",
            "in": "path",
            "description": "ID of the receipt",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "purchaseOrderId",
            "in": "path",
            "description": "ID of the purchase order",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "BasicAuth": []
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "ProductOption": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Product option id"
          },
          "name": {
            "type": "string",
            "description": "Option name"
          },
          "tag": {
            "type": "string",
            "description": "Option tag"
          },
          "price": {
            "type": "number",
            "description": "Price in euros"
          }
        }
      },
      "Meta": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "description": "Status code of response"
          }
        }
      },
      "Company": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique id of the company"
          },
          "name": {
            "type": "string",
            "description": "Name of the company"
          }
        }
      },
      "Warehouse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "is_fulfillment": {
            "type": "boolean",
            "description": "Is the warehouse a fulfillment center?"
          },
          "cutoff": {
            "type": "string"
          }
        }
      },
      "Return": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique id of the return"
          },
          "status": {
            "type": "string",
            "enum": [
              "created",
              "approved",
              "rejected",
              "completed"
            ]
          },
          "return_shipment": {
            "$ref": "#/components/schemas/Shipment"
          },
          "main_shipment": {
            "$ref": "#/components/schemas/Shipment"
          },
          "consumer_contact": {
            "$ref": "#/components/schemas/Contact"
          },
          "brand": {
            "$ref": "#/components/schemas/Brand"
          }
        }
      },
      "WarehouseStock": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "zone_id": {
            "type": "integer"
          },
          "row_number": {
            "type": "string"
          },
          "rack_number": {
            "type": "string"
          },
          "shelf_number": {
            "type": "string"
          },
          "number": {
            "type": "string"
          },
          "amount_current": {
            "type": "integer"
          },
          "amount_reserved": {
            "type": "integer"
          },
          "best_before": {
            "type": "string",
            "example" : "2024-09-29T00:00:00+00:00"
          },
          "best_before_cutoff": {
            "type": "string",
            "description" : "Date when products are considered expired and are no longer sellable. By default this is similar to best_before.",
            "example" : "2024-09-29T00:00:00+00:00"
          },
          "warehouse_zone": {
            "$ref": "#/components/schemas/WarehouseZone"
          },
          "product_batch": {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ProductBatch"
            }
          }
        }
      },
      "ProductBatch": {
        "type": "object",
        "properties" : {
          "id": {
            "type" : "integer"
          },
          "code": {
            "type" : "string"
          },
          "status": {
            "type" : "string"
          },
          "best_before": {
            "type" : "string",
            "example" : "2024-09-29T00:00:00+00:00"
          }
        }
      },
      "FulfillmentOrderDelivery": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "status": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "printed": {
            "type": "boolean"
          },
          "delivery_products": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FulfillmentOrderDeliveryProduct"
            }
          },
          "shipments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Shipment"
            }
          }
        }
      },
      "FulfillmentOrderDeliveryProduct": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "amount": {
            "type": "integer"
          },
          "order_product": {
            "$ref": "#/components/schemas/FulfillmentOrderProduct"
          }
        }
      },
      "WarehouseZone": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "pickable": {
            "type": "boolean"
          },
          "warehouse": {
            "$ref": "#/components/schemas/Warehouse"
          }
        }
      },
      "Product": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The product_id"
          },
          "name": {
            "type": "string",
            "description": "Name of the product"
          },
          "type": {
            "type": "string",
            "description": "Shipment type"
          },
          "servicepoint": {
            "type": "boolean",
            "description": "Product is for servicepoint delivery"
          },
          "max_height": {
            "type": "integer",
            "description": "Max piece height in mm"
          },
          "max_length": {
            "type": "integer",
            "description": "Max piece length in mm"
          },
          "max_width": {
            "type": "integer",
            "description": "Max piece width in mm"
          },
          "pricing": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductPrice"
            }
          },
          "options": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductOption"
            }
          },
          "combinations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductCombination"
            }
          }
        }
      },
      "Shipment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "object",
            "format": "uuid",
            "description": "Unique id of the shipment"
          },
          "reference": {
            "type": "object",
            "description": "User provided shipment reference"
          },
          "status": {
            "type": "string",
            "enum": [
              "created",
              "printed",
              "pre_transit",
              "in_transit",
              "delivered",
              "returned_to_sender"
            ]
          },
          "weight": {
            "type": "integer",
            "description": "Weight in gram"
          },
          "barcode": {
            "type": "string",
            "description": "Unique shipment identifier"
          },
          "tracking_id": {
            "type": "string",
            "description": "The track & trace identifier. DPD uses a different key to identify a shipment than the barcode that is physically printed on the label. Therefore, this field is the most suitable for tracking shipments."
          },
          "tracking_url": {
            "type": "string",
            "format": "uri",
            "description": "The track & trace url"
          },
          "cod_amount": {
            "type": "number",
            "description": "The cash on delivery amount in euros"
          },
          "label": {
            "type": "string",
            "description": "The shipment label pdf as url (Only when returnShipmentLabel is added as parameter)"
          },
          "label_zpl": {
            "type": "string",
            "description": "The shipment label pdf in ZPL format as url (Only when returnShipmentLabel is added as parameter)"
          }
        }
      },
      "ProductPrice": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "description": "Country ISO code"
          },
          "weight_min": {
            "type": "integer",
            "description": "Minimal weight"
          },
          "weight_max": {
            "type": "integer",
            "description": "Maximal weight"
          },
          "price": {
            "type": "number",
            "description": "Price in euros"
          }
        }
      },
      "FulfillmentProduct": {
        "type": "object",
        "properties": {
          "article_number": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "ean": {
            "type": "string"
          },
          "sku": {
            "type": "string"
          },
          "amount_total": {
            "type": "integer"
          },
          "amount_reserved": {
            "type": "integer"
          },
          "amount_blocked" : {
            "type" : "integer"
          },
          "price_cost": {
            "type": "number"
          },
          "price_store": {
            "type": "number"
          },
          "order_unit" : {
            "type": "number",
            "nullable": true,
            "default": null
          },
          "warehouse_stocks": {
            "type": "array",
            "items": {
              "$ref" : "#/components/schemas/WarehouseStock"
            }
          }
        }
      },
      "Contact": {
        "required": [
          "country",
          "locality",
          "postalcode",
          "street"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name"
          },
          "companyname": {
            "type": "string",
            "description": "Companyname"
          },
          "street": {
            "type": "string",
            "description": "Street"
          },
          "housenumber": {
            "type": "string",
            "description": "Housenumber"
          },
          "address_line": {
            "type": "string",
            "description": "Combined street and number, will be split into 'street' and 'housenumber' fields (only for NL, BE and DE)."
          },
          "address2": {
            "type": "string",
            "description": "Address line 2"
          },
          "postalcode": {
            "type": "string",
            "description": "Postalcode"
          },
          "locality": {
            "type": "string",
            "description": "Locality"
          },
          "country": {
            "type": "string",
            "description": "Country ISO Code"
          },
          "email": {
            "type": "string",
            "description": "Email"
          },
          "phone": {
            "type": "string",
            "description": "Phone number"
          },
          "vat": {
            "type": "string",
            "description": "VAT number"
          },
          "eori": {
            "type": "string",
            "description": "EORI number"
          },
          "oss": {
            "type": "string",
            "description": "OSS number"
          }
        }
      },
      "FulfillmentProductMasterCarton": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique id of the master carton"
          },
          "product_id": {
            "type": "string",
            "format": "uuid",
            "description": "Referenced product id"
          },
          "amount": {
            "type": "string",
            "description": "Master carton content amount"
          },
          "ean": {
            "type": "string",
            "description": "Master carton ean code"
          },
          "creator_user_id": {
            "type": "string",
            "format": "uuid",
            "description": "Creator user id"
          },
          "creator_company_id": {
            "type": "string",
            "format": "uuid",
            "description": "Company id of the creator"
          }
        }
      },
      "Brand": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique id of the brand"
          },
          "name": {
            "type": "string",
            "description": "Name of the brand"
          }
        }
      },
      "Pagination": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "Current page number"
          },
          "limit": {
            "type" : "integer",
            "description" : "Number of items per page"
          },
          "count": {
            "type": "integer",
            "description": "Number of total items"
          },
          "pageCount": {
            "type": "integer",
            "description": "Number of total pages"
          },
          "nextPage": {
            "type": "boolean"
          },
          "prevPage": {
            "type": "boolean"
          }
        }
      },
      "ProductCombination": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Product combination id"
          },
          "name": {
            "type": "string",
            "description": "Combination name"
          },
          "product_options": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductOption"
            }
          }
        }
      },
      "ReturnSpecific": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique id of the return"
          },
          "status": {
            "type": "string",
            "enum": [
              "created",
              "approved",
              "rejected",
              "completed"
            ]
          },
          "client_note": {
            "type": "string"
          },
          "consumer_note": {
            "type": "string",
            "description": "Not in use yet"
          },
          "handle_note": {
            "type": "string"
          },
          "return_shipment": {
            "$ref": "#/components/schemas/Shipment"
          },
          "main_order": {
            "$ref": "#/components/schemas/FulfillmentOrder"
          },
          "main_shipment": {
            "$ref": "#/components/schemas/Shipment"
          },
          "consumer_contact": {
            "$ref": "#/components/schemas/Contact"
          },
          "brand": {
            "$ref": "#/components/schemas/Brand"
          },
          "products": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReturnProduct"
            }
          }
        }
      },
      "FulfillmentOrderProduct": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "product_id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "amount_ordered": {
            "type": "integer"
          },
          "amount_reserved": {
            "type": "integer"
          },
          "amount_delivered": {
            "type": "integer"
          },
          "product": {
            "$ref": "#/components/schemas/FulfillmentProduct"
          },
          "custom_values": {
            "type" : "array",
            "items": {
              "$ref": "#/components/schemas/FulfillmentOrderProductValue"
            }
          }
        }
      },
      "FulfillmentOrder": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "customer_reference": {
            "type": "string"
          },
          "customer_remarks": {
            "type": "string"
          },
          "brand_id": {
            "type": "string",
            "format": "uuid"
          },
          "partical_delivery_allowed": {
            "type": "boolean"
          },
          "amount_delivered": {
            "type": "integer"
          },
          "amount_reserved": {
            "type": "integer"
          },
          "amount_total": {
            "type": "integer"
          },
          "servicepoint_code": {
            "type": "string"
          },
          "shop_integration_id": {
            "type": "string",
            "format": "uuid"
          },
          "shop_integration_reference": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "receiver_contact": {
            "$ref": "#/components/schemas/Contact"
          },
          "deliveries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FulfillmentOrderDelivery"
            }
          },
          "products": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FulfillmentOrderProduct"
            }
          },
          "custom_values": {
            "type" : "array",
            "items": {
              "$ref": "#/components/schemas/FulfillmentOrderValue"
            }
          }
        }
      },
      "ReturnProduct": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "UUID for ReturnProduct"
          },
          "amount_expected": {
            "type": "integer"
          },
          "amount_received": {
            "type": "integer"
          },
          "reason": {
            "type": "string"
          },
          "product_id": {
            "type": "string",
            "format": "uuid"
          },
          "product": {
            "$ref": "#/components/schemas/FulfillmentProduct"
          }
        }
      },
      "ShipmentProducts": {
        "type": "object",
        "properties": {
          "amount":  {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "country_code_of_origin":  {
            "type": "string"
          },
          "hs_code": {
            "type": "string"
          },
          "price_per_unit":  {
            "type": "number"
          },
          "weight_per_unit": {
            "type": "number"
          }
        }
      },
      "Supplier": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "UUID for Supplier"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "ServicePoint": {
        "type": "object",
        "properties": {
          "servicepoint_code": {
            "type": "string",
            "description": "ServicePoint code"
          },
          "name": {
            "type": "string"
          },
          "address": {
            "type": "object",
            "properties": {
              "street": {
                "type": "string",
                "description": "Street"
              },
              "housenumber": {
                "type": "string",
                "description": "Housenumber"
              },
              "postalcode": {
                "type": "string",
                "description": "Postalcode"
              },
              "locality": {
                "type": "string",
                "description": "Locality"
              },
              "country": {
                "type": "string",
                "description": "Country ISO Code"
              }
            }
          },
          "geo": {
            "type": "object",
            "properties": {
              "lat": {
                "type": "number"
              },
              "long": {
                "type": "number"
              }
            }
          },
          "times": {
            "type": "object",
            "properties": {
              "weekday": {
                "type": "integer"
              },
              "formatted": {
                "type": "string"
              },
              "from": {
                "type": "string"
              },
              "to": {
                "type": "string"
              }
            }
          },
          "productId": {
            "type": "integer"
          },
          "productName": {
            "type": "string",
            "description" : "Carrier name"
          }
        }
      },
      "FulfillmentOrderValue": {
        "type": "object",
        "properties" : {
          "id": {
            "type": "integer",
            "description": "ID for ReturnProduct"
          },
          "fulfillment_order_id": {
            "type": "string",
            "format": "uuid",
            "description": "UUID for FulfillmentOrder"
          },
          "key": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "example" : {
          "key": "zalando_invoice_number",
          "value": "123"
        }
      },
      "FulfillmentOrderProductValue": {
        "type": "object",
        "properties" : {
          "id": {
            "type": "integer",
            "description": "ID for ReturnProduct"
          },
          "fulfillment_order_id": {
            "type": "string",
            "format": "uuid",
            "description": "UUID for FulfillmentOrder"
          },
          "key": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "example" : {
          "key": "zalando_product_number",
          "value": "zal-1234"
        }
      },
      "ApiResponse": {
        "type": "object",
        "properties": {
          "meta": {
            "type": "object",
            "properties" : {
              "code": {
                "type" : "integer"
              }
            }
          },
          "errors": {
            "type": "array",
            "items" : {
              "type" : "string"
            }
          },
          "data": {
            "type": "array",
            "example" : null
          },
          "pagination": {
            "type" : "array",
            "example" : []
          }
        }
      }
    },
    "headers" : {
      "X-RateLimit-Limit": {
        "schema": {
          "type": "integer"
        },
        "description" : "Request limit per 5 minutes"
      },
      "X-RateLimit-Remaining": {
        "schema": {
          "type": "integer"
        },
        "description" : "The number of requests left for the time window."
      },
      "X-RateLimit-Reset": {
        "schema": {
          "type": "integer"
        },
        "description" : "The number of seconds left in the current period"
      }
    },
    "responses" : {
      "404": {
        "description": "Not Found",
        "content": {
          "application/json": {
            "schema": {
              "allOf" : [
                {
                  "$ref": "#/components/schemas/ApiResponse"
                },
                {
                  "properties": {
                    "meta": {
                      "properties" : {
                        "code": {
                          "example" : 404
                        }
                      }
                    },
                    "errors": {
                      "items" : {
                        "example" : "Not Found"
                      }
                    }
                  }
                }
              ]
            }
          }
        },
        "headers" : {
          "X-RateLimit-Limit": {
            "$ref": "#/components/headers/X-RateLimit-Limit"
          },
          "X-RateLimit-Remaining": {
            "$ref": "#/components/headers/X-RateLimit-Remaining"
          },
          "X-RateLimit-Reset": {
            "$ref": "#/components/headers/X-RateLimit-Reset"
          }
        }
      },
      "429": {
        "description": "Rate limit exceeded",
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "code": {
                  "example" : 429
                },
                "message": {
                  "type" : "string",
                  "example" : "Rate limit exceeded"
                }
              }
            }
          }
        },
        "headers" : {
          "X-RateLimit-Limit": {
            "$ref": "#/components/headers/X-RateLimit-Limit"
          },
          "X-RateLimit-Remaining": {
            "$ref": "#/components/headers/X-RateLimit-Remaining"
          },
          "X-RateLimit-Reset": {
            "$ref": "#/components/headers/X-RateLimit-Reset"
          },
          "Retry-After": {
            "schema": {
              "type": "integer"
            },
            "description" : "The number of seconds to wait before making a new request."
          }
        }
      }
    },
    "securitySchemes": {
      "BasicAuth": {
        "type": "http",
        "scheme": "basic",
        "name": "Authorization",
        "in": "header"
      }
    }
  }
}
