{
  "openapi": "3.0.1",
  "info": {
    "title": "ShippingStatus API",
    "description": "Receive status information about your shipments",
    "version": "V2"
  },
  "servers": [
    {
      "url": "https://api-sandbox.postnl.nl",
      "description": "Non-Production server"
    },
    {
      "url": "https://api.postnl.nl",
      "description": "Production server"
    }
  ],
  "security": [
    {
      "APIKeyHeader": []
    }
  ],
  "paths": {
    "/shipment/v2/status/barcode/{barcode}": {
      "get": {
        "tags": [
          "ShippingStatus"
        ],
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "summary": "Returns the statuses for a particular barcode",
        "description": "Request example:\n```\ncurl -X GET \"https://api-sandbox.postnl.nl/shipment/v2/status/barcode/3SDEVC172649258\" \\\n -H \"Accept: application/json\" \\\n -H \"apikey: APIKEY-HERE\" \\\n```\n",
        "operationId": "GetStatusByBarcode",
        "parameters": [
          {
            "name": "barcode",
            "in": "path",
            "description": "Barcode of the shipment. This is a unique value.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3SDEVC172649258"
            }
          },
          {
            "name": "detail",
            "in": "query",
            "description": "Option to include old statuses in the response",
            "schema": {
              "type": "boolean",
              "example": false,
              "default": false
            }
          },
          {
            "name": "language",
            "in": "query",
            "description": "Language of the returned shipment and status descriptions (default is Dutch).",
            "schema": {
              "type": "string",
              "example": "NL",
              "enum": [
                "NL",
                "EN",
                "CN",
                "DE",
                "FR"
              ]
            }
          },
          {
            "name": "maxDays",
            "in": "query",
            "description": "Limit the number of days that will be searched (decrease this amount for better performance).",
            "schema": {
              "type": "string",
              "example": "14"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Status object",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/shippingstatusResponse"
                },
                "examples": {
                  "Current status single shipment": {
                    "$ref": "#/components/examples/shippingstatusExampleResponseSingleShipmentCurrent"
                  },
                  "Complete status single shipment": {
                    "$ref": "#/components/examples/shippingstatusExampleResponseSingleShipmentComplete"
                  },
                  "Multicollo shipment": {
                    "$ref": "#/components/examples/shippingstatusExampleResponseMulticollo"
                  },
                  "No shipment found": {
                    "$ref": "#/components/examples/shippingstatusExampleResponseNoShipment"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/shippingstatusValidationFault"
                },
                "example": {
                  "fault": {
                    "faultstring": "no barcode supplied in path",
                    "detail": {
                      "errorcode": "Validation Fault"
                    }
                  }
                }
              }
            }
          },
					"401": {
						"description": "Invalid apikey",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/Unauthorized"
								},
								"example": {
									"message": "Failed to resolve API Key variable 'request.header.apikey'",
									"http_status_code": 401
								}
							}
						}
					},
					"405": {
						"description": "Method not allowed",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/MethodNotAllowedOnlyGet"
								},
								"example": {
									"message": "Only GET requests allowed",
									"http_status_code": 405
								}
							}
						}
					},
					"429": {
						"description": "Too many requests",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/TooManyRequests"
								},
								"example": {
									"message": "Too many requests. Rate limit exceeded!",
									"http_status_code": 429
								}
							}
						}
					},
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/shippingstatusValidationFault"
                },
                "example": {
                  "fault": {
                    "faultstring": "no barcode supplied in path",
                    "detail": {
                      "errorcode": "Validation Fault"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/shipment/v2/status/reference/{referenceId}": {
      "get": {
        "summary": "Get status information by customer reference",
        "description": "Request example:\n```\ncurl -X GET \"https://api-sandbox.postnl.nl/shipment/v2/status/reference?detail=true&language=NL&customerCode={{CustomerCode}}&customerNumber={{CustomerNumber}}&reference=REF98173245876329\" \\\n -H \"Accept: application/json\" \\\n -H \"apikey: APIKEY-HERE\" \n```\n",
        "operationId": "GetStatusByReference",
        "tags": [
          "ShippingStatus"
        ],
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "customerCode",
            "in": "query",
            "description": "Customer code as known at PostNL Pakketten",
            "required": true,
            "schema": {
              "type": "string",
              "example": "DEVC"
            }
          },
          {
            "name": "customerNumber",
            "in": "query",
            "description": "Customer number as known at PostNL Pakketten",
            "required": true,
            "schema": {
              "type": "string",
              "example": "11223344"
            }
          },
          {
            "name": "referenceId",
            "in": "path",
            "description": "The customer reference belonging to the shipment",
            "required": true,
            "schema": {
              "type": "string",
              "example": "REF-12345"
            }
          },
          {
            "name": "detail",
            "in": "query",
            "description": "Option to include old statuses in the response",
            "schema": {
              "type": "boolean",
              "example": false,
              "default": false
            }
          },
          {
            "name": "language",
            "in": "query",
            "description": "Language of the returned shipment and status descriptions (default is Dutch).",
            "schema": {
              "type": "string",
              "example": "NL",
              "enum": [
                "NL",
                "EN",
                "CN",
                "DE",
                "FR"
              ]
            }
          },
          {
            "name": "maxDays",
            "in": "query",
            "description": "Limit the number of days that will be searched (decrease this amount for better performance). By default this is 90 days in the past.",
            "schema": {
              "type": "string",
              "example": "14"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Status object",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/shippingstatusResponse"
                },
                "examples": {
                  "Current status single shipment": {
                    "$ref": "#/components/examples/shippingstatusExampleResponseSingleShipmentCurrent"
                  },
                  "Complete status single shipment": {
                    "$ref": "#/components/examples/shippingstatusExampleResponseSingleShipmentComplete"
                  },
                  "Multicollo shipment": {
                    "$ref": "#/components/examples/shippingstatusExampleResponseMulticollo"
                  },
                  "No shipment found": {
                    "$ref": "#/components/examples/shippingstatusExampleResponseNoShipment"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/shippingstatusValidationFault"
                },
                "example": {
                  "fault": {
                    "faultstring": "no barcode supplied in path",
                    "detail": {
                      "errorcode": "Validation Fault"
                    }
                  }
                }
              }
            }
          },
					"401": {
						"description": "Invalid apikey",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/Unauthorized"
								},
								"example": {
									"message": "Failed to resolve API Key variable 'request.header.apikey'",
									"http_status_code": 401
								}
							}
						}
					},
					"405": {
						"description": "Method not allowed",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/MethodNotAllowedOnlyGet"
								},
								"example": {
									"message": "Only GET requests allowed",
									"http_status_code": 405
								}
							}
						}
					},
					"429": {
						"description": "Too many requests",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/TooManyRequests"
								},
								"example": {
									"message": "Too many requests. Rate limit exceeded!",
									"http_status_code": 429
								}
							}
						}
					},
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/shippingstatusValidationFault"
                },
                "example": {
                  "fault": {
                    "faultstring": "no barcode supplied in path",
                    "detail": {
                      "errorcode": "Validation Fault"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/shipment/v2/status/signature/{barcode}": {
      "get": {
        "tags": [
          "ShippingStatus"
        ],
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "summary": "Returns the signature of a particular shipment",
        "description": "Request example:\n```\ncurl -X GET \"https://api-sandbox.postnl.nl/shipment/v2/status/signature/3SDEVC172649258\" \\\n -H \"Accept: application/json\" \\\n -H \"apikey: APIKEY-HERE\" \n```\n",
        "operationId": "GetShipmentSignature",
        "parameters": [
          {
            "name": "barcode",
            "in": "path",
            "description": "Barcode of the shipment",
            "required": true,
            "schema": {
              "type": "string",
              "example": "3SDEVC172649258"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A signature",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/shippingstatusResponseSignature"
                },
                "examples": {
                  "Signature found": {
                    "$ref": "#/components/examples/shippingstatusExampleResponseSignature"
                  },
                  "Signature not found": {
                    "$ref": "#/components/examples/shippingstatusExampleResponseNoSignature"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/shippingstatusValidationFault"
                },
                "example": {
                  "fault": {
                    "faultstring": "no barcode supplied in path",
                    "detail": {
                      "errorcode": "Validation Fault"
                    }
                  }
                }
              }
            }
          },
					"401": {
						"description": "Invalid apikey",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/Unauthorized"
								},
								"example": {
									"message": "Failed to resolve API Key variable 'request.header.apikey'",
									"http_status_code": 401
								}
							}
						}
					},
					"405": {
						"description": "Method not allowed",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/MethodNotAllowedOnlyGet"
								},
								"example": {
									"message": "Only GET requests allowed",
									"http_status_code": 405
								}
							}
						}
					},
					"429": {
						"description": "Too many requests",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/TooManyRequests"
								},
								"example": {
									"message": "Too many requests. Rate limit exceeded!",
									"http_status_code": 429
								}
							}
						}
					},
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/shippingstatusValidationFault"
                },
                "example": {
                  "fault": {
                    "faultstring": "no barcode supplied in path",
                    "detail": {
                      "errorcode": "Validation Fault"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/shipment/v2/status/{customernumber}/updatedshipments": {
      "get": {
        "summary": "Returns the updated statuses for a particular customer number",
        "description": "Request example:\n```\ncurl -X GET \"https://api-sandbox.postnl.nl/shipment/v2/status/11223344/updatedshipments?period=2022-12-25T10:00:00&amp;period=2022-12-25T10:12:00\" \\\n -H \"Accept: application/json\" \\\n -H \"apikey: APIKEY-HERE\" \\\n```\n",
        "operationId": "GetUpdatedStatusByCustomerNumber",
        "tags": [
          "ShippingStatus"
        ],
        "security": [
          {
            "APIKeyHeader": []
          }
        ],
        "parameters": [
          {
            "name": "customernumber",
            "in": "path",
            "description": "Your customer number",
            "required": true,
            "schema": {
              "type": "string",
              "example": "11223344"
            }
          },
          {
            "name": "period",
            "in": "query",
            "description": "Optional array which defines a specific period in which to return updated shipments. For optimal results, schedule calls at a frequency between 5-15 minutes and align the requested period accordingly to ensure complete coverage of past updates. Shorter periods yield improved response times. The API accommodates a maximum requested period of 2 hours, granting access to shipment data up to 48 hours in the past. Please use the following format: YYYY-MM-DDTHH:MM:SS and repeat this variable to define the period (e.g. /updatedshipments?period=2022-11-07T12:00:00.000&period=2022-11-07T12:05:00.000).",
            "style": "form",
            "explode": true,
            "schema": {
              "maxItems": 2,
              "type": "array",
              "items": {
                "type": "string"
              },
              "example": [
                "2022-11-07T12:00:00.000",
                "2022-11-07T12:05:00.000"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Updated statuses",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/shippingstatusResponseUpdatedShipments"
                },
                "examples": {
                  "Updates found": {
                    "$ref": "#/components/examples/shippingstatusExampleResponseUpdatedShipments"
                  },
                  "No updates found": {
                    "$ref": "#/components/examples/shippingstatusExampleResponseUpdatedShipmentsNoUpdates"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/shippingstatusValidationFault"
                },
                "example": {
                  "fault": {
                    "faultstring": "no barcode supplied in path",
                    "detail": {
                      "errorcode": "Validation Fault"
                    }
                  }
                }
              }
            }
          },
					"401": {
						"description": "Invalid apikey",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/Unauthorized"
								},
								"example": {
									"message": "Failed to resolve API Key variable 'request.header.apikey'",
									"http_status_code": 401
								}
							}
						}
					},
					"405": {
						"description": "Method not allowed",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/MethodNotAllowedOnlyGet"
								},
								"example": {
									"message": "Only GET requests allowed",
									"http_status_code": 405
								}
							}
						}
					},
					"429": {
						"description": "Too many requests",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/TooManyRequests"
								},
								"example": {
									"message": "Too many requests. Rate limit exceeded!",
									"http_status_code": 429
								}
							}
						}
					},
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/shippingstatusValidationFault"
                },
                "example": {
                  "fault": {
                    "faultstring": "no barcode supplied in path",
                    "detail": {
                      "errorcode": "Validation Fault"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "APIKeyHeader": {
        "type": "apiKey",
        "name": "apikey",
        "in": "header"
      }
    },
    "schemas": {
      "shippingstatusResponse": {
        "type": "object",
        "properties": {
          "CompleteStatus": {
            "type": "object",
            "description": "The current status and old statuses of the shipment",
            "properties": {
              "Shipment": {
                "$ref": "#/components/schemas/completeStatusShipment"
              }
            }
          },
          "CurrentStatus": {
            "type": "object",
            "description": "The current status and old statuses of the shipment",
            "properties": {
              "Shipment": {
                "$ref": "#/components/schemas/currentStatusShipment"
              }
            }
          },
          "Warnings": {
            "description": "Possible warnings (see [Error Codes](https://developer.postnl.nl/docs/#/http/reference-data/error-codes) for possible values)",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/shippingstatusWarning"
            }
          }
        }
      },
      "currentStatusShipment": {
        "type": "object",
        "properties": {
          "MainBarcode": {
            "type": "string",
            "description": "The main barcode of the shipment",
            "example": "3SDEVC6659149"
          },
          "Barcode": {
            "type": "string",
            "description": "The barcode of the shipment",
            "example": "3SDEVC6659149"
          },
          "ShipmentAmount": {
            "type": "string",
            "description": "The amount of parcels in the multi-collo shipment",
            "example": "2"
          },
          "ShipmentCounter": {
            "type": "string",
            "description": "The sequence of this parcel in the multi-collo shipment",
            "example": "1"
          },
          "Customer": {
            "$ref": "#/components/schemas/shippingstatusCustomer"
          },
          "ProductCode": {
            "type": "string",
            "description": "The product code of the shipment",
            "example": "003085"
          },
          "ProductDescription": {
            "type": "string",
            "description": "The description of the product code",
            "example": "Standaard Zending"
          },
          "Reference": {
            "type": "string",
            "description": "The customer reference belonging to the shipment",
            "example": "REF-1234567"
          },
          "DeliveryDate": {
            "type": "string",
            "description": "The expected delivery date of the shipment",
            "example": "2016-04-20"
          },
          "Dimension": {
            "$ref": "#/components/schemas/shippingstatusDimension"
          },
          "Address": {
            "type": "array",
            "description": "A list of addresses belonging to the shipment",
            "items": {
              "$ref": "#/components/schemas/shippingstatusAddress"
            }
          },
          "ProductOptions": {
            "type": "array",
            "description": "A list of product options.",
            "items": {
              "$ref": "#/components/schemas/shippingstatusProductOptions"
            }
          },
          "Status": {
            "type": "object",
            "description": "The current status of the shipment (see the [Status codes](https://developer.postnl.nl/docs/#/http/reference-data/t-t-status-codes/event-codes) for possible values.",
            "properties": {
              "TimeStamp": {
                "type": "string",
                "description": "The status timestamp",
                "example": "07-11-2022 19:10:28"
              },
              "StatusCode": {
                "type": "string",
                "description": "The status code",
                "example": "1"
              },
              "StatusDescription": {
                "type": "string",
                "description": "The status description",
                "example": "Zending voorgemeld"
              },
              "PhaseCode": {
                "type": "string",
                "description": "The phase code",
                "example": "1"
              },
              "PhaseDescription": {
                "type": "string",
                "description": "The phase description",
                "example": "Collectie"
              }
            }
          }
        }
      },
      "completeStatusShipment": {
        "type": "object",
        "properties": {
          "MainBarcode": {
            "type": "string",
            "description": "The main barcode of the shipment",
            "example": "3SDEVC6659149"
          },
          "Barcode": {
            "type": "string",
            "description": "The barcode of the shipment",
            "example": "3SDEVC6659149"
          },
          "ShipmentAmount": {
            "type": "string",
            "description": "The amount of parcels in the multi-collo shipment",
            "example": "2"
          },
          "ShipmentCounter": {
            "type": "string",
            "description": "The sequence of this parcel in the multi-collo shipment",
            "example": "1"
          },
          "Customer": {
            "$ref": "#/components/schemas/shippingstatusCustomer"
          },
          "ProductCode": {
            "type": "string",
            "description": "The product code of the shipment",
            "example": "003085"
          },
          "ProductDescription": {
            "type": "string",
            "description": "The description of the product code",
            "example": "Standaard Zending"
          },
          "Reference": {
            "type": "string",
            "description": "The customer reference belonging to the shipment",
            "example": "REF-1234567"
          },
          "DeliveryDate": {
            "type": "string",
            "description": "The expected delivery date of the shipment",
            "example": "2016-04-20"
          },
          "Dimension": {
            "$ref": "#/components/schemas/shippingstatusDimension"
          },
          "Amount": {
            "$ref": "#/components/schemas/shippingstatusAmount"
          },
          "Address": {
            "type": "array",
            "description": "A list of addresses belonging to the shipment",
            "items": {
              "$ref": "#/components/schemas/shippingstatusAddress"
            }
          },
          "Event": {
            "type": "array",
            "description": "The events of the shipment. (see the [Event Codes](https://developer.postnl.nl/docs/#/http/reference-data/t-t-status-codes/event-codes) for possible values.",
            "items": {
              "type": "object",
              "properties": {
                "Code": {
                  "type": "string",
                  "description": "The event code",
                  "example": "A01"
                },
                "Description": {
                  "type": "string",
                  "description": "The event description",
                  "example": "Pakket is nog niet door PostNL ontvangen of verwerkt"
                },
                "DestinationLocationCode": {
                  "type": "string",
                  "description": "Location code of the destination",
                  "example": "888888"
                },
                "LocationCode": {
                  "type": "string",
                  "description": "The current location code",
                  "example": "156789"
                },
                "RouteCode": {
                  "type": "string",
                  "description": "The route code",
                  "example": "310"
                },
                "RouteNumber": {
                  "type": "string",
                  "description": "The route number",
                  "example": "310 Sittard Vrangendael"
                },
                "TimeStamp": {
                  "type": "string",
                  "description": "Timestamp of the event",
                  "example": "07-11-2022 19:10:28"
                }
              }
            }
          },
          "Expectation": {
            "type": "object",
            "description": "The expected delivery timeframe",
            "properties": {
              "ETAFrom": {
                "type": "string",
                "example": "2022-11-07T10:00:00",
                "description": "The start of the timeframe"
              },
              "ETATo": {
                "type": "string",
                "example": "2022-11-07T12:00:00",
                "description": "The end of the timeframe"
              }
            }
          },
          "ProductOptions": {
            "type": "array",
            "description": "A list of product options.",
            "items": {
              "$ref": "#/components/schemas/shippingstatusProductOptions"
            }
          },
          "Status": {
            "type": "object",
            "description": "The current status of the shipment (see the [Status codes](https://developer.postnl.nl/docs/#/http/reference-data/t-t-status-codes/event-codes) for possible values.",
            "properties": {
              "TimeStamp": {
                "type": "string",
                "description": "The status timestamp",
                "example": "07-11-2022 19:10:28"
              },
              "StatusCode": {
                "type": "string",
                "description": "The status code",
                "example": "1"
              },
              "StatusDescription": {
                "type": "string",
                "description": "The status description",
                "example": "Zending voorgemeld"
              },
              "PhaseCode": {
                "type": "string",
                "description": "The phase code",
                "example": "1"
              },
              "PhaseDescription": {
                "type": "string",
                "description": "The phase description",
                "example": "Collectie"
              }
            }
          },
          "OldStatus": {
            "type": "array",
            "description": "A list of previous status codes (see the [Status codes](https://developer.postnl.nl/docs/#/http/reference-data/t-t-status-codes/event-codes) for possible values.",
            "items": {
              "type": "object",
              "properties": {
                "TimeStamp": {
                  "type": "string",
                  "description": "The status timestamp",
                  "example": "07-11-2022 19:10:28"
                },
                "StatusCode": {
                  "type": "string",
                  "description": "The status code",
                  "example": "1"
                },
                "StatusDescription": {
                  "type": "string",
                  "description": "The status description",
                  "example": "Zending voorgemeld"
                },
                "PhaseCode": {
                  "type": "string",
                  "description": "The phase code",
                  "example": "1"
                },
                "PhaseDescription": {
                  "type": "string",
                  "description": "The phase description",
                  "example": "Collectie"
                }
              }
            }
          }
        }
      },
      "shippingstatusProductOptions": {
        "type": "object",
        "properties": {
          "ProductOption": {
            "$ref": "#/components/schemas/shippingstatusProductOption"
          }
        }
      },
      "shippingstatusProductOption": {
        "type": "object",
        "properties": {
          "OptionCode": {
            "type": "string",
            "description": "The product option code for this ProductOption.",
            "example": "6"
          },
          "CharacteristicCode": {
            "type": "string",
            "description": "The characteristic of the ProductOption.",
            "example": "118"
          }
        }
      },
      "shippingstatusAddress": {
        "type": "object",
        "properties": {
          "FirstName": {
            "type": "string",
            "description": "The first name",
            "example": "Peter"
          },
          "LastName": {
            "type": "string",
            "description": "The last name",
            "example": "de Ruiter"
          },
          "CompanyName": {
            "type": "string",
            "description": "The company name",
            "example": "PostNL"
          },
          "DepartmentName": {
            "type": "string",
            "description": "The department name",
            "example": "IT"
          },
          "CountryCode": {
            "type": "string",
            "description": "The ISO2 country code",
            "example": "NL"
          },
          "Zipcode": {
            "type": "string",
            "description": "The zipcode",
            "example": "2132WT"
          },
          "Region": {
            "type": "string",
            "description": "The region name",
            "example": "Noord-Holland"
          },
          "District": {
            "type": "string",
            "description": "The district name",
            "example": "Beukenhorst"
          },
          "City": {
            "type": "string",
            "description": "The city name",
            "example": "Hoofddorp"
          },
          "Street": {
            "type": "string",
            "description": "The street name",
            "example": "Siriusdreef"
          },
          "HouseNumber": {
            "type": "string",
            "description": "The house number",
            "example": "42"
          },
          "HouseNumberSuffix": {
            "type": "string",
            "description": "The house number suffix",
            "example": "-60"
          },
          "Building": {
            "type": "string",
            "description": "The building name",
            "example": "AA"
          },
          "Floor": {
            "type": "string",
            "description": "The floor of the building",
            "example": "4"
          },
          "Remark": {
            "type": "string",
            "description": "An additional remark",
            "example": "No doorbell"
          }
        }
      },
      "shippingstatusAmount": {
        "type": "object",
        "description": "The amounts belonging to the shipment",
        "properties": {
          "RemboursBedrag": {
            "type": "string",
            "description": "The cash-on-delivery (COD) amount",
            "example": "EUR1079.00"
          },
          "VerzekerdBedrag": {
            "type": "string",
            "description": "The insurance amount of the shipment",
            "example": "EUR500.00"
          }
        }
      },
      "shippingstatusDimension": {
        "type": "object",
        "properties": {
          "Weight": {
            "type": "string",
            "description": "The weight of the shipment",
            "example": "100"
          },
          "Height": {
            "type": "string",
            "description": "The height of the shipment",
            "example": "200"
          },
          "Length": {
            "type": "string",
            "description": "The length of the shipment",
            "example": "300"
          },
          "Width": {
            "type": "string",
            "description": "The width of the shipment",
            "example": "400"
          },
          "Volume": {
            "type": "string",
            "description": "The volume of the shipment",
            "example": "5000"
          }
        }
      },
      "shippingstatusCustomer": {
        "type": "object",
        "properties": {
          "CustomerCode": {
            "type": "string",
            "description": "The customer code of the shipment",
            "example": "DEVC"
          },
          "CustomerNumber": {
            "type": "string",
            "description": "The customer number of the shipment",
            "example": "11223344"
          },
          "Name": {
            "type": "string",
            "description": "The customer name",
            "example": "PostNL Parcels"
          }
        }
      },
      "shippingstatusResponseSignature": {
        "type": "object",
        "properties": {
          "Signature": {
            "type": "object",
            "properties": {
              "Barcode": {
                "type": "string",
                "example": "3SDEVC317858754",
                "description": "The barcode of the shipment for which the signature is returned"
              },
              "SignatureDate": {
                "type": "string",
                "description": "The date of the signature",
                "example": "2022-11-07T19:28:16"
              },
              "SignatureImage": {
                "type": "string",
                "description": "The signature content; base64 encoded GIF format.",
                "example": "iVBORw0KGgoAAAANSUhEUgAAAogAAAGTCAYAAACrs[TRUNCATED]"
              }
            }
          },
          "Warnings": {
            "type": "object",
            "properties": {
              "Warning": {
                "$ref": "#/components/schemas/shippingstatusWarning"
              }
            }
          }
        }
      },
      "shippingstatusWarning": {
        "type": "object",
        "properties": {
          "Message": {
            "type": "string",
            "description": "Warning message",
            "example": "No signature found"
          },
          "Code": {
            "type": "string",
            "description": "Warning code",
            "example": "2"
          }
        }
      },
      "shippingstatusResponseUpdatedShipments": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "Barcode": {
              "type": "string",
              "example": "3SDEVC5672025",
              "description": "The barcode belonging to the status update"
            },
            "CreationDate": {
              "type": "string",
              "example": "2022-11-07T00:00:00",
              "description": "The date of the update"
            },
            "CustomerNumber": {
              "type": "string",
              "example": "11223344",
              "description": "The customer number"
            },
            "CustomerCode": {
              "type": "string",
              "example": "DEVC",
              "description": "The customer code"
            },
            "Status": {
              "$ref": "#/components/schemas/updatedShipmentStatus"
            }
          }
        }
      },
      "updatedShipmentStatus": {
        "type": "object",
        "description": "The status update. See [Status codes](https://developer.postnl.nl/docs/#/http/reference-data/error-codes) for possible values.",
        "properties": {
          "Timestamp": {
            "type": "string",
            "description": "The timestamp of the update",
            "example": "2022-11-07T12:36:41"
          },
          "StatusCode": {
            "type": "string",
            "description": "The status code",
            "example": "1"
          },
          "StatusDescription": {
            "type": "string",
            "description": "The status description",
            "example": "Zending voorgemeld"
          },
          "PhaseCode": {
            "type": "string",
            "description": "The phase code",
            "example": "1"
          },
          "PhaseDescription": {
            "type": "string",
            "description": "The phase description",
            "example": "Collectie"
          }
        }
      },
      "shippingstatusValidationFault": {
        "type": "object",
        "properties": {
          "fault": {
            "type": "object",
            "properties": {
              "faultstring": {
                "type": "string",
                "example": "no barcode supplied in path"
              },
              "detail": {
                "type": "object",
                "properties": {
                  "errorcode": {
                    "type": "string",
                    "example": "Validation Fault"
                  }
                }
              }
            }
          }
        }
      },
			"Unauthorized": {
				"type": "object",
				"properties": {
					"message": {
						"type": "string",
						"example": "Failed to resolve API Key variable 'request.header.apikey'"
					},
					"http_status_code": {
						"type": "number",
						"example": 401
					}
				}
			},
			"MethodNotAllowedOnlyGet": {
				"type": "object",
				"properties": {
					"message": {
						"type": "string",
						"example": "Only GET requests allowed"
					},
					"http_status_code": {
						"type": "number",
						"example": 405
					}
				}
			},
			"TooManyRequests": {
				"type": "object",
				"properties": {
					"message": {
						"type": "string",
						"example": "Too many requests. Rate limit exceeded!"
					},
					"http_status_code": {
						"type": "number",
						"example": 429
					}
				}
			}
    },
    "examples": {
      "shippingstatusExampleResponseSingleShipmentCurrent": {
        "value": {
          "CurrentStatus": {
            "Shipment": {
              "MainBarcode": "3SDEVC288882229",
              "Barcode": "3SDEVC288882229",
              "ShipmentAmount": "1",
              "ShipmentCounter": "1",
              "Customer": {
                "CustomerCode": "DEVC",
                "CustomerNumber": "11223344",
                "Name": "Testaccount API PNP"
              },
              "ProductCode": "002285",
              "ProductDescription": "Parcels, domestic &lt;= 10 kg",
              "Reference": "202213331635095807",
              "DeliveryDate": "2022-11-08",
              "Dimension": {
                "Height": "125",
                "Length": "250",
                "Volume": "6250",
                "Weight": "180",
                "Width": "200"
              },
              "Address": [
                {
                  "AddressType": "01",
                  "Building": {},
                  "City": "Utrecht",
                  "CompanyName": {},
                  "CountryCode": "NL",
                  "DepartmentName": {},
                  "District": {},
                  "FirstName": "Peter",
                  "Floor": {},
                  "HouseNumber": "74",
                  "HouseNumberSuffix": {},
                  "LastName": "de Ruiter",
                  "Region": {},
                  "Remark": {},
                  "Street": "Molengraaffplantsoen",
                  "Zipcode": "3571ZZ"
                },
                {
                  "AddressType": "02",
                  "Building": {},
                  "City": "Hoofddorp",
                  "CompanyName": "PostNL Pakketten",
                  "CountryCode": "NL",
                  "DepartmentName": {},
                  "District": {},
                  "FirstName": {},
                  "Floor": {},
                  "HouseNumber": "42",
                  "HouseNumberSuffix": "-60",
                  "LastName": {},
                  "Region": {},
                  "Remark": {},
                  "Street": "Siriusdreef",
                  "Zipcode": "2132WT"
                }
              ],
              "ProductOptions": [
                {
                  "OptionCode": "6",
                  "CharacteristicCode": "118"
                }
              ],
              "Status": {
                "TimeStamp": "08-11-2022 10:13:20",
                "StatusCode": "7",
                "StatusDescription": "Shipment out for delivery",
                "PhaseCode": "3",
                "PhaseDescription": "Distribution"
              }
            }
          }
        }
      },
      "shippingstatusExampleResponseSingleShipmentComplete": {
        "value": {
          "CompleteStatus": {
            "Shipment": {
              "MainBarcode": "3SDEVC288882229",
              "Barcode": "3SDEVC288882229",
              "ShipmentAmount": "1",
              "ShipmentCounter": "1",
              "Customer": {
                "CustomerCode": "DEVC",
                "CustomerNumber": "11223344",
                "Name": "Testaccount API PNP"
              },
              "ProductCode": "002285",
              "ProductDescription": "Parcels, domestic &lt;= 10 kg",
              "Reference": "202213331635095807",
              "DeliveryDate": "2022-11-08",
              "Dimension": {
                "Height": "125",
                "Length": "250",
                "Volume": "6250",
                "Weight": "180",
                "Width": "200"
              },
              "Address": [
                {
                  "AddressType": "01",
                  "Building": {},
                  "City": "Utrecht",
                  "CompanyName": {},
                  "CountryCode": "NL",
                  "DepartmentName": {},
                  "District": {},
                  "FirstName": "Peter",
                  "Floor": {},
                  "HouseNumber": "74",
                  "HouseNumberSuffix": {},
                  "LastName": "de Ruiter",
                  "Region": {},
                  "Remark": {},
                  "Street": "Molengraaffplantsoen",
                  "Zipcode": "3571ZZ"
                },
                {
                  "AddressType": "02",
                  "Building": {},
                  "City": "Hoofddorp",
                  "CompanyName": "PostNL Pakketten",
                  "CountryCode": "NL",
                  "DepartmentName": {},
                  "District": {},
                  "FirstName": {},
                  "Floor": {},
                  "HouseNumber": "42",
                  "HouseNumberSuffix": "-60",
                  "LastName": {},
                  "Region": {},
                  "Remark": {},
                  "Street": "Siriusdreef",
                  "Zipcode": "2132WT"
                }
              ],
              "Event": [
                {
                  "Code": "J05",
                  "Description": "Driver is en route",
                  "DestinationLocationCode": {},
                  "LocationCode": "171966",
                  "RouteCode": "20221108_HD_171966_0444",
                  "RouteName": "0444 Spijkenisse 12",
                  "TimeStamp": "08-11-2022 10:13:20"
                },
                {
                  "Code": "J01",
                  "Description": "Shipment has been sorted",
                  "DestinationLocationCode": "171967",
                  "LocationCode": "171967",
                  "RouteCode": "444",
                  "RouteName": "0444 Spijkenisse 12",
                  "TimeStamp": "08-11-2022 09:58:11"
                },
                {
                  "Code": "B01",
                  "Description": "Shipment received by PostNL",
                  "DestinationLocationCode": "171967",
                  "LocationCode": "212124",
                  "RouteCode": "444",
                  "RouteName": "0444 Spijkenisse 12",
                  "TimeStamp": "08-11-2022 00:08:39"
                },
                {
                  "Code": "A01",
                  "Description": "Shipment expected, but not yet arrived at PostNL",
                  "DestinationLocationCode": {},
                  "LocationCode": "888888",
                  "RouteCode": {},
                  "RouteName": {},
                  "TimeStamp": "07-11-2022 19:19:31"
                }
              ],
              "ProductOptions": [
                {
                  "OptionCode": "6",
                  "CharacteristicCode": "118"
                }
              ],
              "Expectation": {
                "ETAFrom": "2022-11-08T14:50:00",
                "ETATo": "2022-11-08T16:50:00"
              },
              "Status": {
                "TimeStamp": "08-11-2022 10:13:20",
                "StatusCode": "7",
                "StatusDescription": "Shipment out for delivery",
                "PhaseCode": "3",
                "PhaseDescription": "Distribution"
              },
              "OldStatus": [
                {
                  "TimeStamp": "08-11-2022 10:13:20",
                  "StatusCode": "7",
                  "StatusDescription": "Shipment out for delivery",
                  "PhaseCode": "3",
                  "PhaseDescription": "Distribution"
                },
                {
                  "TimeStamp": "08-11-2022 10:13:20",
                  "StatusCode": "99",
                  "StatusDescription": "Not applicable",
                  "PhaseCode": "99",
                  "PhaseDescription": "Not applicable"
                },
                {
                  "TimeStamp": "08-11-2022 10:12:59",
                  "StatusCode": "99",
                  "StatusDescription": "Not applicable",
                  "PhaseCode": "99",
                  "PhaseDescription": "Not applicable"
                },
                {
                  "TimeStamp": "08-11-2022 09:58:50",
                  "StatusCode": "99",
                  "StatusDescription": "Not applicable",
                  "PhaseCode": "99",
                  "PhaseDescription": "Not applicable"
                },
                {
                  "TimeStamp": "08-11-2022 09:58:11",
                  "StatusCode": "5",
                  "StatusDescription": "Shipment sorted",
                  "PhaseCode": "2",
                  "PhaseDescription": "Sorting"
                },
                {
                  "TimeStamp": "08-11-2022 00:10:11.081",
                  "StatusCode": "99",
                  "StatusDescription": "Not applicable",
                  "PhaseCode": "99",
                  "PhaseDescription": "Not applicable"
                },
                {
                  "TimeStamp": "08-11-2022 00:08:39",
                  "StatusCode": "2",
                  "StatusDescription": "Shipment accepted",
                  "PhaseCode": "1",
                  "PhaseDescription": "Collection"
                },
                {
                  "TimeStamp": "07-11-2022 19:20:53.471",
                  "StatusCode": "99",
                  "StatusDescription": "Not applicable",
                  "PhaseCode": "99",
                  "PhaseDescription": "Not applicable"
                },
                {
                  "TimeStamp": "07-11-2022 19:20:52",
                  "StatusCode": "99",
                  "StatusDescription": "Not applicable",
                  "PhaseCode": "99",
                  "PhaseDescription": "Not applicable"
                },
                {
                  "TimeStamp": "07-11-2022 19:19:31",
                  "StatusCode": "1",
                  "StatusDescription": "Shipment pre-alerted",
                  "PhaseCode": "1",
                  "PhaseDescription": "Collection"
                }
              ]
            }
          }
        }
      },
      "shippingstatusExampleResponseMulticollo": {
        "value": {
          "CompleteStatus": {
            "Shipment": [
              {
                "MainBarcode": "3SDEVC7755088",
                "Barcode": "3SDEVC5672025",
                "ShipmentAmount": "2",
                "ShipmentCounter": "2",
                "Customer": {
                  "CustomerCode": "DEVC",
                  "CustomerNumber": "11223344",
                  "Name": "Testaccount API PNP"
                },
                "ProductCode": "003085",
                "ProductDescription": "Standaard Zending",
                "Reference": {},
                "Dimension": {
                  "Height": {},
                  "Length": {},
                  "Volume": {},
                  "Weight": {},
                  "Width": {}
                },
                "Address": [
                  {
                    "AddressType": "01",
                    "Building": {},
                    "City": "Utrecht",
                    "CompanyName": {},
                    "CountryCode": "NL",
                    "DepartmentName": {},
                    "District": {},
                    "FirstName": "Peter",
                    "Floor": {},
                    "HouseNumber": "9",
                    "HouseNumberSuffix": "A BIS",
                    "LastName": "de Ruiter",
                    "Region": {},
                    "Remark": {},
                    "Street": "Bilderdijkstraat",
                    "Zipcode": "3532VA"
                  },
                  {
                    "AddressType": "02",
                    "Building": {},
                    "City": "Hoofddorp",
                    "CompanyName": "PostNL",
                    "CountryCode": "NL",
                    "DepartmentName": {},
                    "District": {},
                    "FirstName": {},
                    "Floor": {},
                    "HouseNumber": "42",
                    "HouseNumberSuffix": {},
                    "LastName": {},
                    "Region": {},
                    "Remark": {},
                    "Street": "Siriusdreef",
                    "Zipcode": "2132WT"
                  }
                ],
                "Event": {
                  "Code": "A01",
                  "Description": "Pakket is nog niet door PostNL ontvangen of verwerkt",
                  "DestinationLocationCode": {},
                  "LocationCode": "888888",
                  "RouteCode": {},
                  "RouteName": {},
                  "TimeStamp": "07-11-2022 12:36:41"
                },
                "Status": {
                  "TimeStamp": "08-11-2022 04:15:00",
                  "StatusCode": "13",
                  "StatusDescription": "Voorgemeld: nog niet aangenomen",
                  "PhaseCode": "1",
                  "PhaseDescription": "Collectie"
                },
                "OldStatus": [
                  {
                    "TimeStamp": "08-11-2022 04:15:00",
                    "StatusCode": "13",
                    "StatusDescription": "Voorgemeld: nog niet aangenomen",
                    "PhaseCode": "1",
                    "PhaseDescription": "Collectie"
                  },
                  {
                    "TimeStamp": "07-11-2022 12:39:49.364",
                    "StatusCode": "99",
                    "StatusDescription": "Niet van toepassing",
                    "PhaseCode": "99",
                    "PhaseDescription": "Niet van toepassing"
                  },
                  {
                    "TimeStamp": "07-11-2022 12:39:48",
                    "StatusCode": "99",
                    "StatusDescription": "Niet van toepassing",
                    "PhaseCode": "99",
                    "PhaseDescription": "Niet van toepassing"
                  },
                  {
                    "TimeStamp": "07-11-2022 12:36:41",
                    "StatusCode": "1",
                    "StatusDescription": "Zending voorgemeld",
                    "PhaseCode": "1",
                    "PhaseDescription": "Collectie"
                  }
                ]
              },
              {
                "MainBarcode": "3SDEVC7755088",
                "Barcode": "3SDEVC7755088",
                "ShipmentAmount": "2",
                "ShipmentCounter": "1",
                "Customer": {
                  "CustomerCode": "DEVC",
                  "CustomerNumber": "11223344",
                  "Name": "Testaccount API PNP"
                },
                "ProductCode": "003085",
                "ProductDescription": "Standaard Zending",
                "Reference": {},
                "Dimension": {
                  "Height": {},
                  "Length": {},
                  "Volume": {},
                  "Weight": {},
                  "Width": {}
                },
                "Address": [
                  {
                    "AddressType": "01",
                    "Building": {},
                    "City": "Utrecht",
                    "CompanyName": {},
                    "CountryCode": "NL",
                    "DepartmentName": {},
                    "District": {},
                    "FirstName": "Peter",
                    "Floor": {},
                    "HouseNumber": "9",
                    "HouseNumberSuffix": "A BIS",
                    "LastName": "de Ruiter",
                    "Region": {},
                    "Remark": {},
                    "Street": "Bilderdijkstraat",
                    "Zipcode": "3532VA"
                  },
                  {
                    "AddressType": "02",
                    "Building": {},
                    "City": "Hoofddorp",
                    "CompanyName": "PostNL",
                    "CountryCode": "NL",
                    "DepartmentName": {},
                    "District": {},
                    "FirstName": {},
                    "Floor": {},
                    "HouseNumber": "42",
                    "HouseNumberSuffix": {},
                    "LastName": {},
                    "Region": {},
                    "Remark": {},
                    "Street": "Siriusdreef",
                    "Zipcode": "2132WT"
                  }
                ],
                "Event": {
                  "Code": "A01",
                  "Description": "Pakket is nog niet door PostNL ontvangen of verwerkt",
                  "DestinationLocationCode": {},
                  "LocationCode": "888888",
                  "RouteCode": {},
                  "RouteName": {},
                  "TimeStamp": "07-11-2022 12:35:44"
                },
                "ProductOptions": [
                  {
                    "OptionCode": "6",
                    "CharacteristicCode": "118"
                  }
                ],
                "Status": {
                  "TimeStamp": "08-11-2022 04:15:00",
                  "StatusCode": "13",
                  "StatusDescription": "Voorgemeld: nog niet aangenomen",
                  "PhaseCode": "1",
                  "PhaseDescription": "Collectie"
                },
                "OldStatus": [
                  {
                    "TimeStamp": "08-11-2022 04:15:00",
                    "StatusCode": "13",
                    "StatusDescription": "Voorgemeld: nog niet aangenomen",
                    "PhaseCode": "1",
                    "PhaseDescription": "Collectie"
                  },
                  {
                    "TimeStamp": "07-11-2022 12:39:26.501",
                    "StatusCode": "99",
                    "StatusDescription": "Niet van toepassing",
                    "PhaseCode": "99",
                    "PhaseDescription": "Niet van toepassing"
                  },
                  {
                    "TimeStamp": "07-11-2022 12:39:25",
                    "StatusCode": "99",
                    "StatusDescription": "Niet van toepassing",
                    "PhaseCode": "99",
                    "PhaseDescription": "Niet van toepassing"
                  },
                  {
                    "TimeStamp": "07-11-2022 12:35:44",
                    "StatusCode": "1",
                    "StatusDescription": "Zending voorgemeld",
                    "PhaseCode": "1",
                    "PhaseDescription": "Collectie"
                  }
                ]
              }
            ]
          }
        }
      },
      "shippingstatusExampleResponseNoShipment": {
        "value": {
          "CompleteStatus": {},
          "Warnings": [
            {
              "Message": "No shipment found",
              "Code": "2"
            }
          ]
        }
      },
      "shippingstatusExampleResponseSignature": {
        "value": {
          "Signature": {
            "Barcode": "3SDEVC317858754",
            "SignatureDate": "2022-11-07T19:28:16",
            "SignatureImage": "iVBORw0KGgoAAAANSUhEUgAAAogAAAGTCAYAAACrs[TRUNCATED]"
          }
        }
      },
      "shippingstatusExampleResponseNoSignature": {
        "value": {
          "Warnings": {
            "Warning": {
              "Message": "No signature found",
              "Code": "2"
            }
          }
        }
      },
      "shippingstatusExampleResponseUpdatedShipments": {
        "value": [
          {
            "Barcode": "3SDEVC2260332157",
            "CreationDate": "2022-11-07T00:00:00",
            "CustomerNumber": "11223344",
            "CustomerCode": "DEVC",
            "Status": {
              "Timestamp": "2022-11-08T02:17:49",
              "StatusCode": "5",
              "StatusDescription": "Zending gesorteerd",
              "PhaseCode": "2",
              "PhaseDescription": "Sortering"
            }
          },
          {
            "Barcode": "3SDEVC775533088",
            "CreationDate": "2022-11-07T00:00:00",
            "CustomerNumber": "11223344",
            "CustomerCode": "DEVC",
            "Status": {
              "Timestamp": "2022-11-08T04:15:00",
              "StatusCode": "13",
              "StatusDescription": "Voorgemeld: nog niet aangenomen",
              "PhaseCode": "1",
              "PhaseDescription": "Collectie"
            }
          },
          {
            "Barcode": "3SDEVC563372025",
            "CreationDate": "2022-11-07T00:00:00",
            "CustomerNumber": "11223344",
            "CustomerCode": "DEVC",
            "Status": {
              "Timestamp": "2022-11-08T04:15:00",
              "StatusCode": "13",
              "StatusDescription": "Voorgemeld: nog niet aangenomen",
              "PhaseCode": "1",
              "PhaseDescription": "Collectie"
            }
          },
          {
            "Barcode": "3SDEVC336510881",
            "CreationDate": "2022-11-08T00:00:00",
            "CustomerNumber": "11223344",
            "CustomerCode": "DEVC",
            "Status": {
              "Timestamp": "2022-11-08T01:01:28",
              "StatusCode": "1",
              "StatusDescription": "Zending voorgemeld",
              "PhaseCode": "1",
              "PhaseDescription": "Collectie"
            }
          }
        ]
      },
      "shippingstatusExampleResponseUpdatedShipmentsNoUpdates": {
        "value": []
      }
    }
  }
}