Paack · Schema
UpdateOrderRequest
Defines the request to update the specified order.
CompanyLogisticsLast Mile DeliveryParcel DeliveryE-CommerceShippingFulfillmentTrackingReverse Logistics
Properties
| Name | Type | Description |
|---|---|---|
| customer | object | |
| delivery_address | object | |
| expected_delivery_ts | object | |
| parcels | object | |
| expected_pick_up_ts | object | |
| clusters | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/paack/main/json-schema/paack-update-order-request-schema.json",
"title": "UpdateOrderRequest",
"description": "Defines the request to update the specified order.",
"x-generated": "2026-10-14",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/paack-orders-api-openapi.yml#/components/schemas/UpdateOrderRequest",
"properties": {
"customer": {
"$ref": "#/$defs/UpdateCustomer"
},
"delivery_address": {
"allOf": [
{
"description": "Delivery address."
},
{
"$ref": "#/$defs/RequestAddress"
}
]
},
"expected_delivery_ts": {
"$ref": "#/$defs/WindowObject"
},
"parcels": {
"allOf": [
{
"description": "Parcels included in the order. If you don't want to update the parcels, keep the array null or empty. If you want to update, add, or remove parcels, define them all one per object as this array overwrites whatever was persisted for the parcels before the update."
},
{
"items": {
"$ref": "#/$defs/AddOrderRequestParcelsElem"
},
"type": "array"
}
]
},
"expected_pick_up_ts": {
"$ref": "#/$defs/WindowObject"
},
"clusters": {
"$ref": "#/$defs/Cluster"
}
},
"required": [
"customer",
"delivery_address",
"expected_delivery_ts"
],
"type": "object",
"$defs": {
"AddOrderRequestParcelsElem": {
"properties": {
"barcode": {
"description": "Barcode of the parcel.",
"type": "string",
"maxLength": 128
},
"height": {
"description": "Height of the parcel in cm.",
"format": "double",
"type": "number",
"minimum": 0,
"maximum": 120
},
"length": {
"description": "Length of the parcel in cm.",
"format": "double",
"type": "number",
"minimum": 0,
"maximum": 120
},
"width": {
"description": "Width of the parcel in cm.",
"format": "double",
"type": "number",
"minimum": 0,
"maximum": 120
},
"weight": {
"description": "Actual weight of the parcel in kg.",
"format": "double",
"type": "number",
"minimum": 0,
"maximum": 32
},
"type": {
"$ref": "#/$defs/ParcelsElemType"
},
"parcel_details": {
"$ref": "#/$defs/NotPersisted"
}
},
"required": [
"barcode"
],
"type": "object"
},
"Address": {
"properties": {
"city": {
"$ref": "#/$defs/City"
},
"country": {
"$ref": "#/$defs/Country"
},
"line1": {
"$ref": "#/$defs/Line1"
},
"post_code": {
"$ref": "#/$defs/Postcode"
}
},
"required": [
"city",
"country",
"line1",
"post_code"
],
"type": "object"
},
"City": {
"description": "City.",
"type": "string",
"minLength": 2,
"maxLength": 128
},
"Cluster": {
"type": "array",
"items": {
"type": "string"
},
"description": ":construction: Identifiers that associate orders with each other. Learn more [here](./reverse-logistics). Note that, as of now, the array cannot be retrieved through a GET request."
},
"Country": {
"description": "Country in ISO 3166 alpha 2 format.",
"enum": [
"ES",
"FR",
"GB",
"IT",
"PT"
],
"type": "string"
},
"Customer": {
"description": "Information on the person receiving the parcels.",
"properties": {
"first_name": {
"$ref": "#/$defs/FirstName"
},
"last_name": {
"$ref": "#/$defs/LastName"
},
"email": {
"$ref": "#/$defs/Email"
}
},
"required": [
"first_name"
],
"type": "object"
},
"Date": {
"description": "Date in `YYYY-MM-DD` format.",
"maxLength": 10,
"minLength": 10,
"type": "string",
"format": "date"
},
"Email": {
"description": "Customer's email address.",
"type": "string",
"minLength": 6,
"maxLength": 128
},
"FirstName": {
"description": "Customer's first or full name. If the `last_name` value is not specified, the full name is split and persisted in both fields.",
"type": "string",
"maxLength": 128
},
"LastName": {
"description": "Customer's last name. If not specified in the input, the last part of the first name is persisted in this field.",
"type": "string",
"maxLength": 128
},
"Line1": {
"description": "Primary address.",
"type": "string",
"maxLength": 128
},
"Line2": {
"description": "Additional address information.",
"type": "string",
"maxLength": 128
},
"NotPersisted": {
"description": ":construction: Currently input for this information is not persisted by Paack so it cannot be retrieved through the GET method.",
"type": "null"
},
"ParcelsElemType": {
"description": ":construction: Currently input for this information is not persisted by Paack. Value equals `standard` when retrieved through the GET method.",
"type": "string",
"default": "standard",
"enum": [
"standard"
]
},
"Phone": {
"description": "Customer's phone number with the country prefix.",
"type": "string",
"minLength": 1,
"maxLength": 128
},
"Postcode": {
"description": "Postcode.",
"type": "string",
"minLength": 3,
"maxLength": 128
},
"RequestAddress": {
"allOf": [
{
"$ref": "#/$defs/Address"
},
{
"properties": {
"line2": {
"$ref": "#/$defs/Line2"
}
},
"type": "object"
}
]
},
"Time": {
"description": "UTC time in `hh:mm:ss` format.",
"maxLength": 8,
"minLength": 8,
"type": "string",
"format": "time"
},
"UpdateCustomer": {
"allOf": [
{
"$ref": "#/$defs/Customer"
},
{
"properties": {
"phone": {
"allOf": [
{
"description": "Customer's phone number without the country prefix. Note that the country prefix is persisted from the request that created the order and cannot be updated."
},
{
"$ref": "#/$defs/Phone"
}
]
}
},
"type": "object"
}
]
},
"WindowDatetime": {
"description": "UTC time defined by the properties `date` and `time`.",
"properties": {
"date": {
"$ref": "#/$defs/Date"
},
"time": {
"$ref": "#/$defs/Time"
}
},
"required": [
"date",
"time"
],
"type": "object"
},
"WindowObject": {
"description": "Timeslot defined by the objects `start` and `end`.",
"properties": {
"start": {
"$ref": "#/$defs/WindowDatetime"
},
"end": {
"$ref": "#/$defs/WindowDatetime"
}
},
"required": [
"start",
"end"
],
"type": "object"
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/paack-update-order-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.