{
  "openapi": "3.0.4",
  "info": {
    "title": "Norce Checkout - Order Management API",
    "description": "Build 2026-10-07 13:08:32\n\nThe Order Management API is used to create and handle orders",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://{slug}.api-se.playground.norce.tech/checkout/order",
      "description": "Playground",
      "variables": {
        "slug": {
          "default": "customer-slug",
          "description": "Replace with your slug."
        }
      }
    },
    {
      "url": "https://{slug}.api-se.stage.norce.tech/checkout/order",
      "description": "Stage",
      "variables": {
        "slug": {
          "default": "customer-slug",
          "description": "Replace with your slug."
        }
      }
    },
    {
      "url": "https://{slug}.api-se.norce.tech/checkout/order",
      "description": "Production",
      "variables": {
        "slug": {
          "default": "customer-slug",
          "description": "Replace with your slug."
        }
      }
    }
  ],
  "paths": {
    "/api/v1/checkout/orders": {
      "post": {
        "tags": [
          "Checkout"
        ],
        "summary": "Create a new Order",
        "description": "Creates an order in checkout state",
        "operationId": "CreateCheckoutOrder",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          }
        ],
        "requestBody": {
          "description": "Order",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Order"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "get": {
        "tags": [
          "Checkout"
        ],
        "summary": "Get orders",
        "description": "Get all orders",
        "operationId": "GetCheckoutOrders",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "payment_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reference",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cart_reference",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "date_from",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "date_to",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OrderStatus"
              }
            }
          },
          {
            "name": "order_by",
            "in": "query",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/OrderListOrderBy"
                }
              ]
            }
          },
          {
            "name": "order_by_direction",
            "in": "query",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/OrderListOrderByDirection"
                }
              ]
            }
          },
          {
            "name": "countries",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "billing_countries",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "shipping_countries",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "billing_emails",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "shipping_emails",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "billing_phones",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "shipping_phones",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "billing_names",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "shipping_names",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderPaginationSet"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/api/v1/checkout/orders/{orderId}": {
      "delete": {
        "tags": [
          "Checkout"
        ],
        "summary": "Delete existing order",
        "description": "Delete order from a orders repository",
        "operationId": "DeleteCheckoutOrder",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "get": {
        "tags": [
          "Checkout"
        ],
        "summary": "Get order by id",
        "description": "Get order for merchant and channel",
        "operationId": "GetCheckoutOrder",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Order"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/api/v1/checkout/orders/ids": {
      "get": {
        "tags": [
          "Checkout"
        ],
        "summary": "Get order IDs by status",
        "description": "Returns a paginated list of order IDs filtered by status. Use 'current_statuses' to filter orders that currently have one of the specified statuses and transitioned to it within the given time range. Use 'order_statuses' to filter orders that have transitioned into any of the specified statuses within the given time range (includes orders that have since moved to other statuses). Exactly one of 'current_statuses' or 'order_statuses' must be provided.",
        "operationId": "GetCheckoutOrderIds",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "order_statuses",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OrderStatus"
              }
            }
          },
          {
            "name": "current_statuses",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OrderStatus"
              }
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StringPaginationSet"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/api/v1/checkout/orders/{orderId}/state": {
      "put": {
        "tags": [
          "Checkout"
        ],
        "summary": "Update Order State",
        "description": "Update order state",
        "operationId": "UpdateCheckoutOrderState",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/State"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "202": {
            "description": "The status code indicates that the request has been accepted for processing, but the processing has not yet been completed or may have been canceled due to a more recent request being processed instead."
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/api/v1/checkout/orders/{orderId}/cart": {
      "put": {
        "tags": [
          "Checkout"
        ],
        "summary": "Update order cart",
        "description": "Update order cart. Can only be used if order is in Checkout state",
        "operationId": "UpdateCheckoutOrderCart",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Cart"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/api/v1/checkout/orders/{orderId}/cart/upsell": {
      "put": {
        "tags": [
          "Checkout"
        ],
        "summary": "Update order cart with upsell items",
        "description": "Update order cart (Upsell). Can only be used if order is in Accepted state",
        "operationId": "UpdateCheckoutOrderCartUpsell",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Cart"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {}
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {}
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {}
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/api/v1/checkout/orders/{orderId}/customer/billing": {
      "put": {
        "tags": [
          "Checkout"
        ],
        "summary": "Update Customer Billing Address",
        "description": "Update customer billing address",
        "operationId": "UpdateCheckoutOrderCustomerBilling",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Billing address",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Address"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/api/v1/checkout/orders/{orderId}/customer/shipping": {
      "put": {
        "tags": [
          "Checkout"
        ],
        "summary": "Update Customer Shipping Address",
        "description": "Update customer shipping address",
        "operationId": "UpdateCheckoutOrderCustomerShipping",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Shipping address",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Address"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/api/v1/checkout/orders/{orderId}/customer/loyalty": {
      "put": {
        "tags": [
          "Checkout"
        ],
        "summary": "Update Customer Loyalty",
        "description": "Update customer loyalty",
        "operationId": "UpdateCheckoutOrderCustomerLoyalty",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Loyalty information",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Loyalty"
                  }
                ],
                "description": "Represents a customer's loyalty program membership."
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/api/v1/checkout/orders/{orderId}/consents": {
      "post": {
        "tags": [
          "Checkout"
        ],
        "summary": "Create consent",
        "description": "Create consent",
        "operationId": "CreateCheckoutOrderConsent",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Consent",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Consent"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Checkout"
        ],
        "summary": "Patch consents, will only change value of Checked.",
        "description": "Patch consents",
        "operationId": "PatchCheckoutOrderConsents",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Consents",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Consent"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/api/v1/checkout/orders/{orderId}/consents/{consentId}": {
      "delete": {
        "tags": [
          "Checkout"
        ],
        "summary": "Remove consent",
        "description": "Remove consent",
        "operationId": "RemoveCheckoutOrderConsent",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "consentId",
            "in": "path",
            "description": "Consent identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Checkout"
        ],
        "summary": "Patch consent, will only change value of Checked.",
        "description": "Patch consent",
        "operationId": "PatchCheckoutOrderConsent",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "consentId",
            "in": "path",
            "description": "Consent identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Consent",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Consent"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/api/v1/checkout/orders/{orderId}/attributes": {
      "patch": {
        "tags": [
          "Checkout"
        ],
        "summary": "Patch attributes",
        "description": "Patch attributes",
        "operationId": "PatchCheckoutOrderAttributes",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Attribute",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": {}
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/api/v1/checkout/orders/{orderId}/customer/attributes": {
      "patch": {
        "tags": [
          "Checkout"
        ],
        "summary": "Patch Customer Attributes",
        "description": "Patch customer attributes",
        "operationId": "PatchCheckoutOrderCustomerAttributes",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order Identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Attribute",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": {}
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/api/v1/checkout/orders/{orderId}/validations": {
      "post": {
        "tags": [
          "Checkout"
        ],
        "summary": "Create validation",
        "description": "Create validation",
        "operationId": "CreateCheckoutOrderValidation",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Validation callback",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Validation"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/api/v1/checkout/orders/{orderId}/validations/{validationId}": {
      "put": {
        "tags": [
          "Checkout"
        ],
        "summary": "Update validation",
        "description": "Update validation",
        "operationId": "UpdateCheckoutOrderValidation",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "validationId",
            "in": "path",
            "description": "Validation identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Validation callback",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Validation"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Checkout"
        ],
        "summary": "Remove validation",
        "description": "Remove validation",
        "operationId": "RemoveCheckoutOrderValidation",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "validationId",
            "in": "path",
            "description": "Validation identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/api/v1/checkout/orders/{orderId}/validate": {
      "post": {
        "tags": [
          "Checkout"
        ],
        "summary": "Validate an order",
        "description": "Validate order",
        "operationId": "Validate",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ValidationError"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ValidationError"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/api/v1/checkout/orders/{orderId}/reference": {
      "put": {
        "tags": [
          "Checkout"
        ],
        "summary": "Update Order Reference",
        "description": "Update order reference",
        "operationId": "UpdateCheckoutOrderReference",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "string"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/api/v1/checkout/orders/{orderId}/hooks": {
      "post": {
        "tags": [
          "Checkout"
        ],
        "summary": "Create hook",
        "description": "Create hook",
        "operationId": "CreateCheckoutOrderHook",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Hook",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Hook"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/api/v1/checkout/orders/{orderId}/hooks/{hookId}": {
      "delete": {
        "tags": [
          "Checkout"
        ],
        "summary": "Delete hook",
        "description": "Delete hook",
        "operationId": "DeleteCheckoutOrderHook",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "hookId",
            "in": "path",
            "description": "Hook identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/api/v1/checkout/orders/{orderId}/notifications": {
      "post": {
        "tags": [
          "Checkout"
        ],
        "summary": "Create notification",
        "description": "Create notification",
        "operationId": "CreateCheckoutOrderNotification",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Notification",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Notification"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/api/v1/checkout/orders/{orderId}/notifications/{notificationId}": {
      "delete": {
        "tags": [
          "Checkout"
        ],
        "summary": "Delete notification",
        "description": "Delete notification",
        "operationId": "DeleteCheckoutOrderNotification",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "notificationId",
            "in": "path",
            "description": "Notification identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/api/v1/checkout/orders/{orderId}/payments": {
      "post": {
        "tags": [
          "Checkout Payment"
        ],
        "summary": "Create Order Payment",
        "description": "Creates a order payment",
        "operationId": "CreateOrderPayment",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Payment",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Payment"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "get": {
        "tags": [
          "Checkout Payment"
        ],
        "summary": "Get Order Payments",
        "description": "Get order payments",
        "operationId": "GetOrderPayments",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Payment"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/api/v1/checkout/orders/{orderId}/payments/{paymentId}": {
      "get": {
        "tags": [
          "Checkout Payment"
        ],
        "summary": "Get Order Payment",
        "description": "Get order payment",
        "operationId": "GetOrderPayment",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "paymentId",
            "in": "path",
            "description": "Payment identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Payment"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "put": {
        "tags": [
          "Checkout Payment"
        ],
        "summary": "Update Order Payment",
        "description": "Update order payment",
        "operationId": "UpdateOrderPayment",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "paymentId",
            "in": "path",
            "description": "Payment identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Payment"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Payment"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/api/v1/checkout/orders/{orderId}/payments/{paymentId}/transactions": {
      "get": {
        "tags": [
          "Checkout Payment"
        ],
        "summary": "Get transactions for an order payment",
        "description": "Get transactions for an order payment",
        "operationId": "GetTransactionsForOrderPayment",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "paymentId",
            "in": "path",
            "description": "Payment identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentTransaction"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "post": {
        "tags": [
          "Checkout Payment"
        ],
        "summary": "Add transaction for an order payment",
        "description": "Add transaction for an order payment",
        "operationId": "AddTransactionForOrderPayment",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "paymentId",
            "in": "path",
            "description": "Payment identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PaymentTransaction"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentTransaction"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/api/v1/checkout/orders/{orderId}/payments/{paymentId}/actions": {
      "post": {
        "tags": [
          "Checkout Payment"
        ],
        "summary": "Create a Payment PaymentAction",
        "description": "Add paymentAction for an order payment",
        "operationId": "AddPaymentAction",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "paymentId",
            "in": "path",
            "description": "Payment identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Payment Actions",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PaymentAction"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/api/v1/checkout/orders/{orderId}/payments/{paymentId}/actions/{actionId}/execute": {
      "post": {
        "tags": [
          "Checkout Payment"
        ],
        "summary": "Execute a Payment PaymentAction",
        "description": "Execute a paymentAction for an order payment",
        "operationId": "ExecutePaymentAction",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "paymentId",
            "in": "path",
            "description": "Payment identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "actionId",
            "in": "path",
            "description": "PaymentAction identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/api/v1/checkout/orders/{orderId}/shippings": {
      "post": {
        "tags": [
          "Checkout Shipping"
        ],
        "summary": "Create Order Shipping",
        "description": "Creates a order shipping",
        "operationId": "CreateOrderShipping",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Shipping",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Shipping"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "get": {
        "tags": [
          "Checkout Shipping"
        ],
        "summary": "Get Order Shippings",
        "description": "Get order shippings",
        "operationId": "GetOrderShippings",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Shipping"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    },
    "/api/v1/checkout/orders/{orderId}/shippings/{shippingId}": {
      "get": {
        "tags": [
          "Checkout Shipping"
        ],
        "summary": "Get Order Shipping",
        "description": "Get order shipping",
        "operationId": "GetOrderShipping",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "shippingId",
            "in": "path",
            "description": "Shipping identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Shipping"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      },
      "put": {
        "tags": [
          "Checkout Shipping"
        ],
        "summary": "Update Order Shipping",
        "description": "Update order shipping",
        "operationId": "UpdateOrderShipping",
        "parameters": [
          {
            "name": "x-merchant",
            "in": "header",
            "description": "Merchant identifier.",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "norce"
            },
            "example": "norce"
          },
          {
            "name": "x-channel",
            "in": "header",
            "description": "Channel identifier",
            "required": true,
            "schema": {
              "minLength": 1,
              "type": "string",
              "example": "1"
            },
            "example": "1"
          },
          {
            "name": "x-adapterid",
            "in": "header",
            "description": "Optional adapter identifier. When provided, hooks belonging to this adapter\nwill not be triggered for changes made by the adapter itself.",
            "schema": {
              "type": "string",
              "example": "qliro_checkout_adapter"
            },
            "example": "qliro_checkout_adapter"
          },
          {
            "name": "orderId",
            "in": "path",
            "description": "Order identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "shippingId",
            "in": "path",
            "description": "Shipping identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Shipping"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Shipping"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BaseError"
                }
              }
            }
          }
        },
        "security": [
          {
            "Bearer": []
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "Addon": {
        "type": "object",
        "properties": {
          "reference": {
            "type": "string",
            "description": "Shipping addon reference."
          },
          "price": {
            "type": "number",
            "description": "Cost of addon. Amount in major unit currency.",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "Address": {
        "type": "object",
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CustomerType"
              }
            ],
            "description": "The type of customer",
            "example": "Person"
          },
          "givenName": {
            "type": "string",
            "description": "Given name or first name.",
            "example": "Rosalinainho"
          },
          "familyName": {
            "type": "string",
            "description": "Family name or last name.",
            "example": "Undulatsson"
          },
          "careOf": {
            "type": "string",
            "description": "Care of.",
            "example": "Olleinho Jyckesson"
          },
          "reference": {
            "type": "string",
            "description": "Reference to the customer"
          },
          "organizationName": {
            "type": "string",
            "description": "Name of the Organization",
            "example": "Storm"
          },
          "streetAddress": {
            "type": "string",
            "description": "Address or street name, first line.",
            "example": "Adaptivevägen 18"
          },
          "streetAddress2": {
            "type": "string",
            "description": "Address or street name, second line.",
            "example": "Lgh 1203"
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code, zip or post code.",
            "example": "955 60"
          },
          "city": {
            "type": "string",
            "description": "City.",
            "example": "Boden"
          },
          "region": {
            "type": "string",
            "description": "State or region.",
            "example": "Norrbotten"
          },
          "country": {
            "pattern": "^[A-Z]{2,2}$",
            "type": "string",
            "description": "Country. ISO 3166 alpha-2.",
            "example": "SE"
          },
          "phone": {
            "type": "string",
            "description": "Phone number.",
            "example": "0753892233"
          },
          "email": {
            "type": "string",
            "description": "E-mail address.",
            "example": "rosalinainho.undulatsson@example.com"
          },
          "nationalIdentificationNumber": {
            "type": "string",
            "description": "Number used to identify individuals. E.g. could be used for Personal identity number (personnummer) in Sweden.",
            "example": "890201-3286"
          },
          "organizationIdentificationNumber": {
            "type": "string",
            "description": "Number used to identify organizations or legal persons. E.g. could be used for Corporate identity number.\n(organisationsnummer in Sweden)",
            "example": "212000-1355"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {},
            "description": "Allows you to store any custom attributes for the address."
          }
        },
        "additionalProperties": false
      },
      "BaseError": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Error code",
            "example": "order-not-found"
          },
          "message": {
            "type": "string",
            "description": "Detailed error information",
            "example": "Order with id:{id} not found."
          },
          "adapterId": {
            "type": "string",
            "description": "Identifier of the adapter that returned the error",
            "example": "paypal_adapter"
          },
          "adapterStatusCode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/HttpStatusCode"
              }
            ],
            "description": "HTTP status code returned by the adapter",
            "example": "NotFound"
          }
        },
        "additionalProperties": false
      },
      "Cart": {
        "type": "object",
        "properties": {
          "reference": {
            "type": "string",
            "description": "Cart Reference"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Item"
            },
            "description": "List of Items"
          },
          "discounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Discount"
            },
            "description": "List of Discounts"
          },
          "total": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Price"
              }
            ],
            "description": "Cart total excluding shipping fees"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {},
            "description": "Allows you to store any custom attributes for cart."
          }
        },
        "additionalProperties": false
      },
      "Consent": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique ID for the consent item.",
            "readOnly": true,
            "example": "ci_newsleter"
          },
          "checked": {
            "type": "boolean",
            "description": "Consent checked status."
          },
          "text": {
            "type": "string",
            "description": "Consent description."
          },
          "required": {
            "type": "boolean",
            "description": "Required for transitioning order state to 'Processing'"
          }
        },
        "additionalProperties": false
      },
      "CreateResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Customer": {
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "billing": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Address"
              }
            ],
            "description": "Billing address to the customer"
          },
          "shipping": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Address"
              }
            ],
            "description": "Shipping address to the customer"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CustomerType"
              }
            ],
            "description": "The type of customer",
            "example": "Person"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {},
            "description": "Allows you to store any custom attributes for the customer."
          },
          "loyalty": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Loyalty"
              }
            ],
            "description": "Loyalty program information for the customer."
          }
        },
        "additionalProperties": false
      },
      "CustomerType": {
        "enum": [
          "person",
          "organization"
        ],
        "type": "string"
      },
      "Delivery": {
        "type": "object",
        "properties": {
          "reference": {
            "type": "string",
            "description": "Reference identifier for the delivery (e.g., TOS ID from shipping provider).",
            "example": "01KC1B02ARWQVYPBZ9TDPKN4BH"
          },
          "deliveryDetails": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DeliveryDetails"
              }
            ],
            "description": "Delivery details for this specific delivery."
          },
          "addons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Addon"
            },
            "description": "Addons for this specific delivery."
          },
          "price": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Price"
              }
            ],
            "description": "Price for this specific delivery."
          },
          "vatRate": {
            "type": "number",
            "description": "Value-added tax rate for this delivery. 25% would be input as 0.25.",
            "format": "double",
            "example": 0.25
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeliveryItem"
            },
            "description": "Items included in this delivery."
          }
        },
        "additionalProperties": false,
        "description": "Represents a single delivery within a shipping. Used when items are split into multiple shipments."
      },
      "DeliveryDetails": {
        "type": "object",
        "properties": {
          "carrier": {
            "type": "string",
            "description": "Carrier name."
          },
          "carrierProductId": {
            "type": "string",
            "description": "Carrier product identifier."
          },
          "class": {
            "type": "string",
            "description": "Shipping class."
          },
          "product": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Product"
              }
            ],
            "description": "Shipping product."
          },
          "pickupLocation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PickupLocation"
              }
            ],
            "description": "Pickup location."
          }
        },
        "additionalProperties": false
      },
      "DeliveryItem": {
        "type": "object",
        "properties": {
          "sku": {
            "type": "string",
            "description": "SKU of the item.",
            "example": "100023"
          },
          "quantity": {
            "type": "integer",
            "description": "Quantity of the item in this delivery.",
            "format": "int32",
            "example": 1
          }
        },
        "additionalProperties": false,
        "description": "Represents an item within a delivery."
      },
      "Discount": {
        "type": "object",
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DiscountType"
              }
            ],
            "description": "Indicates if the discount applies to items or shipping."
          },
          "name": {
            "type": "string",
            "description": "Name of the discount."
          },
          "reference": {
            "type": "string",
            "description": "Discount reference."
          },
          "description": {
            "type": "string",
            "description": "Description of the discount."
          },
          "code": {
            "type": "string",
            "description": "Discount code."
          },
          "value": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Price"
              }
            ],
            "description": "Total sum of discount."
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {},
            "description": "Allows you to store any custom attributes for the discount."
          }
        },
        "additionalProperties": false
      },
      "DiscountType": {
        "enum": [
          "item",
          "shipping"
        ],
        "type": "string"
      },
      "Hook": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique ID for the callback.",
            "readOnly": true,
            "example": "oc_BaDIudFOjBEuFmLlmDExePUFTh"
          },
          "adapterId": {
            "type": "string",
            "description": "Validation Adapter ID.",
            "example": "jetshop_adapter"
          },
          "reference": {
            "type": "string",
            "description": "Reference for the hook. Should be the same across orders. Used to track hooks in event logs."
          },
          "description": {
            "type": "string",
            "description": "Description of the hook purpose."
          },
          "scope": {
            "type": "string",
            "description": "Valid json path inside the order. Does not support scope inside arrays."
          },
          "target": {
            "type": "string",
            "description": "The path to the property in the order that the hooks might respond with patches to.\nUsed to correctly determine the order to call each hook in."
          },
          "invoke": {
            "type": "string",
            "description": "Url to invoke on hook trigger. Can include references to adapter configuration and order inside curly\nbraces.",
            "example": "{config.adapter.publicUrl}/api/v1/orders/{order.id}/some-hook"
          },
          "version": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrderVersion"
              }
            ],
            "description": "The version of the order body you expect to receive in the hook."
          }
        },
        "additionalProperties": false
      },
      "HttpStatusCode": {
        "enum": [
          "continue",
          "switchingProtocols",
          "processing",
          "earlyHints",
          "ok",
          "created",
          "accepted",
          "nonAuthoritativeInformation",
          "noContent",
          "resetContent",
          "partialContent",
          "multiStatus",
          "alreadyReported",
          "imUsed",
          "multipleChoices",
          "movedPermanently",
          "found",
          "seeOther",
          "notModified",
          "useProxy",
          "unused",
          "temporaryRedirect",
          "permanentRedirect",
          "badRequest",
          "unauthorized",
          "paymentRequired",
          "forbidden",
          "notFound",
          "methodNotAllowed",
          "notAcceptable",
          "proxyAuthenticationRequired",
          "requestTimeout",
          "conflict",
          "gone",
          "lengthRequired",
          "preconditionFailed",
          "requestEntityTooLarge",
          "requestUriTooLong",
          "unsupportedMediaType",
          "requestedRangeNotSatisfiable",
          "expectationFailed",
          "misdirectedRequest",
          "unprocessableEntity",
          "locked",
          "failedDependency",
          "upgradeRequired",
          "preconditionRequired",
          "tooManyRequests",
          "requestHeaderFieldsTooLarge",
          "unavailableForLegalReasons",
          "internalServerError",
          "notImplemented",
          "badGateway",
          "serviceUnavailable",
          "gatewayTimeout",
          "httpVersionNotSupported",
          "variantAlsoNegotiates",
          "insufficientStorage",
          "loopDetected",
          "notExtended",
          "networkAuthenticationRequired"
        ],
        "type": "string"
      },
      "Item": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the order",
            "readOnly": true,
            "example": "ci_FpEzyBvBBUyKxkeNriFUxZOCje"
          },
          "reference": {
            "type": "string",
            "description": "Optional. Platform cart item reference."
          },
          "name": {
            "type": "string",
            "description": "Descriptive name of the item.",
            "example": "T-Shirt XL"
          },
          "sku": {
            "type": "string",
            "description": "SKU or article number.",
            "example": "A000123"
          },
          "productType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProductType"
              }
            ],
            "description": "Product type, physical is the default. Other options include Digital, GiftCard and Bundle."
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Item"
            },
            "description": "A List of items, useful for when this item is a bundle containing other items."
          },
          "url": {
            "type": "string",
            "description": "URL to the product page.",
            "example": "https://example.com/products/A000123"
          },
          "imageUrl": {
            "type": "string",
            "description": "URL to an image showing the item.",
            "example": "https://example.com/products/A000123/images/1"
          },
          "quantity": {
            "type": "integer",
            "description": "Quantity of the item.",
            "format": "int32",
            "example": 2
          },
          "unit": {
            "type": "string",
            "description": "Unit used to describe the quantity. Ex. st, kg",
            "example": "st"
          },
          "price": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Price"
              }
            ],
            "description": "Unit price, excluding discount"
          },
          "total": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Price"
              }
            ],
            "description": "Total sum for all quantities including discount."
          },
          "originalTotal": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Price"
              }
            ],
            "description": "Total sum for all quantities excluding discount."
          },
          "vatRate": {
            "type": "number",
            "description": "Value-added tax. 25% would be input as 0.25.",
            "format": "double",
            "example": 0.25
          },
          "discounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Discount"
            },
            "description": "Discounts applied to item."
          },
          "logistics": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Logistics"
              }
            ],
            "description": "Logistics-related information for shipping and handling of the item."
          },
          "upsell": {
            "type": "boolean",
            "description": "Indicates if item should be added after order has been accepted."
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {},
            "description": "Allows you to store any custom attributes for the item."
          }
        },
        "additionalProperties": false
      },
      "ItemDelivery": {
        "type": "object",
        "properties": {
          "group": {
            "type": "integer",
            "description": "The delivery group this item belongs to. Items with the same group value\nwill be grouped together in the same delivery. Defaults to group 0 if not specified.",
            "format": "int32",
            "example": 0
          }
        },
        "additionalProperties": false,
        "description": "Delivery grouping information for a cart item."
      },
      "Logistics": {
        "type": "object",
        "properties": {
          "weight": {
            "type": "integer",
            "description": "Weight of the item in grams.",
            "format": "int32",
            "example": 2500
          },
          "height": {
            "type": "integer",
            "description": "Height of the item in millimeters.",
            "format": "int32",
            "example": 100
          },
          "width": {
            "type": "integer",
            "description": "Width of the item in millimeters.",
            "format": "int32",
            "example": 50
          },
          "length": {
            "type": "integer",
            "description": "Length of the item in millimeters.",
            "format": "int32",
            "example": 200
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags that can be used to setup custom delivery rules in delivery modules."
          },
          "shippingDate": {
            "type": "string",
            "description": "Date the item is expected to be shipped.",
            "format": "date-time",
            "example": "2026-10-05T00:00:00Z"
          },
          "shippingDates": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ShippingDates"
              }
            ],
            "description": "Range of dates the item can be shipped, with optional ranges per tag for deliveries that can ship on other\ndates."
          },
          "delivery": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ItemDelivery"
              }
            ],
            "description": "Delivery grouping information for the item."
          }
        },
        "additionalProperties": false
      },
      "Loyalty": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the loyalty membership.",
            "example": "loyalty-123"
          },
          "provider": {
            "type": "string",
            "description": "Loyalty program provider.",
            "example": "remember-me"
          },
          "promotions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LoyaltyPromotion"
            },
            "description": "List of promotions associated with the loyalty membership."
          },
          "rewardVouchers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LoyaltyRewardVoucher"
            },
            "description": "List of reward vouchers associated with the loyalty membership."
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {},
            "description": "Allows you to store any custom attributes for the loyalty membership."
          }
        },
        "additionalProperties": false,
        "description": "Represents a customer's loyalty program membership."
      },
      "LoyaltyPromotion": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the promotion.",
            "example": "promo-456"
          },
          "externalCode": {
            "type": "string",
            "description": "External code for the promotion.",
            "example": "ext-promo-789"
          },
          "name": {
            "type": "string",
            "description": "Name of the promotion.",
            "example": "Summer Sale 2026"
          }
        },
        "additionalProperties": false,
        "description": "Represents a promotion within a loyalty program."
      },
      "LoyaltyRewardVoucher": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the reward voucher.",
            "example": "voucher-101"
          },
          "name": {
            "type": "string",
            "description": "Name of the reward voucher.",
            "example": "10% Off Next Purchase"
          },
          "voucherNumber": {
            "type": "string",
            "description": "Voucher number used for redemption.",
            "example": "VCH-2026-ABC123"
          },
          "externalCode": {
            "type": "string",
            "description": "External code for the reward voucher.",
            "example": "ext-voucher-202"
          }
        },
        "additionalProperties": false,
        "description": "Represents a reward voucher within a loyalty program."
      },
      "Notification": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique ID for the Notification",
            "readOnly": true,
            "example": "ocGooDddTOjKOuFmNnkEozEpfuTh"
          },
          "adapterId": {
            "type": "string",
            "description": "Identifier for the system responsible for this notification. If any reference to configuration is made inside curly\nbraces in Invoke the configuration is found using this identifier.",
            "example": "jetshop_adapter"
          },
          "reference": {
            "type": "string",
            "description": "Reference for the Notification. Should be the same across orders. Used to track notifications in event logs.",
            "example": "PuXCudQEiWTOHvquGGolFUVOuy"
          },
          "description": {
            "type": "string",
            "description": "Purpose or effect of the notification.",
            "example": "Export payment information to Jetshop when order has been completed."
          },
          "scope": {
            "type": "string",
            "description": "Valid json path inside the order. Does not support scope inside arrays.",
            "example": "/state/currentStatus"
          },
          "schema": {
            "type": "object",
            "additionalProperties": {},
            "description": "Json schema (https://json-schema.org/draft/2020-12/schema) on the scope. Notification triggers when a change occurs\non the scope and the schema is valid for the scope.",
            "example": {
              "const": "completed"
            }
          },
          "invoke": {
            "type": "string",
            "description": "Url to invoke on notification trigger. Can include references to adapter configuration and order inside curly\nbraces.",
            "example": "{config.adapter.publicUrl}/api/v1/callbacks/orders/{order.id}/specific-callback"
          },
          "version": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrderVersion"
              }
            ],
            "description": "The version of the order body you expect to receive in the notification."
          },
          "delay": {
            "type": "integer",
            "description": "The delay in ms before the notification is sent.",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Order": {
        "required": [
          "channel",
          "merchant"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the order",
            "readOnly": true,
            "example": "o_yClTSySjyAuuBjmiBlHCjuEcTf"
          },
          "merchant": {
            "minLength": 1,
            "type": "string",
            "description": "Merchant identifier",
            "readOnly": true
          },
          "channel": {
            "minLength": 1,
            "type": "string",
            "description": "Merchant channel",
            "readOnly": true
          },
          "reference": {
            "type": "string",
            "description": "External order reference"
          },
          "created": {
            "type": "string",
            "description": "Order creation date time",
            "format": "date-time",
            "readOnly": true
          },
          "lastModified": {
            "type": "string",
            "description": "Order last modified date time",
            "format": "date-time",
            "readOnly": true
          },
          "state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/State"
              }
            ],
            "description": "Order state"
          },
          "culture": {
            "pattern": "^[A-Za-z]{2,3}(?:-[A-Za-z]{2,2})*$",
            "type": "string",
            "description": "Order Culture, RFC-1766"
          },
          "currency": {
            "pattern": "^[A-Za-z]{3,3}$",
            "type": "string",
            "description": "Order Currency, ISO 4217 alpha-3."
          },
          "country": {
            "pattern": "^[A-Z]{2,2}$",
            "type": "string",
            "description": "Order Country. ISO 3166 alpha-2."
          },
          "cart": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Cart"
              }
            ],
            "description": "Order cart"
          },
          "shippings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Shipping"
            },
            "description": "Shippings related to the order",
            "readOnly": true
          },
          "payments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Payment"
            },
            "description": "Payments related to the order",
            "readOnly": true
          },
          "customer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Customer"
              }
            ],
            "description": "Customer information"
          },
          "consents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Consent"
            },
            "description": "Order consents"
          },
          "validations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Validation"
            },
            "description": "Order actions are called in order to complete an action, such as 'Validate'. If provided the action is not\ncompleted if the response is not successful (e.g. http status code 400), note however that in case of a time\nconstraint the action might be completed without a successful response."
          },
          "hooks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Hook"
            },
            "description": "Hooks, added by a separate endpoint."
          },
          "notifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Notification"
            },
            "description": "Order notifications are called after an event has occurred, such as order reaching 'Completed' state."
          },
          "total": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Price"
              }
            ],
            "description": "Order total including shipping fees"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {},
            "description": "Allows you to store any custom attributes for the order."
          }
        },
        "additionalProperties": false
      },
      "OrderListOrderBy": {
        "enum": [
          "created",
          "billingEmail",
          "billingName",
          "cartTotal"
        ],
        "type": "string"
      },
      "OrderListOrderByDirection": {
        "enum": [
          "asc",
          "desc"
        ],
        "type": "string"
      },
      "OrderPaginationSet": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Order"
            },
            "description": "Data set of requested orders",
            "readOnly": true
          },
          "pagination": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Pagination"
              }
            ],
            "description": "Pagination meta data",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "OrderStatus": {
        "enum": [
          "checkout",
          "processing",
          "accepted",
          "completed",
          "declined",
          "removed"
        ],
        "type": "string"
      },
      "OrderVersion": {
        "enum": [
          "v0",
          "v1"
        ],
        "type": "string"
      },
      "Pagination": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "description": "Query offset",
            "format": "int32",
            "readOnly": true
          },
          "limit": {
            "type": "integer",
            "description": "Query limit",
            "format": "int32",
            "readOnly": true
          },
          "size": {
            "type": "integer",
            "description": "Size of returned set",
            "format": "int32",
            "readOnly": true
          },
          "totalSize": {
            "type": "integer",
            "description": "Total size of available set",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "PartialLine": {
        "type": "object",
        "properties": {
          "quantity": {
            "type": "integer",
            "description": "The committed quantity of the item or shipping.",
            "format": "int32",
            "example": 1
          },
          "unitPrice": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Price"
              }
            ],
            "description": "Unit price snapshot."
          },
          "total": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Price"
              }
            ],
            "description": "Line total; always unitPrice x quantity, never total / quantity."
          },
          "vatRate": {
            "type": "number",
            "description": "VAT rate as a fraction (e.g. 0.25 for 25%).",
            "format": "double",
            "example": 0.25
          }
        },
        "additionalProperties": false,
        "description": "One committed line of a payment partial. Item and Shipping variants\ncarry disjoint reference fields, so an entry can never mix them up;\nserializes with a \"kind\" discriminator (\"item\" / \"shipping\") matching\nthe payment adapters. Line total is always unitPrice x quantity."
      },
      "PartialType": {
        "enum": [
          "capture",
          "refund",
          "cancel"
        ],
        "type": "string"
      },
      "Payment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique ID of the payment.",
            "readOnly": true,
            "example": "p_KBiXuYjvYxsezKCQAMuuSKGDaT"
          },
          "adapterId": {
            "type": "string",
            "description": "Adapter ID",
            "example": "klarna-checkout"
          },
          "name": {
            "type": "string",
            "description": "Payment service provider name"
          },
          "currency": {
            "pattern": "^[A-Za-z]{3,3}$",
            "type": "string",
            "description": "Currency of the purchase. ISO 4217 alpha-3.",
            "example": "SEK"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaymentType"
              }
            ],
            "description": "Type of payment.",
            "example": "default"
          },
          "orderId": {
            "type": "string",
            "description": "ID of the order.",
            "example": "o_DhZSbDfVzNzuxOzHyCFskzGzaJ"
          },
          "amount": {
            "type": "number",
            "description": "The amount to be covered by the payment. Amount in major unit currency.",
            "format": "double",
            "example": 10
          },
          "upperLimitAmount": {
            "type": "number",
            "description": "The upper limit to be used by this payment. For example the amount available on a voucher. Amount in major unit currency.",
            "format": "double",
            "example": 100
          },
          "state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaymentState"
              }
            ],
            "description": "The state of the payment.",
            "example": "Intent"
          },
          "reference": {
            "type": "string",
            "description": "External reference to payment service provider.",
            "example": "7d31e2cf-2d46-4db0-b87d-d65dfaae298f"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {},
            "description": "Allows you to store any custom attributes for the payment."
          },
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentAction"
            },
            "description": "After payment actions"
          },
          "recurring": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Recurring"
              }
            ],
            "description": "Information about a recurring payment used for processing repeated purchases."
          },
          "upsell": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Upsell"
              }
            ],
            "description": "Information about upsell transactions."
          },
          "voucher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher"
              }
            ],
            "description": "Additional information about voucher payments."
          },
          "partials": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentPartial"
            },
            "description": "Partial captures, refunds, and cancels committed against this payment.\nAppend-only: a payment update appends entries with a new id and never\nchanges or removes committed ones."
          }
        },
        "additionalProperties": false
      },
      "PaymentAction": {
        "required": [
          "adapterId",
          "type",
          "url"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "adapterId": {
            "minLength": 1,
            "type": "string"
          },
          "type": {
            "minLength": 1,
            "type": "string"
          },
          "url": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "PaymentEvent": {
        "enum": [
          "open",
          "process",
          "confirm",
          "reopen",
          "cancel",
          "paymentAction",
          "capture",
          "refund"
        ],
        "type": "string"
      },
      "PaymentPartial": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Deterministic id of the committed PSP action (e.g. Resurs ActionLog\nActionId). Duplicate ids are rejected on append.",
            "example": "act_7f21"
          },
          "reference": {
            "type": "string",
            "description": "PSP payment id.",
            "example": "resurs-payment-1"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PartialType"
              }
            ],
            "description": "The type of the committed partial.",
            "example": "capture"
          },
          "lines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartialLine"
            },
            "description": "The committed lines. Always expanded, never empty: \"all remaining\"\nis resolved before a partial is stored. Cancel entries carry lines\ntoo, so remaining quantities project from the log alone."
          },
          "total": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Price"
              }
            ],
            "description": "PSP-committed total, both VAT halves. Authoritative: the lines are a\nbreakdown of this amount, not the source of it."
          },
          "completed": {
            "type": "string",
            "description": "When the PSP committed the partial.",
            "format": "date-time",
            "example": "2026-03-04T10:00:00Z"
          }
        },
        "additionalProperties": false,
        "description": "A single capture, refund, or cancel already committed at the payment\nservice provider. Stateless and append-only: entries exist only once\ncommitted, so there is no per-partial state and failure detail lives in\nthe payment transaction audit log."
      },
      "PaymentState": {
        "enum": [
          "intent",
          "removed",
          "processing",
          "failed",
          "confirmed",
          "pending",
          "declined",
          "reserved",
          "credited",
          "captured",
          "cancelled",
          "refunded"
        ],
        "type": "string"
      },
      "PaymentTransaction": {
        "type": "object",
        "properties": {
          "event": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaymentEvent"
              }
            ],
            "description": "Event that triggered the transaction."
          },
          "pspEvent": {
            "type": "string",
            "description": "Payment service provider event."
          },
          "amount": {
            "type": "number",
            "description": "Amount after transaction. Amount in major unit currency.",
            "format": "double"
          },
          "isSuccess": {
            "type": "boolean",
            "description": "Indicated whether the transaction was successful."
          },
          "errorDetail": {
            "type": "string",
            "description": "Message detailing the error."
          },
          "pspStatus": {
            "type": "string",
            "description": "Payment service provider status."
          },
          "requestJson": {
            "type": "string",
            "description": "Transaction request. Must be a valid json."
          },
          "responseJson": {
            "type": "string",
            "description": "Transaction response. Must be a valid json."
          },
          "created": {
            "type": "string",
            "description": "DateTime when transaction was posted.",
            "format": "date-time",
            "readOnly": true
          },
          "paymentAction": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaymentAction"
              }
            ],
            "description": "Payment Action"
          }
        },
        "additionalProperties": false
      },
      "PaymentType": {
        "enum": [
          "default",
          "prepaid",
          "voucher"
        ],
        "type": "string"
      },
      "PickupLocation": {
        "type": "object",
        "properties": {
          "reference": {
            "type": "string",
            "description": "Pickup location reference."
          },
          "name": {
            "type": "string",
            "description": "Name of pickup location."
          },
          "address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PickupLocationAddress"
              }
            ],
            "description": "Pickup location address."
          }
        },
        "additionalProperties": false
      },
      "PickupLocationAddress": {
        "type": "object",
        "properties": {
          "streetAddress": {
            "type": "string",
            "description": "Address or street name, first line.",
            "example": "Adaptivevägen 18"
          },
          "city": {
            "type": "string",
            "description": "City.",
            "example": "Boden"
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code, zip or post code.",
            "example": "955 60"
          },
          "country": {
            "pattern": "^[A-Z]{2,2}$",
            "type": "string",
            "description": "Country. ISO 3166 alpha-2.",
            "example": "SE"
          }
        },
        "additionalProperties": false
      },
      "Price": {
        "type": "object",
        "properties": {
          "includingVat": {
            "type": "number",
            "description": "Total price including vat in the checkout specified currency. Amount in major unit currency.",
            "format": "double",
            "example": 1234
          },
          "excludingVat": {
            "type": "number",
            "description": "Total price excluding vat in the checkout specified currency. Amount in major unit currency.",
            "format": "double",
            "example": 987.2
          }
        },
        "additionalProperties": false
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "status": {
            "type": "integer",
            "format": "int32"
          },
          "detail": {
            "type": "string"
          },
          "instance": {
            "type": "string"
          }
        },
        "additionalProperties": {}
      },
      "Product": {
        "type": "object",
        "properties": {
          "reference": {
            "type": "string",
            "description": "Product reference."
          },
          "name": {
            "type": "string",
            "description": "Carrier product name."
          }
        },
        "additionalProperties": false
      },
      "ProductType": {
        "enum": [
          "physical",
          "digital",
          "giftCard",
          "bundle",
          "placeholder"
        ],
        "type": "string"
      },
      "Recurring": {
        "required": [
          "token"
        ],
        "type": "object",
        "properties": {
          "token": {
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "additionalProperties": false
      },
      "Shipping": {
        "required": [
          "total",
          "vatRate"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the shipping.",
            "readOnly": true,
            "example": "s_pmHreuEBboeezpixrHMDPQlazU"
          },
          "state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ShippingState"
              }
            ],
            "description": "Current state of the shipping."
          },
          "reference": {
            "type": "string",
            "description": "External reference to shipping.",
            "example": "e8ed2091-c34c-4837-a3a8-bc827b0dc183"
          },
          "tmsReference": {
            "type": "string",
            "description": "TMS Reference.",
            "example": "a935a628-f70c-47a4-a9f6-98c6d08c2ba3"
          },
          "orderId": {
            "type": "string",
            "description": "ID of the order.",
            "example": "o_DhZSbDfVzNzuxOzHyCFskzGzaJ"
          },
          "adapterId": {
            "type": "string",
            "description": "Adapter ID",
            "example": "ingrid-shipping-adapter"
          },
          "name": {
            "type": "string",
            "description": "Descriptive name of the shipping.",
            "example": "PostNord MyPack Home"
          },
          "total": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Price"
              }
            ],
            "description": "Total price of the shipping."
          },
          "vatRate": {
            "type": "number",
            "description": "Value-added tax. 25% would be input as 0.25.",
            "format": "double",
            "example": 0.25
          },
          "deliveryDetails": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DeliveryDetails"
              }
            ],
            "description": "Delivery details."
          },
          "addons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Addon"
            },
            "description": "Shipping addons."
          },
          "deliveries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Delivery"
            },
            "description": "Individual deliveries when items are split into multiple shipments.\nWhen populated, each delivery has its own reference, delivery details, and price.\nThe shipping Total should equal the sum of all delivery prices."
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {},
            "description": "Allows you to store any custom attributes for the shipping."
          }
        },
        "additionalProperties": false
      },
      "ShippingDateTag": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the tag.",
            "example": "instore_pickup"
          },
          "start": {
            "type": "string",
            "description": "Earliest date the item can be shipped.",
            "format": "date-time",
            "example": "2026-09-24T00:00:00Z"
          },
          "end": {
            "type": "string",
            "description": "Latest date the item can be shipped.",
            "format": "date-time",
            "example": "2026-09-24T00:00:00Z"
          }
        },
        "additionalProperties": false,
        "description": "Range of dates a cart item can be shipped for deliveries matching a tag."
      },
      "ShippingDates": {
        "type": "object",
        "properties": {
          "start": {
            "type": "string",
            "description": "Earliest date the item can be shipped.",
            "format": "date-time",
            "example": "2026-09-29T00:00:00Z"
          },
          "end": {
            "type": "string",
            "description": "Latest date the item can be shipped.",
            "format": "date-time",
            "example": "2026-10-05T00:00:00Z"
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShippingDateTag"
            },
            "description": "Tagged shipping date ranges, for deliveries that ship on other dates than the default range. For example,\nan item in stock at a store can be picked up there before it can be shipped from the warehouse."
          }
        },
        "additionalProperties": false,
        "description": "Range of dates a cart item can be shipped."
      },
      "ShippingState": {
        "enum": [
          "intent",
          "removed",
          "processing",
          "failed",
          "confirmed"
        ],
        "type": "string"
      },
      "State": {
        "type": "object",
        "properties": {
          "currentStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrderStatus"
              }
            ],
            "description": "State of the order."
          },
          "transitions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Transition"
            },
            "description": "State transitions.",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "StringPaginationSet": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Data set of requested orders",
            "readOnly": true
          },
          "pagination": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Pagination"
              }
            ],
            "description": "Pagination meta data",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Transition": {
        "type": "object",
        "properties": {
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrderStatus"
              }
            ],
            "description": "State of the order.",
            "readOnly": true
          },
          "timeStamp": {
            "type": "string",
            "description": "UTC Time when state was set.",
            "format": "date-time",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Upsell": {
        "type": "object",
        "properties": {
          "eligible": {
            "type": "boolean"
          },
          "expiration": {
            "type": "string",
            "description": "If provided this will indicate how long until upsell is no longer\npossible.",
            "format": "date-time"
          },
          "transactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpsellTransaction"
            }
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "additionalProperties": false
      },
      "UpsellState": {
        "enum": [
          "created",
          "actionRequired",
          "completed",
          "failed"
        ],
        "type": "string"
      },
      "UpsellTransaction": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Provider-specific id for referencing the upsell transaction\n(e.g. Qliro upsellId, Walley checkout reference)"
          },
          "state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UpsellState"
              }
            ],
            "description": "State derived from provider status mapping"
          },
          "itemIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The IDs of the cart items represented by this upsell transaction"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {},
            "description": "Metadata that may vary between PSPs (items, URLs, constraints, ...)"
          }
        },
        "additionalProperties": false
      },
      "Validation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique ID for the callback.",
            "readOnly": true,
            "example": "oc_BaDIudFOjBEuFmLlmDExePUFTh"
          },
          "adapterId": {
            "type": "string",
            "description": "Validation Adapter ID.",
            "example": "jetshop_adapter"
          },
          "reference": {
            "type": "string",
            "description": "Reference for the callback. Should be the same across orders. Used to track callbacks in event logs."
          },
          "description": {
            "type": "string",
            "description": "Description of the callback purpose.",
            "example": "Validates that all items are currently in stock."
          },
          "invoke": {
            "type": "string",
            "description": "Url to invoke on callback trigger. Can include references to adapter configuration and order inside curly\nbraces.",
            "example": "{config.adapter.publicUrl}/api/v1/orders/{order.id}/some-validation"
          }
        },
        "additionalProperties": false
      },
      "ValidationError": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "adapterId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Voucher": {
        "type": "object",
        "properties": {
          "cardId": {
            "type": "string",
            "description": "Card number of the voucher.",
            "example": "1234567890"
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "apiKey",
        "description": "Authorization header using the bearer scheme. Example: 'Bearer a3bcdABCaB12abc3AbCDAB5AbcABCaBcABC5ab3c5A0='",
        "name": "Authorization",
        "in": "header"
      }
    }
  }
}