{
  "openapi": "3.1.1",
  "info": {
    "title": "Zineps API",
    "description": "API for shipping label management and carrier services",
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://zineps-test-api.azurewebsites.net/"
    }
  ],
  "paths": {
    "/scalar": {
      "get": {
        "tags": [
          "Api"
        ],
        "summary": "",
        "description": "",
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/": {
      "get": {
        "tags": [
          "Api"
        ],
        "summary": "",
        "description": "",
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/Carriers": {
      "get": {
        "tags": [
          "ZinepsApi"
        ],
        "summary": "List available carriers",
        "description": "Returns the distinct set of carriers with at least one active contract. Use it to populate a carrier picker or to check what shipping options are available before calling `POST /api/Labels`.  If you need the underlying contract records (multiple contracts per carrier, sandbox flags, titles), use `GET /api/Contracts` instead.",
        "responses": {
          "200": {
            "description": "List of carrier codes.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Carrier"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid API credentials or other error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ZinepsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid Basic authentication.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Authenticated integration lacks the `ZinepsApiRead` permission.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Contracts": {
      "get": {
        "tags": [
          "ZinepsApi"
        ],
        "summary": "List available contracts",
        "description": "Returns every contract row: production and sandbox, one carrier may have multiple. Each entry carries the contract `Id` that can be passed as `CarrierContractId` to `POST /api/Labels` and `GET /api/Shippingmethods`.  If you only need the flat list of carrier codes, `GET /api/Carriers` can be used instead.",
        "responses": {
          "200": {
            "description": "List of contracts.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Contract"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid API credentials or other error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ZinepsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid Basic authentication.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Authenticated integration lacks the `ZinepsApiRead` permission.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Senders": {
      "get": {
        "tags": [
          "ZinepsApi"
        ],
        "summary": "List sender/pickup addresses",
        "description": "These are the addresses you may use as the label sender when calling `POST /api/Labels`. The `Code` in the response is the sender id to pass in the label creation request body.",
        "responses": {
          "200": {
            "description": "List of senders.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Sender"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid API credentials or other error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ZinepsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid Basic authentication.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Authenticated integration lacks the `ZinepsApiRead` permission.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Shippingmethods": {
      "get": {
        "tags": [
          "ZinepsApi"
        ],
        "summary": "List available shipping methods",
        "description": "Returns a nested structure: `Carriers → ShippingMethods`. Each method includes its `Code` (usable as `ProductCode` in `POST /api/Labels`), whether it is a pickup-point product (`IsPickupPoint`), and the country pairs it is available for.  Any combination of the query parameters can be used to narrow results; using `countryFrom` and `countryTo` is recommended.",
        "parameters": [
          {
            "name": "countryFrom",
            "in": "query",
            "description": "Origin ISO-2 country code (e.g. `NL`).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "countryTo",
            "in": "query",
            "description": "Destination ISO-2 country code (e.g. `BE`).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "carrier",
            "in": "query",
            "description": "Carrier name (e.g. `PostNL`, `DHL`). Must be a carrier code, not a numeric id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "postalCodeTo",
            "in": "query",
            "description": "Destination postal code, used to refine which products are valid for the route.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "weight",
            "in": "query",
            "description": "Package weight in grams.",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "carrierContractId",
            "in": "query",
            "description": "Restrict to a single carrier contract (see `GET /api/Contracts`).",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of carriers and shipping methods.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Carrier"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid parameter (bad country code, numeric carrier value, unknown carrier).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ZinepsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid Basic authentication.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Authenticated integration lacks the `ZinepsApiRead` permission.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Parcelshops": {
      "get": {
        "tags": [
          "ZinepsApi"
        ],
        "summary": "List pickup points (parcel shops) near an address",
        "description": "Live lookup against the specified carrier's pickup network. When `carrier` is omitted the query is restricted only to carriers that expose parcel shops (currently PostNL, DHL, GLS).  The returned `Id` is the value to pass as `ParcelShopId` when creating a label via `POST /api/Labels`. The chosen carrier/product must support pickup-point delivery — see `IsPickupPoint` in `GET /api/Shippingmethods`.",
        "parameters": [
          {
            "name": "country",
            "in": "query",
            "description": "ISO-2 country code (e.g. `NL`, `BE`).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "city",
            "in": "query",
            "description": "City name.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "postcode",
            "in": "query",
            "description": "Postal code in the destination country's local format.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "carrier",
            "in": "query",
            "description": "Carrier code (e.g. `PostNL`). Optional — omit to search all pickup-capable carriers.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of parcel shops.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ParcelShop"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid country/postcode, unknown carrier, or no contracts for the specified carrier.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ZinepsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid Basic authentication.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Authenticated integration lacks the `ZinepsApiRead` permission.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Labels": {
      "post": {
        "tags": [
          "ZinepsApi"
        ],
        "summary": "Create label",
        "description": "The label-creation endpoint. A single call can produce multiple labels via `Quantity` and/or one `PackageDimensions` entry per parcel, plus an optional return label when `AddReturnLabel` is `true`.  The carrier and product may be chosen by any of `CarrierCode`, `ProductCode`, or `CarrierContractId` — call `GET /api/Shippingmethods` to discover valid combinations. For pickup-point delivery, set `ParcelShopId` from `GET /api/Parcelshops` and pick a product where `IsPickupPoint` is `true`.  The response contains one entry per printed label with the base64-encoded PDF in `LabelByteArr` and the tracking number. The PDF can be re-fetched later via `GET /api/Labels/{labelId}`; live tracking status is available at `GET /api/Labels/Status/{labelId}`.",
        "requestBody": {
          "description": "Recipient, package, and shipping-product details.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ZinepsApiCreateLabelRequest"
              },
              "example": {
                "firstname": null,
                "lastname": null,
                "streetname": "",
                "houseNumber": "",
                "houseNumberAddition": "",
                "zipcode": null,
                "city": "",
                "countryCode": "",
                "email": null,
                "telephone": null,
                "companyName": null,
                "stateProvinceCode": "",
                "senderId": null,
                "parcelShopId": null,
                "carrierCode": null,
                "productCode": null,
                "reference": null,
                "checkoutShippingMethod": null,
                "addReturnLabel": true,
                "isReturnLabel": true,
                "quantity": 1,
                "order": {
                  "orderId": "",
                  "orderLines": [
                    {
                      "product": null,
                      "quantity": 1,
                      "hsCode": null,
                      "value": 1,
                      "weight": 1,
                      "originCountry": null,
                      "currencyCode": null,
                      "ean": null,
                      "sku": null
                    }
                  ]
                },
                "carrierContractId": null,
                "insuredValue": null,
                "packageDimensions": [
                  {
                    "reference": "",
                    "packageContentDescripton": null,
                    "packageType": "CardboardBox",
                    "weight": null,
                    "length": null,
                    "width": null,
                    "height": null
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ZinepsApiCreateLabelRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ZinepsApiCreateLabelRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Labels created.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Label"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request body, validation failure, or carrier rejection (rate/config error).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ZinepsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid Basic authentication.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Authenticated integration lacks the `ZinepsApiCreateLabel` permission.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "503": {
            "description": "The selected carrier is temporarily unavailable.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ZinepsApiProblemDetailsResponse"
                }
              },
              "application/json": { }
            }
          }
        }
      }
    },
    "/Labels/{labelId}": {
      "get": {
        "tags": [
          "ZinepsApi"
        ],
        "summary": "Download created label as PDF",
        "description": "Returns the **PDF file** of the label with the given id, base64-encoded. Use this whenever you need to (re)print a label — the PDF produced at creation time by `POST /api/Labels` can be regenerated here for as long as the label exists on the account.  **Not to be confused with the status endpoint.** This endpoint returns the label **PDF only**. If you want carrier tracking status (received / in transit / delivered, tracking number, dates), call `GET /api/Labels/Status/{labelId}` instead.",
        "parameters": [
          {
            "name": "labelId",
            "in": "path",
            "description": "Id of the label as returned by `POST /api/Labels`.",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Label PDF as a base64 string.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Unexpected error while regenerating the PDF.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ZinepsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid Basic authentication.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Authenticated integration lacks the `ZinepsApiRead` permission.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ZinepsApi"
        ],
        "summary": "Cancel a shipping label",
        "description": "Attempts to cancel the label. Whether cancellation succeeds depends on the carrier and how far the shipment has progressed — an already-collected or in-transit label usually cannot be cancelled and the response will be a 400 with the carrier's rejection reason.",
        "parameters": [
          {
            "name": "labelId",
            "in": "path",
            "description": "Id of the label to cancel.",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Label cancelled successfully.",
            "content": {
              "application/json": {
                "schema": { }
              }
            }
          },
          "400": {
            "description": "Carrier rejected the cancellation (e.g. label already in transit) or invalid id.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ZinepsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid Basic authentication.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Authenticated integration lacks the `ZinepsApiDeleteLabel` permission.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Label not found or does not belong to the authenticated organisation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ZinepsApiErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/Labels/Status/{labelId}": {
      "get": {
        "tags": [
          "ZinepsApi"
        ],
        "summary": "Get single label status",
        "description": "Returns the tracking status for one label: tracking number, the carrier's raw status, Zineps' normalised status, and carrier received/delivered timestamps.   To download or reprint the printable label, call `GET /api/Labels/{labelId}` instead.  To fetch status for many labels in a single call, use `POST /api/Labels/Status`.",
        "parameters": [
          {
            "name": "labelId",
            "in": "path",
            "description": "Id of the label as returned by `POST /api/Labels`.",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Label status.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ZinepsApiGetSingleLabelStatusResponse"
                }
              }
            }
          },
          "400": {
            "description": "Non-positive `labelId` or other error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ZinepsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid Basic authentication.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Authenticated integration lacks the `ZinepsApiRead` permission.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Label not found or does not belong to the authenticated organisation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ZinepsApiErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/Labels/Status": {
      "post": {
        "tags": [
          "ZinepsApi"
        ],
        "summary": "Get multiple label status",
        "description": "Bulk version (up to 100 labels) of `GET /api/Labels/Status/{labelId}`. Returns an array of label ids; the response returns one `LabelStatus` entry per resolved label plus a `NotFoundLabels` array listing ids not found.",
        "requestBody": {
          "description": "List of label ids to check status for (max 100).",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ZinepsApiGetLabelStatusRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ZinepsApiGetLabelStatusRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ZinepsApiGetLabelStatusRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Status information for the requested labels.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ZinepsApiGetMultipleLabelStatusResponse"
                }
              }
            }
          },
          "400": {
            "description": "Missing/empty `LabelIds`, more than 100 ids, or other error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ZinepsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid Basic authentication.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Authenticated integration lacks the `ZinepsApiRead` permission.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/Labels/Search": {
      "post": {
        "tags": [
          "ZinepsApi"
        ],
        "summary": "Search shipping labels",
        "description": "Results are ordered by `CreatedAt` ascending. All request fields are optional; an empty body returns the most recent labels up to the applicable limit.  Filters: `Carrier` (carrier code, e.g. `PostNL`), `CarrierContractId`, `CreatedAfter`, `CreatedBefore`, and (partner callers only) `Organisation` (customer email or external identifier).  **Result caps:**  - Organisation callers: up to **1,000** labels. - Partner callers: up to **10,000** labels; use `Organisation` to narrow to one customer.  This endpoint returns label metadata only (id, tracking number, receiver, timestamps). To download the PDF of a specific label, use `GET /api/Labels/{labelId}`; to get its tracking status, `GET /api/Labels/Status/{labelId}`.",
        "requestBody": {
          "description": "Search filters (all fields optional).",
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "title": "",
                    "type": "null",
                    "description": ""
                  },
                  {
                    "$ref": "#/components/schemas/ZinepsApiSearchLabelsRequest"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "oneOf": [
                  {
                    "title": "",
                    "type": "null",
                    "description": ""
                  },
                  {
                    "$ref": "#/components/schemas/ZinepsApiSearchLabelsRequest"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "oneOf": [
                  {
                    "title": "",
                    "type": "null",
                    "description": ""
                  },
                  {
                    "$ref": "#/components/schemas/ZinepsApiSearchLabelsRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Matching labels (up to 1,000 for organisations or 10,000 for partners).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ZinepsApiSearchLabelsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid carrier code or `Organisation` filter mismatch.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ZinepsApiErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid Basic authentication.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Authenticated integration lacks the `ZinepsApiRead` permission.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Carrier": {
        "title": "",
        "required": [
          "shippingMethods"
        ],
        "type": "object",
        "properties": {
          "name": {
            "title": "",
            "type": "string",
            "description": ""
          },
          "code": {
            "title": "",
            "type": "string",
            "description": ""
          },
          "shippingMethods": {
            "title": "",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CarrierProduct"
            },
            "description": ""
          }
        },
        "description": ""
      },
      "CarrierProduct": {
        "title": "",
        "type": "object",
        "properties": {
          "productName": {
            "title": "",
            "type": "string",
            "description": ""
          },
          "carrierCode": {
            "title": "",
            "type": "string",
            "description": ""
          },
          "code": {
            "title": "",
            "type": "string",
            "description": ""
          },
          "isPickupPoint": {
            "title": "",
            "type": "boolean",
            "description": ""
          },
          "availability": {
            "title": "",
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/CarrierProductCountryPair"
            },
            "description": ""
          }
        },
        "description": ""
      },
      "CarrierProductCountryPair": {
        "title": "",
        "type": "object",
        "properties": {
          "countryCodeFrom": {
            "title": "",
            "type": "string",
            "description": ""
          },
          "countryCodeTo": {
            "title": "",
            "type": "string",
            "description": ""
          }
        },
        "description": ""
      },
      "Contract": {
        "title": "",
        "type": "object",
        "properties": {
          "id": {
            "title": "",
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "",
            "format": "int32"
          },
          "carrierCode": {
            "title": "",
            "type": "string",
            "description": ""
          },
          "carrierName": {
            "title": "",
            "type": "string",
            "description": ""
          },
          "title": {
            "title": "",
            "type": "string",
            "description": ""
          },
          "isSandbox": {
            "title": "",
            "type": "boolean",
            "description": ""
          }
        },
        "description": ""
      },
      "EnumInternationalShipmentType": {
        "title": "",
        "enum": [
          "Gift",
          "Sample",
          "Documents",
          "CommercialGoods",
          "ReturnedGoods",
          null
        ],
        "description": ""
      },
      "EnumPackageType": {
        "title": "",
        "enum": [
          "EuroPallet",
          "BlockPallet",
          "OneWayPallet",
          "CardboardBox",
          "Package",
          "Document",
          "Pallet",
          null
        ],
        "description": ""
      },
      "EnumReturnInstructions": {
        "title": "",
        "enum": [
          "ReturnToSender",
          "Abandon",
          null
        ],
        "description": ""
      },
      "Label": {
        "title": "",
        "type": "object",
        "properties": {
          "labelId": {
            "title": "",
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "",
            "format": "int32"
          },
          "pdfByte64": {
            "title": "",
            "type": "string",
            "description": ""
          },
          "zpl": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "carrierCode": {
            "title": "",
            "type": "string",
            "description": ""
          },
          "productCode": {
            "title": "",
            "type": "string",
            "description": ""
          },
          "trackTrace": {
            "title": "",
            "type": "string",
            "description": ""
          },
          "trackTraceLink": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "parcelShopId": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "reference": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "isReturnLabel": {
            "title": "",
            "type": "boolean",
            "description": ""
          },
          "warnings": {
            "title": "",
            "type": "array",
            "items": {
              "title": "",
              "type": "string",
              "description": ""
            },
            "description": ""
          }
        },
        "description": ""
      },
      "LabelStatus": {
        "title": "",
        "type": "object",
        "properties": {
          "labelId": {
            "title": "",
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "",
            "format": "int32"
          },
          "trackTrace": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "carrierReceivedDate": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": "",
            "format": "date-time"
          },
          "carrierDeliveredDate": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": "",
            "format": "date-time"
          },
          "carrierStatus": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "zinepsStatus": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": ""
          }
        },
        "description": ""
      },
      "PackageDimensions": {
        "title": "",
        "type": "object",
        "properties": {
          "reference": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "packageContentDescripton": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": "Only used for DHL Germany and DSV (DbSchenker)."
          },
          "packageType": {
            "title": "",
            "oneOf": [
              {
                "title": "",
                "type": "null",
                "description": ""
              },
              {
                "description": "DSV (DbSchenker) only supports CardboardBox, BlockPallet, OneWayPallet, EuroPallet. DHL Europlus only supports Pallet, Package.",
                "$ref": "#/components/schemas/EnumPackageType"
              }
            ],
            "description": ""
          },
          "weight": {
            "title": "",
            "maximum": 999999,
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "description": "",
            "format": "int32"
          },
          "length": {
            "title": "",
            "maximum": 9999,
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "description": "",
            "format": "int32"
          },
          "width": {
            "title": "",
            "maximum": 9999,
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "description": "",
            "format": "int32"
          },
          "height": {
            "title": "",
            "maximum": 9999,
            "minimum": 0,
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "description": "",
            "format": "int32"
          }
        },
        "description": ""
      },
      "ParcelShop": {
        "title": "",
        "type": "object",
        "properties": {
          "carrierCode": {
            "title": "",
            "type": "string",
            "description": ""
          },
          "id": {
            "title": "",
            "type": "string",
            "description": ""
          },
          "name": {
            "title": "",
            "type": "string",
            "description": ""
          },
          "street": {
            "title": "",
            "type": "string",
            "description": ""
          },
          "houseNumber": {
            "title": "",
            "type": "string",
            "description": ""
          },
          "houseNumberAddition": {
            "title": "",
            "type": "string",
            "description": ""
          },
          "zipcode": {
            "title": "",
            "type": "string",
            "description": ""
          },
          "city": {
            "title": "",
            "type": "string",
            "description": ""
          },
          "countryCode": {
            "title": "",
            "type": "string",
            "description": ""
          }
        },
        "description": ""
      },
      "ProblemDetails": {
        "title": "",
        "type": "object",
        "properties": {
          "type": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "title": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "status": {
            "title": "",
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "description": "",
            "format": "int32"
          },
          "detail": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "instance": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": ""
          }
        },
        "description": ""
      },
      "SearchLabelResult": {
        "title": "",
        "type": "object",
        "properties": {
          "labelId": {
            "title": "",
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "",
            "format": "int32"
          },
          "organisationExternalIdentifier": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "organisationEmail": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "trackTrace": {
            "title": "",
            "type": "string",
            "description": ""
          },
          "carrier": {
            "title": "",
            "type": "string",
            "description": ""
          },
          "waybillNumber": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "referentie": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "receiverName": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "receiverPostcode": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "receiverPlace": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "receiverCountry": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "createdAt": {
            "title": "",
            "type": "string",
            "description": "",
            "format": "date-time"
          },
          "carrierReceivedDate": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": "",
            "format": "date-time"
          },
          "carrierDeliveryDate": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": "",
            "format": "date-time"
          }
        },
        "description": ""
      },
      "Sender": {
        "title": "",
        "type": "object",
        "properties": {
          "code": {
            "title": "",
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "",
            "format": "int32"
          },
          "name": {
            "title": "",
            "type": "string",
            "description": ""
          },
          "address": {
            "title": "",
            "type": "string",
            "description": ""
          },
          "country": {
            "title": "",
            "type": "string",
            "description": ""
          }
        },
        "description": ""
      },
      "ZinepsApiAddressValidationMode": {
        "title": "",
        "enum": [
          "Strict",
          "BypassExternalValidation"
        ],
        "description": ""
      },
      "ZinepsApiCreateLabelRequest": {
        "title": "",
        "required": [
          "streetname",
          "houseNumber",
          "city",
          "countryCode"
        ],
        "type": "object",
        "properties": {
          "firstname": {
            "title": "",
            "maxLength": 100,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "lastname": {
            "title": "",
            "maxLength": 100,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "streetname": {
            "title": "",
            "maxLength": 200,
            "minLength": 0,
            "type": "string",
            "description": ""
          },
          "houseNumber": {
            "title": "",
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": ""
          },
          "houseNumberAddition": {
            "title": "",
            "maxLength": 30,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "zipcode": {
            "title": "",
            "maxLength": 20,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "city": {
            "title": "",
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": ""
          },
          "countryCode": {
            "title": "",
            "maxLength": 2,
            "minLength": 2,
            "type": "string",
            "description": ""
          },
          "email": {
            "title": "",
            "maxLength": 255,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "telephone": {
            "title": "",
            "maxLength": 50,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "companyName": {
            "title": "",
            "maxLength": 200,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "stateProvinceCode": {
            "title": "",
            "maxLength": 50,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "senderId": {
            "title": "",
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "description": "",
            "format": "int32"
          },
          "parcelShopId": {
            "title": "",
            "maxLength": 50,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "freightBookingConfirmationNumber": {
            "title": "",
            "maxLength": 50,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Required by FedEx freight services (e.g. FEDEX_REGIONAL_ECONOMY_FREIGHT). Falls back to the carrier contract's default booking number when omitted."
          },
          "carrierCode": {
            "title": "",
            "maxLength": 50,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "productCode": {
            "title": "",
            "maxLength": 50,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "reference": {
            "title": "",
            "maxLength": 100,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "checkoutShippingMethod": {
            "title": "",
            "maxLength": 200,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "fulfillmentType": {
            "$ref": "#/components/schemas/ZinepsApiFulfillmentType"
          },
          "addReturnLabel": {
            "title": "",
            "type": "boolean",
            "description": ""
          },
          "isReturnLabel": {
            "title": "",
            "type": "boolean",
            "description": ""
          },
          "quantity": {
            "title": "",
            "maximum": 10,
            "minimum": 1,
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "description": "",
            "format": "int32"
          },
          "customsInfo": {
            "title": "",
            "oneOf": [
              {
                "title": "",
                "type": "null",
                "description": ""
              },
              {
                "$ref": "#/components/schemas/ZinepsApiCustomsRequest"
              }
            ],
            "description": ""
          },
          "order": {
            "title": "",
            "oneOf": [
              {
                "title": "",
                "type": "null",
                "description": ""
              },
              {
                "$ref": "#/components/schemas/ZinepsApiOrder"
              }
            ],
            "description": ""
          },
          "carrierContractId": {
            "title": "",
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "description": "",
            "format": "int32"
          },
          "insuredValue": {
            "title": "",
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "description": "",
            "format": "double"
          },
          "addressValidationMode": {
            "$ref": "#/components/schemas/ZinepsApiAddressValidationMode"
          },
          "packageDimensions": {
            "title": "",
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/PackageDimensions"
            },
            "description": ""
          }
        },
        "description": ""
      },
      "ZinepsApiCustomsRequest": {
        "title": "",
        "type": "object",
        "properties": {
          "invoiceNumber": {
            "title": "",
            "maxLength": 100,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "licenseNr": {
            "title": "",
            "maxLength": 100,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "certificationNumber": {
            "title": "",
            "maxLength": 100,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "currency": {
            "title": "",
            "maxLength": 3,
            "minLength": 3,
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "eoriNumber": {
            "title": "",
            "maxLength": 50,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "inboundVatNumber": {
            "title": "",
            "maxLength": 50,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "shipmentType": {
            "title": "",
            "oneOf": [
              {
                "title": "",
                "type": "null",
                "description": ""
              },
              {
                "$ref": "#/components/schemas/EnumInternationalShipmentType"
              }
            ],
            "description": ""
          },
          "returnInstructions": {
            "title": "",
            "oneOf": [
              {
                "title": "",
                "type": "null",
                "description": ""
              },
              {
                "$ref": "#/components/schemas/EnumReturnInstructions"
              }
            ],
            "description": ""
          }
        },
        "description": ""
      },
      "ZinepsApiErrorResponse": {
        "title": "",
        "type": "object",
        "properties": {
          "version": {
            "title": "",
            "type": "string",
            "description": ""
          },
          "error_messages": {
            "title": "",
            "type": "array",
            "items": {
              "title": "",
              "type": "string",
              "description": ""
            },
            "description": ""
          }
        },
        "description": ""
      },
      "ZinepsApiFulfillmentType": {
        "title": "",
        "enum": [
          "Shipping",
          "StorePickup"
        ],
        "description": ""
      },
      "ZinepsApiGetLabelStatusRequest": {
        "title": "",
        "required": [
          "labelIds"
        ],
        "type": "object",
        "properties": {
          "labelIds": {
            "title": "",
            "minItems": 1,
            "type": "array",
            "items": {
              "title": "",
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "description": "",
              "format": "int32"
            },
            "description": ""
          }
        },
        "description": ""
      },
      "ZinepsApiGetMultipleLabelStatusResponse": {
        "title": "",
        "type": "object",
        "properties": {
          "success": {
            "title": "",
            "type": "boolean",
            "description": ""
          },
          "labels": {
            "title": "",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LabelStatus"
            },
            "description": ""
          },
          "notFoundLabels": {
            "title": "",
            "type": "array",
            "items": {
              "title": "",
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "description": "",
              "format": "int32"
            },
            "description": ""
          },
          "message": {
            "title": "",
            "type": "string",
            "description": ""
          }
        },
        "description": ""
      },
      "ZinepsApiGetSingleLabelStatusResponse": {
        "title": "",
        "type": "object",
        "properties": {
          "success": {
            "title": "",
            "type": "boolean",
            "description": ""
          },
          "label": {
            "title": "",
            "oneOf": [
              {
                "title": "",
                "type": "null",
                "description": ""
              },
              {
                "$ref": "#/components/schemas/LabelStatus"
              }
            ],
            "description": ""
          },
          "message": {
            "title": "",
            "type": "string",
            "description": ""
          }
        },
        "description": ""
      },
      "ZinepsApiOrder": {
        "title": "",
        "required": [
          "orderId"
        ],
        "type": "object",
        "properties": {
          "orderId": {
            "title": "",
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": ""
          },
          "orderLines": {
            "title": "",
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ZinepsApiOrderLine"
            },
            "description": ""
          }
        },
        "description": ""
      },
      "ZinepsApiOrderLine": {
        "title": "",
        "type": "object",
        "properties": {
          "product": {
            "title": "",
            "maxLength": 200,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "quantity": {
            "title": "",
            "maximum": 999,
            "minimum": 1,
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "",
            "format": "int32"
          },
          "hsCode": {
            "title": "",
            "maxLength": 20,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "value": {
            "title": "",
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "description": "",
            "format": "double"
          },
          "weight": {
            "title": "",
            "maximum": 999999,
            "minimum": 1,
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "description": "",
            "format": "int32"
          },
          "originCountry": {
            "title": "",
            "maxLength": 2,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "currencyCode": {
            "title": "",
            "maxLength": 3,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "ean": {
            "title": "",
            "maxLength": 150,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "sku": {
            "title": "",
            "maxLength": 100,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": ""
          }
        },
        "description": ""
      },
      "ZinepsApiProblemDetailsResponse": {
        "title": "",
        "type": "object",
        "properties": {
          "type": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "title": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "status": {
            "title": "",
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "description": "",
            "format": "int32"
          },
          "detail": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "instance": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": ""
          },
          "version": {
            "title": "",
            "type": "string",
            "description": ""
          },
          "error_messages": {
            "title": "",
            "type": "array",
            "items": {
              "title": "",
              "type": "string",
              "description": ""
            },
            "description": ""
          }
        },
        "description": ""
      },
      "ZinepsApiSearchLabelsRequest": {
        "title": "",
        "type": "object",
        "properties": {
          "carrier": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": "Optional carrier name (e.g. DHL, DHLParcelNL)."
          },
          "carrierContractId": {
            "title": "",
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "description": "Optional carrier contract id.",
            "format": "int32"
          },
          "createdAfter": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": "Optional lower bound on label creation (UTC, inclusive).",
            "format": "date-time"
          },
          "createdBefore": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": "Optional upper bound on label creation (UTC; date-only values include the full day).",
            "format": "date-time"
          },
          "organisation": {
            "title": "",
            "type": [
              "null",
              "string"
            ],
            "description": "Optional organisation email or external identifier (partner callers only)."
          }
        },
        "description": ""
      },
      "ZinepsApiSearchLabelsResponse": {
        "title": "",
        "type": "object",
        "properties": {
          "labels": {
            "title": "",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SearchLabelResult"
            },
            "description": ""
          }
        },
        "description": ""
      }
    },
    "securitySchemes": {
      "Basic": {
        "type": "http",
        "description": "Use your generated Client ID and Client Secret",
        "scheme": "basic"
      }
    }
  },
  "security": [
    {
      "Basic": [ ]
    }
  ],
  "tags": [
    {
      "name": "Api"
    },
    {
      "name": "ZinepsApi"
    }
  ]
}