{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/postnl/json-schema/postnl-create-barcodes-request-schema.json",
  "title": "CreateBarcodesRequest",
  "description": "Input parameters for generating barcodes, customer details, optional numeric range and quantity.",
  "x-generated": "2026-11-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/postnl-shipment-api-openapi.yml#/components/schemas/CreateBarcodesRequest",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "customerNumber",
    "customerCode"
  ],
  "properties": {
    "customerNumber": {
      "type": "string",
      "description": "Your customer number assigned by PostNL. Consult the 'Manage API'-module in 'MijnPostNL zakelijk' for your API-account details.",
      "maxLength": 10,
      "minLength": 1,
      "pattern": "^\\d+$"
    },
    "customerCode": {
      "type": "string",
      "description": "Your customer code assigned by PostNL. Consult the 'Manage API'-module in 'MijnPostNL zakelijk' for your API-account details.  customerCode provided by PostNL, only allowed characters",
      "maxLength": 4,
      "minLength": 1,
      "pattern": "^[A-Za-z]{1,4}$"
    },
    "serieStart": {
      "type": "string",
      "description": "Lower bound of the barcode range. Must be provided together with serieEnd. Digits only, same length as serieEnd. Returned barcodes in the array are greater than or equal to this value.",
      "default": "000000000",
      "maxLength": 9,
      "minLength": 7,
      "pattern": "^\\d{7,9}$"
    },
    "serieEnd": {
      "type": "string",
      "description": "Upper bound of the barcode range. Must be provided together with serieStart. Digits only, same length as serieStart. Returned barcodes in the array are less than or equal to this value.",
      "default": "999999999",
      "maxLength": 9,
      "minLength": 7,
      "pattern": "^\\d{7,9}$"
    },
    "numberOfBarcodes": {
      "type": "integer",
      "description": "Number of barcodes to return. Defaults to one. When a range is supplied, all identifiers fall within it.",
      "default": 1,
      "maximum": 100.0,
      "minimum": 1.0
    }
  }
}