{
  "openapi": "3.0.1",
  "info": {
    "title": "Pipe17 API",
    "description": "Generic interface to Pipe17 services",
    "termsOfService": "https://pipe17.com/terms-of-service",
    "contact": {
      "email": "support@pipe17.com"
    },
    "license": {
      "name": "Pipe17 License",
      "url": "https://apidoc.pipe17.com/pipe17-api-license.html"
    },
    "version": "3.0.540",
    "x-logo": {
      "href": "https://pipe17.com",
      "url": "https://assets.pipe17.com/logos/pipe17/Pipe17-Logo-final.svg",
      "backgroundColor": "#fafafa",
      "altText": "Pipe17 logo"
    }
  },
  "externalDocs": {
    "description": "About Pipe17",
    "url": "https://pipe17.com"
  },
  "servers": [
    {
      "url": "https://api-v3.pipe17.com/api/v3",
      "description": "production"
    }
  ],
  "tags": [
    {
      "name": "Accounts",
      "description": "Operations about Accounts\n## Account Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Account\" />\n"
    },
    {
      "name": "Api Keys",
      "description": "Operations about Api Keys\n## Api Key Model\n<SchemaDefinition schemaRef=\"#/components/schemas/ApiKey\" />\n"
    },
    {
      "name": "Appeasement Codes",
      "description": "Operations about Appeasement Codes\n## Appeasement Code Model\n<SchemaDefinition schemaRef=\"#/components/schemas/AppeasementCode\" />\n"
    },
    {
      "name": "Appeasements",
      "description": "Operations about Appeasements\n## Appeasement Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Appeasement\" />\n"
    },
    {
      "name": "Arrivals",
      "description": "Operations about Arrival Notifications\n## Arrival Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Arrival\" />\n"
    },
    {
      "name": "Automation Rules",
      "description": "Operations around Automation Rules. An automation rule contains filters and actions that determine when and how to execute automation actions. An automation rule always belongs to an automation.\n## Automation Rule Model\n<SchemaDefinition schemaRef=\"#/components/schemas/AutomationRule\" />\n"
    },
    {
      "name": "Automation Runs",
      "description": "Operations around Automation Runs. An automation run captures the history of an automation being executed on an entity.\n## Automation Run Model\n<SchemaDefinition schemaRef=\"#/components/schemas/AutomationRun\" />\n"
    },
    {
      "name": "Automations",
      "description": "Operations around Automations. An automation is the highest level entity of the Automation Engine.\n## Automation Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Automation\" />\n"
    },
    {
      "name": "Catalog Products",
      "description": "Operations about Catalog Products\n## Catalog Product Model\n<SchemaDefinition schemaRef=\"#/components/schemas/CatalogProduct\" />\n"
    },
    {
      "name": "Catalogs",
      "description": "Operations about Catalogs\n## Catalog Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Catalog\" />\n"
    },
    {
      "name": "Connectors",
      "description": "Operations about Connectors\n## Connector Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Connector\" />\n"
    },
    {
      "name": "Contacts",
      "description": "Operations about contacts\n## Contact Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Contact\" />\n"
    },
    {
      "name": "Custom Objects",
      "description": "Operations with Custom Objects\n## Custom Object Model\n<SchemaDefinition schemaRef=\"#/components/schemas/CustomObject\" />\n"
    },
    {
      "name": "Customers",
      "description": "Operations about customers\n## Customer Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Customer\" />\n"
    },
    {
      "name": "Cycle Count Entries",
      "description": "Operations about Cycle Count Entries\n## Cycle Count Entry Model\n<SchemaDefinition schemaRef=\"#/components/schemas/CycleCountEntry\" />\n"
    },
    {
      "name": "Cycle Counts",
      "description": "Operations about Cycle Counts\n- CycleCount Status Enum: [`open`, `counted`, `approved`, `posted`, `canceled`, `deleted`, `processing`, `completed`]\n- CycleCount Lifecycle: \n    - `[]` --open-► `open` --commit-► `counted` --approve-► `approved` --post-► `posted` --|-► `processing` --|-► `completed`\n    - `counted`|`approved` --reopen-► `open`\n    - `open`|`counted`|`approved` --cancel-► `canceled`\n    - `open`|`counted`|`approved`|`canceled`|`posted`|`deleted` --soft-delete-► `deleted`\n    - `open`|`counted`|`approved`|`canceled`|`posted`|`deleted` --hard-delete-► `[]`\n## Cycle Count Model\n<SchemaDefinition schemaRef=\"#/components/schemas/CycleCount\" />\n"
    },
    {
      "name": "Delivery Promises",
      "description": "Immutable delivery promises for orders.\n## Delivery Promise Model\n<SchemaDefinition schemaRef=\"#/components/schemas/DeliveryPromise\" />\n"
    },
    {
      "name": "Event Log",
      "description": "Operations on Event Log\n## Event Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Event\" />\n"
    },
    {
      "name": "Exceptions",
      "description": "Operations on Exceptions\n## Exception Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Exception\" />\n"
    },
    {
      "name": "Fulfillments",
      "description": "When shipments gets fulfilled, a Fulfillment object is created within Pipe17\n## Fulfillment Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Fulfillment\" />\n"
    },
    {
      "name": "Integrations",
      "description": "Operations about Integrations\n## Integration Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Integration\" />\n"
    },
    {
      "name": "Inventory",
      "description": "Operations about Inventory\n## Inventory Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Inventory\" />\n"
    },
    {
      "name": "Invoices",
      "description": "Operations with Invoices\n## Invoice Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Invoice\" />\n"
    },
    {
      "name": "Labels",
      "description": "Operations on Labels\n## Label Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Label\" />\n"
    },
    {
      "name": "Location Groups",
      "description": "Operations with Location Groups\n## Location Group Model\n<SchemaDefinition schemaRef=\"#/components/schemas/LocationGroup\" />\n"
    },
    {
      "name": "Locations",
      "description": "Operations about Locations\n## Location Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Location\" />\n"
    },
    {
      "name": "Mappings",
      "description": "Operations about Mappings\n## Mapping Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Mapping\" />\n"
    },
    {
      "name": "Notes",
      "description": "Operations about Notes\n## Note Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Note\" />\n"
    },
    {
      "name": "Order Statement Transactions",
      "description": "Operations about Order Statement Transactions\n## Order Statement Transaction Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Transaction\" />\n"
    },
    {
      "name": "Order Statements",
      "description": "Operations about Order Statements\n## Order Statement Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Statement\" />\n"
    },
    {
      "name": "Orders",
      "description": "Operations about Orders\n## Order Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Order\" />\n"
    },
    {
      "name": "Organizations",
      "description": "Operations about Organizations\n## Organization Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Organization\" />\n"
    },
    {
      "name": "Payments",
      "description": "Operations about Payment Transactions\n## Payment Model\n<SchemaDefinition schemaRef=\"#/components/schemas/PaymentTransaction\" />\n"
    },
    {
      "name": "Products",
      "description": "Operations about Products\n## Product Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Product\" />\n"
    },
    {
      "name": "Purchases",
      "description": "Operations about Purchase Orders\n## Purchase Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Purchase\" />\n"
    },
    {
      "name": "Receipts",
      "description": "Operations about Receipts\n## Receipt Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Receipt\" />\n"
    },
    {
      "name": "Returns",
      "description": "Operations about Returns\n## Return Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Return\" />\n"
    },
    {
      "name": "Roles",
      "description": "Operations about User Roles\n## User Role Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Role\" />\n"
    },
    {
      "name": "Schedules",
      "description": "Operations about Schedules\n## Schedule Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Schedule\" />\n"
    },
    {
      "name": "Shipment Boxes",
      "description": "Operations about Shipment Boxes\n## Shipment Box Model\n<SchemaDefinition schemaRef=\"#/components/schemas/ShipmentBox\" />\n"
    },
    {
      "name": "Shipping Methods",
      "description": "Operations about Shipping Methods\n## Shipping Method Model\n<SchemaDefinition schemaRef=\"#/components/schemas/ShippingMethod\" />\n"
    },
    {
      "name": "Shipping Requests",
      "description": "Operations with shipping requests. The obsolete `/shipments` path will be supported along with `/shipping_requests` until further notice.\n## Shipping Request Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Shipment\" />\n"
    },
    {
      "name": "Stores",
      "description": "Operations about Stores\n## Store Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Store\" />\n"
    },
    {
      "name": "Suppliers",
      "description": "Operations about Suppliers\n## Supplier Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Supplier\" />\n"
    },
    {
      "name": "Trackings",
      "description": "Operations about Fulfillment Tracking `(- unused, reserved for future use)`\n## Tracking Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Tracking\" />\n"
    },
    {
      "name": "Transfers",
      "description": "Operations about Transfer Orders\n## Transfer Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Transfer\" />\n"
    },
    {
      "name": "User Preferences",
      "description": "Operations about User Preferences\n## User Preference Model\n<SchemaDefinition schemaRef=\"#/components/schemas/UserPreferences\" />\n"
    },
    {
      "name": "Users",
      "description": "Operations about Users\n## User Model\n<SchemaDefinition schemaRef=\"#/components/schemas/User\" />\n"
    },
    {
      "name": "Waves",
      "description": "Operations about Waves - Wave fulfillment for grouping shipment requests\n## Wave Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Wave\" />\n"
    },
    {
      "name": "Webhooks",
      "description": "Operations about Webhooks\n## Webhook Model\n<SchemaDefinition schemaRef=\"#/components/schemas/Webhook\" />\n"
    }
  ],
  "x-tagGroups": [
    {
      "name": "General",
      "tags": [
        "Arrivals",
        "Customers",
        "Custom Objects",
        "Contacts",
        "Cycle Counts",
        "Cycle Count Entries",
        "Fulfillments",
        "Inventory",
        "Invoices",
        "Labels",
        "Locations",
        "Location Groups",
        "Orders",
        "Order Statements",
        "Order Statement Transactions",
        "Catalogs",
        "Catalog Products",
        "Payments",
        "Products",
        "Purchases",
        "Receipts",
        "Returns",
        "Shipping Requests",
        "Shipment Boxes",
        "Shipping Methods",
        "Suppliers",
        "Trackings",
        "Transfers",
        "User Preferences"
      ]
    },
    {
      "name": "Store Fulfillment",
      "tags": [
        "Stores",
        "Waves"
      ]
    },
    {
      "name": "Management",
      "tags": [
        "Api Keys",
        "Connectors",
        "Event Log",
        "Exceptions",
        "Integrations",
        "Mappings",
        "Webhooks",
        "Automations",
        "Automation Rules",
        "Automation Runs",
        "Notes"
      ]
    },
    {
      "name": "Administration",
      "tags": [
        "Accounts",
        "Organizations",
        "Roles",
        "Users"
      ]
    }
  ],
  "security": [
    {
      "Pipe17KeyAuth": []
    }
  ],
  "paths": {
    "/accounts": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "List Accounts",
        "operationId": "listAccounts",
        "parameters": [
          {
            "name": "billingStatus",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/AccountBillingStatus"
              }
            },
            "description": "Accounts by list of billingStatus",
            "style": "form",
            "explode": false
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many accounts"
          },
          {
            "name": "deletedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Accounts with deletedAt after this date-time"
          },
          {
            "name": "deletedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Accounts with deletedAt before this date-time"
          },
          {
            "name": "expirationSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Accounts with expiration after this date-time"
          },
          {
            "name": "expirationUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Accounts with expiration before this date-time"
          },
          {
            "name": "isMultiOrgAllowed",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Accounts by isMultiOrgAllowed"
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "activationKey,expirationDate,integrations,payment,roleIds,userId,orgKey,status,isMultiOrgAllowed,secondaryOrgLimit,prodOrgLimit,isRebrandingAllowed,createdAt,updatedAt"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "orgKey",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Accounts by list of orgKey",
            "style": "form",
            "explode": false
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "pausedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Accounts with pausedAt after this date-time"
          },
          {
            "name": "pausedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Accounts with pausedAt before this date-time"
          },
          {
            "name": "renewalSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Accounts with renewalDate after this date-time"
          },
          {
            "name": "renewalUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Accounts with renewalDate before this date-time"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Accounts created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many accounts"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/AccountStatusWithDeleted"
              }
            },
            "description": "Accounts by list of status",
            "style": "form",
            "explode": false
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Accounts created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Accounts updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Accounts updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountsListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AccountsListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AccountsListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountsListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AccountsListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AccountsListError"
                }
              }
            }
          }
        }
      }
    },
    "/accounts/{OrgKeyOrActivationKey}": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Fetch Account",
        "operationId": "fetchAccount",
        "parameters": [
          {
            "name": "OrgKeyOrActivationKey",
            "in": "path",
            "description": "Account OrgKey to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AccountFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AccountFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AccountFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AccountFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Accounts"
        ],
        "summary": "Update Account",
        "operationId": "updateAccount",
        "parameters": [
          {
            "name": "OrgKeyOrActivationKey",
            "in": "path",
            "description": "Account Activation key",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/AccountUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/AccountUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AccountUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AccountUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AccountUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AccountUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/apikey": {
      "post": {
        "tags": [
          "Api Keys"
        ],
        "summary": "Create API Key",
        "operationId": "createApiKey",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiKeyCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ApiKeyCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/ApiKeyCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Api Keys"
        ],
        "summary": "List API Keys",
        "operationId": "listApiKeys",
        "parameters": [
          {
            "name": "apikeyId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "API Keys by list of apikey ids",
            "style": "form",
            "explode": false
          },
          {
            "name": "connector",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "List API Keys matching to provided connector id(s)",
            "style": "form",
            "explode": false
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many API Keys"
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "List API Keys matching to provided integration id(s)",
            "style": "form",
            "explode": false
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "key_type,apikeyId,name,description,integration,connector,tier,environment,methods,allowedIPs,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "List API Keys matching to provided name(s)"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "List API Keys created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many API Keys"
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "regular",
                "temporary"
              ]
            },
            "description": "List API Keys of this type (default - all)"
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "List API Keys created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "List API Keys updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "List API Keys updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeysListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeysListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeysListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeysListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeysListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeysListError"
                }
              }
            }
          }
        }
      }
    },
    "/apikey/{ApiKey}": {
      "get": {
        "tags": [
          "Api Keys"
        ],
        "summary": "Fetch API Key",
        "operationId": "fetchApiKey",
        "parameters": [
          {
            "name": "ApiKey",
            "in": "path",
            "description": "The id or value of apikey, or \"self\" for reference to the X-Pipe17-Key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Api Keys"
        ],
        "summary": "Update API Key",
        "operationId": "updateApiKey",
        "parameters": [
          {
            "name": "ApiKey",
            "in": "path",
            "description": "The id or value of apikey, or \"self\" for reference to the X-Pipe17-Key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiKeyUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ApiKeyUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/ApiKeyUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/apikey/{ApiKey}/value": {
      "get": {
        "tags": [
          "Api Keys"
        ],
        "summary": "Fetch API Key Info, including the key value",
        "operationId": "fetchApiKeyValue",
        "parameters": [
          {
            "name": "ApiKey",
            "in": "path",
            "description": "The id or value of apikey, or \"self\" for reference to the X-Pipe17-Key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyValueFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyValueFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyValueFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyFetchError"
                }
              }
            }
          }
        }
      }
    },
    "/apikey/{ApiKey}/rotate": {
      "post": {
        "tags": [
          "Api Keys"
        ],
        "summary": "Rotate Api Key",
        "operationId": "rotateApiKey",
        "parameters": [
          {
            "name": "ApiKey",
            "in": "path",
            "description": "The id or value of apikey, or \"self\" for reference to the X-Pipe17-Key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "object"
              }
            },
            "text/xml": {
              "schema": {
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyRotateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyRotateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyRotateResponse"
                }
              },
              "text/csv": {}
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/csv": {}
            }
          }
        }
      }
    },
    "/appeasements": {
      "post": {
        "tags": [
          "Appeasements"
        ],
        "summary": "Create Appeasement",
        "operationId": "createAppeasement",
        "description": "Create an appeasement for an order. Requires JWT authentication (API keys other than master key are not permitted).\nA Redis lock is acquired on the order to prevent concurrent appeasement creation.\n",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppeasementCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppeasementCreateResponse"
                }
              }
            }
          },
          "207": {
            "description": "The appeasement was created, but one or more of its `cancelation` refunds\ncould not be fully applied to the order or to the shipping requests holding\nthe canceled units. The appeasement is the financial record and is never\nrolled back, so `appeasement` is present and valid; `errors` lists what did\nnot apply, and those units may still be shipped until it is reconciled.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppeasementCreatePartialResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppeasementCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Appeasements"
        ],
        "summary": "List Appeasements",
        "operationId": "listAppeasements",
        "parameters": [
          {
            "name": "appeasementId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of appeasementId",
            "style": "form",
            "explode": false
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many appeasements"
          },
          {
            "name": "createdBy",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of createdBy userId",
            "style": "form",
            "explode": false
          },
          {
            "name": "extOrderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of extOrderId",
            "style": "form",
            "explode": false
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "appeasementId,orderId,extOrderId,status,refunds,currency,note,createdBy,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "orderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of orderId",
            "style": "form",
            "explode": false
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Retrieve appeasements created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many appeasements"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/AppeasementStatus"
            },
            "description": "Retrieve by status"
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Retrieve appeasements created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Retrieve appeasements updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Retrieve appeasements updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppeasementsListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppeasementsListError"
                }
              }
            }
          }
        }
      }
    },
    "/appeasements/{AppeasementId}": {
      "get": {
        "tags": [
          "Appeasements"
        ],
        "summary": "Fetch Appeasement",
        "operationId": "fetchAppeasement",
        "parameters": [
          {
            "name": "AppeasementId",
            "in": "path",
            "description": "ID of appeasement to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppeasementFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppeasementFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Appeasements"
        ],
        "summary": "Update Appeasement",
        "description": "Only the `note` field can be updated. Refunds are immutable after creation.\n",
        "operationId": "updateAppeasement",
        "parameters": [
          {
            "name": "AppeasementId",
            "in": "path",
            "description": "ID of appeasement to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppeasementUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppeasementUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppeasementUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/appeasement_codes": {
      "post": {
        "tags": [
          "Appeasement Codes"
        ],
        "summary": "Create Appeasement Code",
        "operationId": "createAppeasementCode",
        "description": "Create a new appeasement code that defines a reason and refund configuration.\n",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppeasementCodeCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppeasementCodeCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppeasementCodeCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Appeasement Codes"
        ],
        "summary": "List Appeasement Codes",
        "operationId": "listAppeasementCodes",
        "parameters": [
          {
            "name": "appeasementCodeId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of appeasementCodeId",
            "style": "form",
            "explode": false
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many appeasement codes"
          },
          {
            "name": "createdBy",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of createdBy userId",
            "style": "form",
            "explode": false
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "appeasementCodeId,name,status,scope,amount,refundType,placement,version,authorizedRoles,description,createdBy,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of name",
            "style": "form",
            "explode": false
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "refundType",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/AppeasementCodeRefundType"
            },
            "description": "Retrieve by refundType"
          },
          {
            "name": "scope",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/AppeasementCodeScope"
            },
            "description": "Retrieve by scope"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Retrieve appeasement codes created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many appeasement codes"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/AppeasementCodeStatus"
            },
            "description": "Retrieve by status"
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Retrieve appeasement codes created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Retrieve appeasement codes updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Retrieve appeasement codes updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppeasementCodesListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppeasementCodesListError"
                }
              }
            }
          }
        }
      }
    },
    "/appeasement_codes/{AppeasementCodeId}": {
      "delete": {
        "tags": [
          "Appeasement Codes"
        ],
        "summary": "Delete Appeasement Code",
        "operationId": "deleteAppeasementCode",
        "parameters": [
          {
            "name": "AppeasementCodeId",
            "in": "path",
            "description": "ID of appeasement code to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Appeasement Codes"
        ],
        "summary": "Fetch Appeasement Code",
        "operationId": "fetchAppeasementCode",
        "parameters": [
          {
            "name": "AppeasementCodeId",
            "in": "path",
            "description": "ID of appeasement code to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "query",
            "description": "Fetch a specific historical version of the appeasement code",
            "required": false,
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppeasementCodeFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppeasementCodeFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Appeasement Codes"
        ],
        "summary": "Update Appeasement Code",
        "description": "Update an appeasement code. The `scope` field is immutable after creation.\nEach update increments the version and stores the previous state in the versions history.\n",
        "operationId": "updateAppeasementCode",
        "parameters": [
          {
            "name": "AppeasementCodeId",
            "in": "path",
            "description": "ID of appeasement code to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppeasementCodeUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppeasementCodeUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppeasementCodeUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/arrivals": {
      "post": {
        "tags": [
          "Arrivals"
        ],
        "summary": "Create Arrival Notifications",
        "description": "Uniqueness constraints:\n- arrival.transferId, arrival.fulfillmentId (when defined both)\n- arrival.purchaseId, arrival.fulfillmentId (when defined both)\n- arrival.fulfillmentId (when defined)\n\nUniqueness constraints within organization:\n- arrival.extArrivalId (when defined)\n- arrival.extArrivalApiId, arrival.integration (when extArrivalApiId defined)\n- arrival.extReferenceId, arrival.integration (when extReferenceId defined)\n",
        "operationId": "createArrivals",
        "parameters": [
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ArrivalsCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ArrivalsCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/ArrivalsCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalsCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalsCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalsCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalsCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalsCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalsCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Arrivals"
        ],
        "summary": "List Arrival Notifications",
        "operationId": "listArrivals",
        "parameters": [
          {
            "name": "arrivalId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Arrivals by list of arrivalId",
            "style": "form",
            "explode": false
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many arrivals"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Soft deleted arrivals"
          },
          {
            "name": "exceptionCategoryId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Arrivals by list of categories of the arrival related exceptions",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Arrivals by list of types of the arrival related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)",
            "style": "form",
            "explode": false
          },
          {
            "name": "extArrivalId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Arrivals by list extArrivalId",
            "style": "form",
            "explode": false
          },
          {
            "name": "extOrderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Arrivals by list external orders (PO or TO)",
            "style": "form",
            "explode": false
          },
          {
            "name": "extReferenceId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Arrivals by `extReferenceId` list",
            "style": "form",
            "explode": false
          },
          {
            "name": "fromLocationId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Arrivals by list fromLocationId",
            "style": "form",
            "explode": false
          },
          {
            "name": "fulfillmentId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Arrivals by list fulfillmentId",
            "style": "form",
            "explode": false
          },
          {
            "name": "hasSourceDoc",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Arrivals containing a source document"
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Arrivals of these integrations.",
            "style": "form",
            "explode": false
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "arrivalId,status,transferId,purchaseId,extOrderId,expectedArrivalDate,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "purchaseId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Arrivals by list purchase orders",
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Arrivals created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many arrivals"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ArrivalStatus"
              }
            },
            "description": "Arrivals in specific status",
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "toLocationId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Arrivals by list toLocationId",
            "style": "form",
            "explode": false
          },
          {
            "name": "transferId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Arrivals by list transfer orders",
            "style": "form",
            "explode": false
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Arrivals created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Arrivals updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Arrivals updated before this date-time"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalsListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalsListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalsListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalsListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalsListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalsListError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Arrivals"
        ],
        "summary": "Delete Multiple Arrivals",
        "operationId": "deleteArrivals",
        "parameters": [
          {
            "name": "action",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ListDeleteAction"
            },
            "description": "Return the list of what to delete, or delete softly"
          },
          {
            "name": "arrivalId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete arrivals by list of arrivalId",
            "style": "form",
            "explode": false
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Delete at most this many arrivals"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Delete soft deleted arrivals"
          },
          {
            "name": "extOrderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete arrivals by list external orders (PO or TO)",
            "style": "form",
            "explode": false
          },
          {
            "name": "extReferenceId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete arrivals by `extReferenceId` list",
            "style": "form",
            "explode": false
          },
          {
            "name": "fulfillmentId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete arrivals by list fulfillmentId",
            "style": "form",
            "explode": false
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete arrivals of these integrations.",
            "style": "form",
            "explode": false
          },
          {
            "name": "orgMode",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OrganizationMode"
              }
            },
            "description": "Delete arrivals assigned these orgModes.",
            "style": "form",
            "explode": false
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "purchaseId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete arrivals by list purchase orders",
            "style": "form",
            "explode": false
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete arrivals created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many arrivals"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ArrivalStatus"
              }
            },
            "description": "Delete arrivals in specific status",
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "transferId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete arrivals by list transfer orders",
            "style": "form",
            "explode": false
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete arrivals created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete arrivals updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete arrivals updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalsDeleteResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalsDeleteResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalsDeleteResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalsDeleteError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalsDeleteError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalsDeleteError"
                }
              }
            }
          }
        }
      }
    },
    "/arrivals/{ArrivalId}": {
      "delete": {
        "tags": [
          "Arrivals"
        ],
        "summary": "Delete Arrival",
        "operationId": "deleteArrival",
        "parameters": [
          {
            "name": "ArrivalId",
            "in": "path",
            "description": "Id, `ext:{extArrivalId}`, `api:{extArrivalApiId}`, or `ref:{extReferenceId}` of arrival to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nested",
            "in": "query",
            "description": "Delete nested entities",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Arrivals"
        ],
        "summary": "Fetch Arrival Notification",
        "operationId": "fetchArrival",
        "parameters": [
          {
            "name": "ArrivalId",
            "in": "path",
            "description": "Id, `ext:{extArrivalId}`, `api:{extArrivalApiId}`, or `ref:{extReferenceId}` of arrival to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "name": "sourceDocVersion",
            "in": "query",
            "description": "Fetch specific vendor source doc version if available",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          },
          {
            "name": "withSourceDoc",
            "in": "query",
            "description": "Include vendor source doc if available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withSourceDocVersions",
            "in": "query",
            "description": "Include available vendor source doc versions",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withTimeline",
            "in": "query",
            "description": "Include timeline of updates when available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Arrivals"
        ],
        "summary": "Update Arrival Notification",
        "description": "Uniqueness constraints:\n- arrival.transferId, arrival.fulfillmentId (when defined both)\n- arrival.purchaseId, arrival.fulfillmentId (when defined both)\n- arrival.fulfillmentId (when defined)\n\nUniqueness constraints within organization:\n- arrival.extArrivalId (when defined)\n- arrival.extArrivalApiId, arrival.integration (when extArrivalApiId defined)\n- arrival.extReferenceId, arrival.integration (when extReferenceId defined)\n",
        "operationId": "updateArrival",
        "parameters": [
          {
            "name": "ArrivalId",
            "in": "path",
            "description": "Id, `ext:{extArrivalId}`, `api:{extArrivalApiId}`, or `ref:{extReferenceId}` of arrival to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ArrivalUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ArrivalUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/ArrivalUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ArrivalUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/arrivals/{ArrivalId}/sync": {
      "post": {
        "tags": [
          "Arrivals"
        ],
        "summary": "Sync Arrivals",
        "description": "Trigger the arrivals sync",
        "operationId": "syncArrivals",
        "parameters": [
          {
            "name": "ArrivalId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "object"
              }
            },
            "text/xml": {
              "schema": {
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/csv": {}
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/csv": {}
            }
          }
        }
      }
    },
    "/automations": {
      "get": {
        "tags": [
          "Automations"
        ],
        "summary": "List Automations",
        "operationId": "listAutomations",
        "parameters": [
          {
            "name": "automationId",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/AutomationsListFilterAutomationId"
            },
            "description": "Filter by list of automationId"
          },
          {
            "$ref": "#/components/parameters/count"
          },
          {
            "$ref": "#/components/parameters/deleted"
          },
          {
            "name": "isEnabled",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "isPublic",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "If true, return public automations"
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "automationId,isEnabled,trigger,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "$ref": "#/components/parameters/order"
          },
          {
            "$ref": "#/components/parameters/orgKey"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "$ref": "#/components/parameters/since"
          },
          {
            "$ref": "#/components/parameters/skip"
          },
          {
            "name": "trigger",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/AutomationsListFilterTrigger"
            },
            "description": "Filter by matching trigger"
          },
          {
            "$ref": "#/components/parameters/until"
          },
          {
            "$ref": "#/components/parameters/updatedSince"
          },
          {
            "$ref": "#/components/parameters/updatedUntil"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationListError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Automations"
        ],
        "summary": "Create Automation",
        "description": "Uniqueness constraints:\n- automation.trigger\n",
        "operationId": "createAutomation",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AutomationCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/AutomationCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/AutomationCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationCreateError"
                }
              }
            }
          }
        }
      }
    },
    "/automations/{AutomationId}": {
      "put": {
        "tags": [
          "Automations"
        ],
        "summary": "Update Automation",
        "operationId": "updateAutomation",
        "parameters": [
          {
            "name": "AutomationId",
            "in": "path",
            "description": "Automation Id to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AutomationUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/AutomationUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/AutomationUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationUpdateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Automations"
        ],
        "summary": "Fetch Automation",
        "operationId": "fetchAutomation",
        "parameters": [
          {
            "name": "AutomationId",
            "in": "path",
            "description": "Id of the automation to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationFetchError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Automations"
        ],
        "summary": "Delete Automation",
        "operationId": "deleteAutomation",
        "parameters": [
          {
            "name": "AutomationId",
            "in": "path",
            "description": "Automation Id to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/automations/{AutomationId}/set-rule-order": {
      "post": {
        "tags": [
          "Automations"
        ],
        "summary": "Set Automation Rule Assessment Order",
        "operationId": "setAutomationRuleOrder",
        "parameters": [
          {
            "name": "AutomationId",
            "in": "path",
            "description": "Automation Id to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AutomationRuleOrderRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/AutomationRuleOrderRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/AutomationRuleOrderRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/automation_rules": {
      "get": {
        "tags": [
          "Automation Rules"
        ],
        "summary": "List Automation Rules",
        "operationId": "listAutomationRules",
        "parameters": [
          {
            "name": "automationId",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/AutomationRulesListFilterAutomationId"
            },
            "description": "Filter by list of automationIds"
          },
          {
            "name": "automationRuleId",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/AutomationRulesListFilterAutomationRuleId"
            },
            "description": "Filter by list of automationRuleIds"
          },
          {
            "$ref": "#/components/parameters/count"
          },
          {
            "$ref": "#/components/parameters/deleted"
          },
          {
            "name": "isDefault",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by isDefault"
          },
          {
            "name": "isEnabled",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by isEnabled"
          },
          {
            "name": "isPublic",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "If true, only public automation rules will be returned"
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "automationId,automationRuleId,isEnabled,createdAt,updatedAt,orgKey,assessmentOrder,name,description,isDefault"
            },
            "description": "Return these top-level fields"
          },
          {
            "$ref": "#/components/parameters/order"
          },
          {
            "$ref": "#/components/parameters/orgKey"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "$ref": "#/components/parameters/since"
          },
          {
            "$ref": "#/components/parameters/skip"
          },
          {
            "$ref": "#/components/parameters/until"
          },
          {
            "$ref": "#/components/parameters/updatedSince"
          },
          {
            "$ref": "#/components/parameters/updatedUntil"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRulesListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRulesListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRulesListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRulesListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRulesListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRulesListError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Automation Rules"
        ],
        "summary": "Create Automation Rule",
        "description": "Uniqueness constraints:\n- automationId + name\n",
        "operationId": "createAutomationRule",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AutomationRuleCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/AutomationRuleCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/AutomationRuleCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRuleCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRuleCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRuleCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRuleCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRuleCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRuleCreateError"
                }
              }
            }
          }
        }
      }
    },
    "/automation_rules/{AutomationRuleId}": {
      "get": {
        "tags": [
          "Automation Rules"
        ],
        "summary": "Fetch Automation Rule",
        "operationId": "fetchAutomationRule",
        "parameters": [
          {
            "name": "AutomationRuleId",
            "in": "path",
            "description": "Id of the automation rule to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRuleFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRuleFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRuleFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRuleFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRuleFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRuleFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Automation Rules"
        ],
        "summary": "Update Automation Rule",
        "operationId": "updateAutomationRule",
        "parameters": [
          {
            "name": "AutomationRuleId",
            "in": "path",
            "description": "Id of the automation rule to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AutomationRuleUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/AutomationRuleUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/AutomationRuleUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRuleUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRuleUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRuleUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRuleUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRuleUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRuleUpdateError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Automation Rules"
        ],
        "summary": "Delete Automation Rule",
        "operationId": "deleteAutomationRule",
        "parameters": [
          {
            "name": "AutomationRuleId",
            "in": "path",
            "description": "Id of the Automation Rule to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/automation_runs": {
      "post": {
        "tags": [
          "Automation Runs"
        ],
        "summary": "Create AutomationRun",
        "operationId": "createAutomationRun",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AutomationRunCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/AutomationRunCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/AutomationRunCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRunCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRunCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRunCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRunCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRunCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRunCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Automation Runs"
        ],
        "summary": "List Automation Runs",
        "operationId": "listAutomationRuns",
        "parameters": [
          {
            "name": "automationId",
            "in": "query",
            "description": "Filter by list of automationIds",
            "schema": {
              "$ref": "#/components/schemas/AutomationRunsListFilterAutomationId"
            }
          },
          {
            "name": "automationRuleId",
            "in": "query",
            "description": "Filter by list of automationRuleIds",
            "schema": {
              "$ref": "#/components/schemas/AutomationRunsListFilterAutomationRuleId"
            }
          },
          {
            "name": "automationRunId",
            "in": "query",
            "description": "Filter by list of automationRunIds",
            "schema": {
              "$ref": "#/components/schemas/AutomationRunsListFilterAutomationRunId"
            }
          },
          {
            "$ref": "#/components/parameters/count"
          },
          {
            "$ref": "#/components/parameters/deleted"
          },
          {
            "name": "entityId",
            "in": "query",
            "description": "Filter by list of entityIds",
            "schema": {
              "$ref": "#/components/schemas/AutomationRunsListFilterEntityId"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "orgKey,automationId,automationRunId,entityId,orgKey,createdAt,updatedAt,status,completedAt,failedAt,errorMessage,trigger"
            },
            "description": "Return these top-level fields"
          },
          {
            "$ref": "#/components/parameters/order"
          },
          {
            "$ref": "#/components/parameters/orgKey"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "$ref": "#/components/parameters/since"
          },
          {
            "$ref": "#/components/parameters/skip"
          },
          {
            "name": "status",
            "in": "query",
            "description": "Filter by automation run status",
            "schema": {
              "$ref": "#/components/schemas/AutomationRunsListFilterStatus"
            }
          },
          {
            "$ref": "#/components/parameters/until"
          },
          {
            "$ref": "#/components/parameters/updatedSince"
          },
          {
            "$ref": "#/components/parameters/updatedUntil"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRunsListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRunsListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRunsListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRunsListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRunsListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRunsListError"
                }
              }
            }
          }
        }
      }
    },
    "/automation_runs/{AutomationRunId}": {
      "get": {
        "tags": [
          "Automation Runs"
        ],
        "summary": "Fetch Automation Run",
        "operationId": "fetchAutomationRun",
        "parameters": [
          {
            "name": "AutomationRunId",
            "in": "path",
            "description": "Id of the automation run",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRunFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRunFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRunFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRunFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRunFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRunFetchError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Automation Runs"
        ],
        "summary": "Delete Automation Run",
        "operationId": "deleteAutomationRun",
        "parameters": [
          {
            "name": "AutomationRunId",
            "in": "path",
            "description": "Id of the Automation Run to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Automation Runs"
        ],
        "summary": "Update Automation Run",
        "operationId": "updateAutomationRun",
        "parameters": [
          {
            "name": "AutomationRunId",
            "in": "path",
            "description": "Id of the automation run to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AutomationRunUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/AutomationRunUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/AutomationRunUpdateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRunUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRunUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRunUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRunUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRunUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationRunUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/customers": {
      "post": {
        "tags": [
          "Customers"
        ],
        "summary": "Create Customer",
        "operationId": "createCustomer",
        "description": "Uniqueness constraints within organization:\n- customer.extCustomerId (when defined)\n",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/CustomerCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/CustomerCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "List Customers",
        "operationId": "listCustomers",
        "parameters": [
          {
            "name": "catalogIds",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of assigned catalog Ids",
            "style": "form",
            "explode": false
          },
          {
            "name": "company",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Retrieve customers by company name (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many customers"
          },
          {
            "name": "customerId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of customerId",
            "style": "form",
            "explode": false
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Retrieve soft deleted customers"
          },
          {
            "name": "displayName",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Retrieve customers by displayName (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
          },
          {
            "name": "email",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Retrieve customers by email (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
          },
          {
            "name": "emailAddr",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of billing/shippingAddress.email (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionCategoryId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve customers by list of categories of the customer related exceptions",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve customers by list of types of the customer related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)",
            "style": "form",
            "explode": false
          },
          {
            "name": "extCustomerId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of extCustomerId",
            "style": "form",
            "explode": false
          },
          {
            "name": "firstName",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Retrieve customers by firstName (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
          },
          {
            "name": "hasSourceDoc",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Retrieve customers containing a source document"
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "customerId,status,firstName,lastName,extCustomerId,displayName,shippingAddress,billingAddress,creditCard,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "lastName",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Retrieve customers by lastName (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
          },
          {
            "name": "linkedCustomerId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of linked customerId",
            "style": "form",
            "explode": false
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "phone",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Retrieve customers by phone (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Retrieve customers created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many customers"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/CustomerStatus"
            },
            "description": "Retrieve by status"
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/CustomerType"
            },
            "description": "Retrieve by status"
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Retrieve customers created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Retrieve customers updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Retrieve customers updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomersListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomersListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomersListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomersListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomersListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomersListError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Customers"
        ],
        "summary": "Delete Multiple Customers",
        "operationId": "deleteCustomers",
        "parameters": [
          {
            "name": "action",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ListDeleteAction"
            },
            "description": "Return the list of what to delete, or delete softly"
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Delete at most this many customers"
          },
          {
            "name": "customerId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete customers by list of customerId",
            "style": "form",
            "explode": false
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Delete soft deleted customers"
          },
          {
            "name": "extCustomerId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete customers by list of extCustomerId",
            "style": "form",
            "explode": false
          },
          {
            "name": "orgMode",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OrganizationMode"
              }
            },
            "description": "Delete customers assigned these orgModes.",
            "style": "form",
            "explode": false
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete customers created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many customers"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/CustomerStatus"
            },
            "description": "Delete by status"
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete customers created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete customers updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete customers updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomersDeleteResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomersDeleteResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomersDeleteResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomersDeleteError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomersDeleteError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomersDeleteError"
                }
              }
            }
          }
        }
      }
    },
    "/customers/{CustomerId}": {
      "delete": {
        "tags": [
          "Customers"
        ],
        "summary": "Delete Customer",
        "operationId": "deleteCustomer",
        "parameters": [
          {
            "name": "CustomerId",
            "in": "path",
            "description": "ID or `ext:{extCustomerId}` of customer to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Fetch Customer",
        "operationId": "fetchCustomer",
        "parameters": [
          {
            "name": "CustomerId",
            "in": "path",
            "description": "ID or `ext:{extCustomerId}` of customer to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sourceDocVersion",
            "in": "query",
            "description": "Fetch specific vendor source doc version if available",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "withSourceDoc",
            "in": "query",
            "description": "Include vendor source doc if available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withSourceDocVersions",
            "in": "query",
            "description": "Include available vendor source doc versions",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Customers"
        ],
        "summary": "Update Customer",
        "description": "Uniqueness constraints within organization:\n- customer.extCustomerId (when defined)\n",
        "operationId": "updateCustomer",
        "parameters": [
          {
            "name": "CustomerId",
            "in": "path",
            "description": "ID or `ext:{extCustomerId}` of customer to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/CustomerUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/CustomerUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/customers/{CustomerId}/sync": {
      "post": {
        "tags": [
          "Customers"
        ],
        "summary": "Sync Customers",
        "description": "Trigger the customers sync",
        "operationId": "syncCustomers",
        "parameters": [
          {
            "name": "CustomerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "object"
              }
            },
            "text/xml": {
              "schema": {
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/csv": {}
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/csv": {}
            }
          }
        }
      }
    },
    "/custom_objects": {
      "post": {
        "tags": [
          "Custom Objects"
        ],
        "summary": "Create Custom Objects",
        "operationId": "createCustomObjects",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomObjectsCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/CustomObjectsCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/CustomObjectsCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomObjectsCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomObjectsCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomObjectsCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomObjectsCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomObjectsCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomObjectsCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Custom Objects"
        ],
        "summary": "List Custom Objects",
        "operationId": "listCustomObjects",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many objects"
          },
          {
            "name": "customObjectId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select by 'customObjectId' list",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionCategoryId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select by list of categories of the object related exceptions",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select by list of types of the object related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)",
            "style": "form",
            "explode": false
          },
          {
            "name": "extEntityId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select by 'extEntityId' list",
            "style": "form",
            "explode": false
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select by 'integration' list",
            "style": "form",
            "explode": false
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "customObjectId,extEntityId,relatedEntityId,relatedEntityType,type,createdAt,updatedAt,orgKey,integration"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "relatedEntityId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select by 'relatedEntityId' list",
            "style": "form",
            "explode": false
          },
          {
            "name": "relatedEntityType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/EntityName"
              }
            },
            "description": "Select by 'relatedEntityType' list",
            "style": "form",
            "explode": false
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Select objects created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many objects"
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select by 'type' list",
            "style": "form",
            "explode": false
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Select objects created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Select objects updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Select objects updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomObjectListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomObjectListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomObjectListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomObjectListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomObjectListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomObjectListError"
                }
              }
            }
          }
        }
      }
    },
    "/custom_objects/{CustomObjectId}": {
      "delete": {
        "tags": [
          "Custom Objects"
        ],
        "summary": "Delete Custom Object",
        "operationId": "deleteCustomObject",
        "parameters": [
          {
            "name": "CustomObjectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Custom Objects"
        ],
        "summary": "Fetch Custom Object",
        "operationId": "fetchCustomObject",
        "parameters": [
          {
            "name": "CustomObjectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomObjectFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomObjectFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomObjectFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomObjectFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomObjectFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomObjectFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Custom Objects"
        ],
        "summary": "Update Custom Object",
        "operationId": "updateCustomObject",
        "parameters": [
          {
            "name": "CustomObjectId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Fields of the updated object that should be returned (- comma separated string, \"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomObjectUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/CustomObjectUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/CustomObjectUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomObjectUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomObjectUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomObjectUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomObjectUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomObjectUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CustomObjectUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/contacts": {
      "post": {
        "tags": [
          "Contacts"
        ],
        "summary": "Create Contact",
        "operationId": "createContact",
        "description": "Uniqueness constraints within organization:\n- contact.extContactId (when defined)\n",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ContactCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/ContactCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ContactCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ContactCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ContactCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ContactCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Contacts"
        ],
        "summary": "List Contacts",
        "operationId": "listContacts",
        "parameters": [
          {
            "name": "contactId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of contactId",
            "style": "form",
            "explode": false
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many contacts"
          },
          {
            "name": "emailAddr",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of shippingAddress.email",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionCategoryId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve contacts by list of categories of the contact related exceptions",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve contacts by list of types of the contact related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)",
            "style": "form",
            "explode": false
          },
          {
            "name": "extContactId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of extContactId",
            "style": "form",
            "explode": false
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "contactId,status,extContactId,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Retrieve contacts created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many contacts"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ContactStatus"
            },
            "description": "Retrieve by status"
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Retrieve contacts created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Retrieve contacts updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Retrieve contacts updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactsListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ContactsListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ContactsListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactsListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ContactsListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ContactsListError"
                }
              }
            }
          }
        }
      }
    },
    "/contacts/{ContactId}": {
      "delete": {
        "tags": [
          "Contacts"
        ],
        "summary": "Delete Contact",
        "operationId": "deleteContact",
        "parameters": [
          {
            "name": "ContactId",
            "in": "path",
            "description": "ID or `ext:{extContactId}` of contact to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Contacts"
        ],
        "summary": "Fetch Contact",
        "operationId": "fetchContact",
        "parameters": [
          {
            "name": "ContactId",
            "in": "path",
            "description": "ID or `ext:{extContactId}` of contact to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sourceDocVersion",
            "in": "query",
            "description": "Fetch specific vendor source doc version if available",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "withSourceDoc",
            "in": "query",
            "description": "Include vendor source doc if available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withSourceDocVersions",
            "in": "query",
            "description": "Include available vendor source doc versions",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ContactFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ContactFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ContactFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ContactFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Contacts"
        ],
        "summary": "Update Contact",
        "description": "Uniqueness constraints within organization:\n- contact.extContactId (when defined)\n",
        "operationId": "updateContact",
        "parameters": [
          {
            "name": "ContactId",
            "in": "path",
            "description": "ID or `ext:{extContactId}` of contact to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ContactUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/ContactUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ContactUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ContactUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ContactUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ContactUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/cycle_counts": {
      "post": {
        "tags": [
          "Cycle Counts"
        ],
        "summary": "Open count",
        "description": "Open cycle count for inventory in a specific location.\n- `!` The request does not include any information about SKUs.\n- Creates new record in the cycle_counts collection\n- Locks the possibility to create another cycle-count instance for the same location\n- Enables submission of counted values with the cycle_count_entries API\n",
        "operationId": "openCycleCount",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CycleCountOpenRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/CycleCountOpenRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/CycleCountOpenRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountOpenResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountOpenResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountOpenResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountOpenError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountOpenError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountOpenError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Cycle Counts"
        ],
        "summary": "List counts",
        "operationId": "listCycleCounts",
        "parameters": [
          {
            "$ref": "#/components/parameters/count"
          },
          {
            "name": "cycleCountId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select by cycleCountId list",
            "style": "form",
            "explode": false
          },
          {
            "name": "extCycleCountId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select by extCycleCountId list",
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/keys"
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select by locationId list",
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/order"
          },
          {
            "$ref": "#/components/parameters/pagination"
          },
          {
            "$ref": "#/components/parameters/since"
          },
          {
            "$ref": "#/components/parameters/skip"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/CycleCountStatus"
              }
            },
            "description": "Select by status value list",
            "style": "form",
            "explode": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select by storeId list",
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/until"
          },
          {
            "$ref": "#/components/parameters/updatedSince"
          },
          {
            "$ref": "#/components/parameters/updatedUntil"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountsListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountsListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountsListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountsListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountsListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountsListError"
                }
              }
            }
          }
        }
      }
    },
    "/cycle_counts/{CycleCountId}/commit": {
      "post": {
        "tags": [
          "Cycle Counts"
        ],
        "summary": "Commit count",
        "description": "Confirms that the submission of the calculated quantities has been completed.\n",
        "operationId": "commitCycleCount",
        "parameters": [
          {
            "name": "CycleCountId",
            "in": "path",
            "description": "Cycle count ID or `ext:{extCycleCountId}`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Returned fields of the cycle count object (comma seperated, \"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CycleCountCommitRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/CycleCountCommitRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/CycleCountCommitRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountCommitResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountCommitResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountCommitResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountCommitError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountCommitError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountCommitError"
                }
              }
            }
          }
        }
      }
    },
    "/cycle_counts/{CycleCountId}/approve": {
      "post": {
        "tags": [
          "Cycle Counts"
        ],
        "summary": "Approve count",
        "description": "Confirms that the variances recorded in the cycle-count's entries are right and must be corrected in ledger.\n",
        "operationId": "approveCycleCount",
        "parameters": [
          {
            "name": "CycleCountId",
            "in": "path",
            "description": "Cycle count ID or `ext:{extCycleCountId}`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Returned fields of the cycle count object (comma seperated, \"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CycleCountApproveRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/CycleCountApproveRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/CycleCountApproveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountApproveResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountApproveResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountApproveResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountApproveError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountApproveError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountApproveError"
                }
              }
            }
          }
        }
      }
    },
    "/cycle_counts/{CycleCountId}/post": {
      "post": {
        "tags": [
          "Cycle Counts"
        ],
        "summary": "Post count",
        "description": "Signals the background workers to run adjusting the ledger.\n- The \"List\"/\"Fetch\" endpoints of the cycle_count_entries API may be used for monitoring the ledger adjustment progress.\n",
        "operationId": "postCycleCount",
        "parameters": [
          {
            "name": "CycleCountId",
            "in": "path",
            "description": "Cycle count ID or `ext:{extCycleCountId}`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Returned fields of the cycle count object (comma seperated, \"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CycleCountPostRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/CycleCountPostRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/CycleCountPostRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountPostResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountPostResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountPostResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountPostError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountPostError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountPostError"
                }
              }
            }
          }
        }
      }
    },
    "/cycle_counts/{CycleCountId}/reopen": {
      "post": {
        "tags": [
          "Cycle Counts"
        ],
        "summary": "Reopen count",
        "description": "Sends the `approved` count back to `open` state for re-submission. So that the \"counter\" can correct disputed entries of the adjustment job.\n",
        "operationId": "reopenCycleCount",
        "parameters": [
          {
            "name": "CycleCountId",
            "in": "path",
            "description": "Cycle count ID or `ext:{extCycleCountId}`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Returned fields of the cycle count object (comma seperated, \"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CycleCountReopenRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/CycleCountReopenRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/CycleCountReopenRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountReopenResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountReopenResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountReopenResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountReopenError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountReopenError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountReopenError"
                }
              }
            }
          }
        }
      }
    },
    "/cycle_counts/{CycleCountId}/cancel": {
      "post": {
        "tags": [
          "Cycle Counts"
        ],
        "summary": "Cancel count",
        "description": "Abandons a cycle count that's no longer relevant.\n- Does not affect cycle-count entries in the cycle_count_entries collection\n- Allows to open new cycle-count for the same inventory location\n",
        "operationId": "cancelCycleCount",
        "parameters": [
          {
            "name": "CycleCountId",
            "in": "path",
            "description": "Cycle count ID or `ext:{extCycleCountId}`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Returned fields of the cycle count object (comma seperated, \"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CycleCountCancelRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/CycleCountCancelRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/CycleCountCancelRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountCancelResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountCancelResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountCancelResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountCancelError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountCancelError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountCancelError"
                }
              }
            }
          }
        }
      }
    },
    "/cycle_counts/{CycleCountId}": {
      "delete": {
        "tags": [
          "Cycle Counts"
        ],
        "summary": "Delete count",
        "description": "soft-delete:\n- Does not affect cycle-count entries in the cycle_count_entries collection\n- Background workers should stop the ledger adjustment job if it was running.\nhard-delete:\n- Deletes cycle-count entries in the cycle_count_entries collection\n- Deletes cycle-count instance in the cycle_counts collection\n- Background workers should stop the ledger adjustment job if it was running.\n",
        "operationId": "deleteCycleCount",
        "parameters": [
          {
            "name": "CycleCountId",
            "in": "path",
            "description": "Cycle count ID or `ext:{extCycleCountId}`",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Cycle Counts"
        ],
        "summary": "Fetch count",
        "operationId": "fetchCycleCount",
        "parameters": [
          {
            "name": "CycleCountId",
            "in": "path",
            "description": "Cycle count ID or `ext:{extCycleCountId}`",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Cycle Counts"
        ],
        "summary": "Update count",
        "operationId": "updateCycleCount",
        "parameters": [
          {
            "name": "CycleCountId",
            "in": "path",
            "description": "Cycle count ID or `ext:{extCycleCountId}`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Returned fields of the cycle count object (comma seperated, \"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CycleCountUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/CycleCountUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/CycleCountUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/cycle_count_entries": {
      "post": {
        "tags": [
          "Cycle Count Entries"
        ],
        "summary": "Create count entries",
        "description": "Submit the physical quantities the \"counter\" found for specified cycle counts and SKUs.\n- Creates/replaces entry in the cycle_count_entries collection for each provided pair <cycleCountId,sku>\n- Duplicates of the <cycleCountId,sku> pair in the same request are rejected.\n- If the specified physical quantity is <= 0, the entry is rejected, and the remaining ones are processed.\n- Each entry will include: what counter found, what found in ledger, and variance at a time point\n- The time point can be specified in the request. The cycle count opening time is used by default.\n- The number of the \"submit\" requests for each cycle count is not limited. Cumulative effect is a set of entries in the cycle_count_entries collection, that represents a \"ledger adjustment job\" of the cycle count for background workers.\n",
        "operationId": "createCycleCountEntries",
        "parameters": [
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CycleCountEntriesCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/CycleCountEntriesCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/CycleCountEntriesCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountEntriesCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountEntriesCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountEntriesCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountEntriesCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountEntriesCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountEntriesCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Cycle Count Entries"
        ],
        "summary": "List count entries",
        "operationId": "listCycleCountEntries",
        "parameters": [
          {
            "$ref": "#/components/parameters/count"
          },
          {
            "name": "cycleCountEntryId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select by cycleCountEntryId list",
            "style": "form",
            "explode": false
          },
          {
            "name": "cycleCountId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select by cycleCountId list",
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/keys"
          },
          {
            "$ref": "#/components/parameters/order"
          },
          {
            "$ref": "#/components/parameters/pagination"
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "$ref": "#/components/parameters/since"
          },
          {
            "$ref": "#/components/parameters/skip"
          },
          {
            "name": "sku",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select by sku list",
            "style": "form",
            "explode": false
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/CycleCountEntryStatus"
              }
            },
            "description": "Select by status value list",
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/until"
          },
          {
            "$ref": "#/components/parameters/updatedSince"
          },
          {
            "$ref": "#/components/parameters/updatedUntil"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountEntriesListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountEntriesListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountEntriesListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountEntriesListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountEntriesListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountEntriesListError"
                }
              }
            }
          }
        }
      }
    },
    "/cycle_count_entries/{CycleCountEntryId}": {
      "delete": {
        "tags": [
          "Cycle Count Entries"
        ],
        "summary": "Delete count entry",
        "operationId": "deleteCycleCountEntry",
        "parameters": [
          {
            "name": "CycleCountEntryId",
            "in": "path",
            "description": "Cycle-count entry ID to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Cycle Count Entries"
        ],
        "summary": "Fetch count entry",
        "operationId": "fetchCycleCountEntry",
        "parameters": [
          {
            "name": "CycleCountEntryId",
            "in": "path",
            "description": "Cycle-count entry ID to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountEntryFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountEntryFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountEntryFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountEntryFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountEntryFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CycleCountEntryFetchError"
                }
              }
            }
          }
        }
      }
    },
    "/events": {
      "post": {
        "tags": [
          "Event Log"
        ],
        "summary": "Create event",
        "operationId": "createEvent",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventCreateData"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/EventCreateData"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/EventCreateData"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EventCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EventCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EventCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EventCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Event Log"
        ],
        "summary": "List Events",
        "operationId": "listEvents",
        "parameters": [
          {
            "name": "apikeyId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fetch by list of api keys",
            "style": "form",
            "explode": false
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Max number of events to return"
          },
          {
            "name": "direction",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Direction"
              }
            },
            "description": "Fetch by list of direction",
            "style": "form",
            "explode": false
          },
          {
            "name": "entityId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fetch by list of entityId",
            "style": "form",
            "explode": false
          },
          {
            "name": "entityType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fetch by list of entity types",
            "style": "form",
            "explode": false
          },
          {
            "name": "eventId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fetch by list of eventId",
            "style": "form",
            "explode": false
          },
          {
            "name": "extEntityId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fetch by list of extEntityId",
            "style": "form",
            "explode": false
          },
          {
            "name": "identity",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fetch by identity ids (- either integration, apikeyId, or userId)",
            "style": "form",
            "explode": false
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fetch by list of integrations",
            "style": "form",
            "explode": false
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "eventId,source,status,operation,direction,entityType,entityId,integration,extEntityId,requestId,userId,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields ('request' and 'response' fields are not returned, ignored in the 'keys')"
          },
          {
            "name": "keywords",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fetch by keywords",
            "style": "form",
            "explode": false
          },
          {
            "name": "operation",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/EventOperation"
              }
            },
            "description": "Fetch by list of operation types",
            "style": "form",
            "explode": false
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch events triggered after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Number of events to skip"
          },
          {
            "name": "source",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/EventRequestSource"
              }
            },
            "description": "Fetch by list of event sources",
            "style": "form",
            "explode": false
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/EventRequestStatus"
              }
            },
            "description": "Fetch by list of event statuses",
            "style": "form",
            "explode": false
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch events triggered before this date-time"
          },
          {
            "name": "userId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fetch by list of userId",
            "style": "form",
            "explode": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventsListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EventsListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EventsListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventsListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EventsListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EventsListError"
                }
              }
            }
          }
        }
      }
    },
    "/events/{EventId}": {
      "get": {
        "tags": [
          "Event Log"
        ],
        "summary": "Fetch Event",
        "operationId": "fetchEvent",
        "parameters": [
          {
            "name": "EventId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EventFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EventFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EventFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EventFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Event Log"
        ],
        "summary": "Update event entry",
        "operationId": "updateEvent",
        "parameters": [
          {
            "name": "EventId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/EventUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/EventUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EventUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EventUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EventUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EventUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/events/{EventId}/replay": {
      "post": {
        "tags": [
          "Event Log"
        ],
        "summary": "Replay event entry",
        "operationId": "replayEvent",
        "parameters": [
          {
            "name": "EventId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventReplayResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EventReplayResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EventReplayResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventReplayError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EventReplayError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/EventReplayError"
                }
              }
            }
          }
        }
      }
    },
    "/exceptions": {
      "post": {
        "tags": [
          "Exceptions"
        ],
        "summary": "Create Exception",
        "description": "Uniqueness constraints within organization:\n- exception.integration, exception.entityType, exception.exceptionType, exception.status, exception.entityId (when status==active)\n\nWhen `entityId` holds several IDs the constraint applies to each of them\nindividually: an entity can have at most one active exception of a given type.\n\nCreating an exception therefore settles the active exceptions of the same\nintegration, entityType and exceptionType that share any entity with it:\n- one whose entities are all covered by the new exception is dismissed;\n- one that is only partly covered keeps its ID and its creation date, and is\n  narrowed to the entities the new exception does not name. Its `relatedEntityId`,\n  `extEntityId` and `extRelatedEntityId` are re-derived to match.\n\nAn entity named by the new exception is therefore always covered by it, and one\nit does not name keeps whatever exception it already had.\n",
        "operationId": "createException",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExceptionCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ExceptionCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/ExceptionCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExceptionCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ExceptionCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ExceptionCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExceptionCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ExceptionCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ExceptionCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Exceptions"
        ],
        "summary": "List Exceptions",
        "operationId": "listExceptions",
        "parameters": [
          {
            "name": "autoEngUpdateStatus",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/AutoEngUpdateStatus"
              }
            },
            "description": "Return exceptions with the specified autoEngUpdateStatus values",
            "style": "form",
            "explode": false
          },
          {
            "name": "autoEngUpdateStatusUpdatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch with autoEngUpdateStatus updated after this date-time"
          },
          {
            "name": "autoEngUpdateStatusUpdatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch with autoEngUpdateStatus updated before this date-time"
          },
          {
            "name": "categoryId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Exceptions by categoryId-list",
            "style": "form",
            "explode": false
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Max number of exceptions to return"
          },
          {
            "name": "entityId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Exceptions related to this list of entities",
            "style": "form",
            "explode": false
          },
          {
            "name": "entityType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ExceptionEntityName"
              }
            },
            "description": "Exceptions related to list of entity types",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionDetails",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Exceptions with the status `active`, which contain specified terms in the `exceptionDetails` field (wildcards `*` and `?` are supported in any term, but not as the first character). This parameter switches the query to a full-text search, which does not support regular expressions: combining it with a `/pattern/` value in any other filter is rejected with a 400. To match one ID out of a list, filter on that ID directly.",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Exceptions by exceptionId-list",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionPriority",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ExceptionPriority"
              }
            },
            "description": "Exceptions by exceptionPriority-list",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionSeverity",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ExceptionSeverity"
              }
            },
            "description": "Exceptions by exceptionSeverity-list",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ExceptionType"
              }
            },
            "description": "Exceptions by exceptionType-list",
            "style": "form",
            "explode": false
          },
          {
            "name": "extEntityId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Exceptions related to this list of entities. `,` and `\\` are reserved inside a value and escaped as `\\,` and `\\\\` -- written with a single backslash in the URL, since no JSON escaping applies here.",
            "style": "form",
            "explode": false
          },
          {
            "name": "extRelatedEntityId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Exceptions related to this list of related entities. `,` and `\\` are reserved inside a value and escaped as `\\,` and `\\\\` -- written with a single backslash in the URL, since no JSON escaping applies here.",
            "style": "form",
            "explode": false
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Exceptions created by listed integrations",
            "style": "form",
            "explode": false
          },
          {
            "name": "integrationOwned",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Exceptions created by current integration only"
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "exceptionId,categoryId,exceptionType,exceptionDetails,entityId,entityType,relatedEntityId,relatedEntityType,extEntityId,extRelatedEntityId,status,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "relatedEntityId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Exceptions related to this list of related entities",
            "style": "form",
            "explode": false
          },
          {
            "name": "relatedEntityType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ExceptionEntityName"
              }
            },
            "description": "Exceptions related to list of related entity types",
            "style": "form",
            "explode": false
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Exceptions created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Number of exceptions to skip"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ExceptionStatus"
              }
            },
            "description": "Exceptions by status-list",
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Exceptions created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Exceptions updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Exceptions updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExceptionsListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ExceptionsListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ExceptionsListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExceptionsListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ExceptionsListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ExceptionsListError"
                }
              }
            }
          }
        }
      }
    },
    "/exceptions/{ExceptionId}": {
      "delete": {
        "tags": [
          "Exceptions"
        ],
        "summary": "Delete Exception",
        "operationId": "deleteException",
        "parameters": [
          {
            "name": "ExceptionId",
            "in": "path",
            "description": "Exception ID to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Exceptions"
        ],
        "summary": "Fetch Exception",
        "operationId": "fetchException",
        "parameters": [
          {
            "name": "ExceptionId",
            "in": "path",
            "description": "Exception ID to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "withTimeline",
            "in": "query",
            "description": "Include timeline of updates when available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExceptionFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ExceptionFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ExceptionFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExceptionFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ExceptionFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ExceptionFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Exceptions"
        ],
        "summary": "Update Exception",
        "description": "Uniqueness constraints within organization:\n- exception.integration, exception.entityType, exception.exceptionType, exception.status, exception.entityId (when status==active)\n",
        "operationId": "updateException",
        "parameters": [
          {
            "name": "ExceptionId",
            "in": "path",
            "description": "Exception ID to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExceptionUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ExceptionUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/ExceptionUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExceptionUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ExceptionUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ExceptionUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExceptionUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ExceptionUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ExceptionUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/exceptions/{ExceptionId}/sync": {
      "post": {
        "tags": [
          "Exceptions"
        ],
        "summary": "Sync Exceptionss",
        "description": "Trigger the exceptions sync",
        "operationId": "syncExceptions",
        "parameters": [
          {
            "name": "ExceptionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExceptionSyncRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ExceptionSyncRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/ExceptionSyncRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/csv": {}
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/csv": {}
            }
          }
        }
      }
    },
    "/integrations": {
      "post": {
        "tags": [
          "Integrations"
        ],
        "summary": "Create Integration",
        "description": "Uniqueness constraints within organization:\n- integration.integrationName\n",
        "operationId": "createIntegration",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IntegrationCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/IntegrationCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/IntegrationCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Integrations"
        ],
        "summary": "List Integrations",
        "operationId": "listIntegrations",
        "parameters": [
          {
            "name": "capability",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/IntegrationCapability"
              }
            },
            "description": "Retrieve connectors by list of capabilities",
            "style": "form",
            "explode": false
          },
          {
            "name": "connectorId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve integrations by connector Id(s)",
            "style": "form",
            "explode": false
          },
          {
            "name": "connectorName",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve integrations by list of connector names",
            "style": "form",
            "explode": false
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many integrations"
          },
          {
            "name": "extIntegrationId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of extIntegrationId",
            "style": "form",
            "explode": false
          },
          {
            "name": "integrationId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of integrationId",
            "style": "form",
            "explode": false
          },
          {
            "name": "integrationName",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of integrationName values or regexps (regexp format - `\"/.../\"` or `\"/.../i\"`)",
            "style": "form",
            "explode": false
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "version,integrationId,integrationName,status,connectorName,connectorId,entities,settings,connection,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Integrations created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many integrations"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/IntegrationStatus"
              }
            },
            "description": "Retrieve integrations by status",
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Integrations created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Integrations updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Integrations updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationsListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationsListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationsListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationsListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationsListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationsListError"
                }
              }
            }
          }
        }
      }
    },
    "/integrations/{IntegrationId}": {
      "delete": {
        "tags": [
          "Integrations"
        ],
        "summary": "Delete Integration",
        "operationId": "deleteIntegration",
        "parameters": [
          {
            "name": "IntegrationId",
            "in": "path",
            "description": "Integration Id to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Integrations"
        ],
        "summary": "Fetch Integration",
        "operationId": "fetchIntegration",
        "parameters": [
          {
            "name": "IntegrationId",
            "in": "path",
            "description": "Integration Id to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "description": "Return these top-level fields",
            "required": false,
            "schema": {
              "type": "string",
              "default": "*"
            }
          },
          {
            "name": "withTimeline",
            "in": "query",
            "description": "Include timeline of updates when available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Integrations"
        ],
        "summary": "Update Integration",
        "description": "Uniqueness constraints within organization:\n- integration.integrationName\n",
        "operationId": "updateIntegration",
        "parameters": [
          {
            "name": "IntegrationId",
            "in": "path",
            "description": "Integration Id to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IntegrationUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/IntegrationUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/IntegrationUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/integrations/{IntegrationId}/upgrade": {
      "post": {
        "tags": [
          "Integrations"
        ],
        "summary": "Upgrade Integration",
        "operationId": "upgradeIntegration",
        "parameters": [
          {
            "name": "IntegrationId",
            "in": "path",
            "description": "Integration Id to upgrade",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IntegrationUpgradeRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/IntegrationUpgradeRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/IntegrationUpgradeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/integrations/{IntegrationId}/variables": {
      "put": {
        "tags": [
          "Integrations"
        ],
        "summary": "Update Integration Variable(s)",
        "operationId": "updateVariables",
        "parameters": [
          {
            "name": "IntegrationId",
            "in": "path",
            "description": "Integration Id to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IntegrationUpdateVariablesRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/IntegrationUpdateVariablesRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/IntegrationUpdateVariablesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Integrations"
        ],
        "summary": "Fetch Integration Variable(s)",
        "operationId": "retrieveVariables",
        "parameters": [
          {
            "name": "IntegrationId",
            "in": "path",
            "description": "Integration Id to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve variables by list of their names",
            "style": "form",
            "explode": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationVariablesResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationVariablesResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationVariablesResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationVariablesError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationVariablesError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationVariablesError"
                }
              }
            }
          }
        }
      }
    },
    "/invoices": {
      "post": {
        "tags": [
          "Invoices"
        ],
        "summary": "Create Invoices",
        "description": "Uniqueness constraints within organization:\n- invoice.extInvoiceId, invoice.integration\n- invoice.extInvoiceApiId, invoice.integration\n- invoice.extReferenceId, invoice.integration\n",
        "operationId": "createInvoices",
        "parameters": [
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvoicesCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/InvoicesCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/InvoicesCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoicesCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InvoicesCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InvoicesCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoicesCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InvoicesCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InvoicesCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Invoices"
        ],
        "summary": "List Invoices",
        "operationId": "listInvoices",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many invoices"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Select soft deleted invoices"
          },
          {
            "name": "emailAddr",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select invoices by 'billingAddress.email' list",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionCategoryId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select invoices by list of categories of the invoice related exceptions",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select invoices by list of types of the invoice related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)",
            "style": "form",
            "explode": false
          },
          {
            "name": "extInvoiceApiId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "extInvoiceId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select invoices by `extInvoiceApiId` list",
            "style": "form",
            "explode": false
          },
          {
            "name": "extOrderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select invoices by `extOrderId` list",
            "style": "form",
            "explode": false
          },
          {
            "name": "extReferenceId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select invoices by `extReferenceId` list",
            "style": "form",
            "explode": false
          },
          {
            "name": "hasSourceDoc",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Select invoices containing a source document"
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select invoices of these integrations",
            "style": "form",
            "explode": false
          },
          {
            "name": "invoiceId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select invoices by `invoiceId` list",
            "style": "form",
            "explode": false
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "invoiceId,extInvoiceId,extInvoiceApiId,extReferenceId,integration,status,tags,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "-extInvoiceCreatedAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "orderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select invoices by `orderId` list",
            "style": "form",
            "explode": false
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Select invoices created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many invoices"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select invoices by `status` list",
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Select invoices created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Select invoices updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Select invoices updated before this date-time"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoicesListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InvoicesListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InvoicesListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoicesListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InvoicesListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InvoicesListError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Invoices"
        ],
        "summary": "Delete Multiple Invoices",
        "operationId": "deleteInvoices",
        "parameters": [
          {
            "name": "action",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ListDeleteAction"
            },
            "description": "Return the list of what to delete, or delete softly"
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Delete at most this many invoices"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Select soft deleted invoices"
          },
          {
            "name": "extInvoiceId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select invoices by `extInvoiceId` list",
            "style": "form",
            "explode": false
          },
          {
            "name": "extOrderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select invoices by `extOrderId` list",
            "style": "form",
            "explode": false
          },
          {
            "name": "extReferenceId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select invoices by `extReferenceId` list",
            "style": "form",
            "explode": false
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select invoices of these integrations",
            "style": "form",
            "explode": false
          },
          {
            "name": "invoiceId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select invoices by `invoiceId` list",
            "style": "form",
            "explode": false
          },
          {
            "name": "orderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select invoices by `orderId` list",
            "style": "form",
            "explode": false
          },
          {
            "name": "orgMode",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OrganizationMode"
              }
            },
            "description": "Select invoices assigned these orgModes.",
            "style": "form",
            "explode": false
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Select invoices created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many invoices"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select invoices by `status` list",
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Select invoices created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Select invoices updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Select invoices updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoicesDeleteResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InvoicesDeleteResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InvoicesDeleteResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoicesDeleteError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InvoicesDeleteError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InvoicesDeleteError"
                }
              }
            }
          }
        }
      }
    },
    "/invoices/{InvoiceId}": {
      "delete": {
        "tags": [
          "Invoices"
        ],
        "summary": "Delete Invoice",
        "operationId": "deleteInvoice",
        "parameters": [
          {
            "name": "InvoiceId",
            "in": "path",
            "description": "Invoice identifier - `invoiceId`, `ext:{extInvoiceId}`, `api:{extInvoiceApiId}`, or `ref:{extReferenceId}`",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Invoices"
        ],
        "summary": "Fetch Invoice",
        "operationId": "fetchInvoice",
        "parameters": [
          {
            "name": "InvoiceId",
            "in": "path",
            "description": "Invoice identifier - `invoiceId`, `ext:{extInvoiceId}`, `api:{extInvoiceApiId}`, or `ref:{extReferenceId}`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "name": "sourceDocVersion",
            "in": "query",
            "description": "Fetch specific vendor source doc version if available",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          },
          {
            "name": "withSourceDoc",
            "in": "query",
            "description": "Include vendor source doc if available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withSourceDocVersions",
            "in": "query",
            "description": "Include available vendor source doc versions",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withTimeline",
            "in": "query",
            "description": "Include timeline of updates when available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Invoices"
        ],
        "summary": "Update Invoice",
        "description": "Uniqueness constraints within organization:\n- invoice.extInvoiceId, invoice.integration\n- invoice.extInvoiceApiId, invoice.integration\n- invoice.extReferenceId, invoice.integration\n",
        "operationId": "updateInvoice",
        "parameters": [
          {
            "name": "InvoiceId",
            "in": "path",
            "description": "Invoice identifier - `invoiceId`, `ext:{extInvoiceId}`, `api:{extInvoiceApiId}`, or `ref:{extReferenceId}`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/invoices/{InvoiceId}/sync": {
      "post": {
        "tags": [
          "Invoices"
        ],
        "summary": "Sync Invoices",
        "description": "Trigger the invoice sync",
        "operationId": "syncInvoices",
        "parameters": [
          {
            "name": "InvoiceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Comma-separated `invoiceId` list"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "object"
              }
            },
            "text/xml": {
              "schema": {
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/csv": {}
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/csv": {}
            }
          }
        }
      }
    },
    "/labels": {
      "post": {
        "tags": [
          "Labels"
        ],
        "summary": "Create Label",
        "operationId": "createLabel",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LabelCreateData"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/LabelCreateData"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/LabelCreateData"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LabelCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LabelCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LabelCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LabelCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Labels"
        ],
        "summary": "List Labels",
        "operationId": "listLabels",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Max number of items to return"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Fetch soft deleted items"
          },
          {
            "name": "exceptionCategoryId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fetch items by list of categories of the item related exceptions",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fetch items by list of types of the item related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)",
            "style": "form",
            "explode": false
          },
          {
            "name": "extLabelId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fetch items by list of extLabelId (client-supplied external IDs)",
            "style": "form",
            "explode": false
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "labelId,extLabelId,fileName,integration,contentType,createdAt,updatedAt,orgKey,status"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "labelId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fetch items by list of labelId",
            "style": "form",
            "explode": false
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch items created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Number of items to skip"
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch items created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch items updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch items updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelsListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LabelsListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LabelsListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelsListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LabelsListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LabelsListError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Labels"
        ],
        "summary": "Delete Labels",
        "operationId": "deleteLabels",
        "parameters": [
          {
            "name": "action",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ListDeleteAction"
            },
            "description": "Return the list of what to delete, or delete softly"
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Max number of items to delete"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Delete soft deleted items"
          },
          {
            "name": "labelId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete items by list of labelId",
            "style": "form",
            "explode": false
          },
          {
            "name": "orgMode",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OrganizationMode"
              }
            },
            "description": "Delete labels assigned these orgModes.",
            "style": "form",
            "explode": false
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete items created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Number of items to skip"
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete items created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete items updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete items updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelsDeleteResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LabelsDeleteResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LabelsDeleteResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelsDeleteError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LabelsDeleteError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LabelsDeleteError"
                }
              }
            }
          }
        }
      }
    },
    "/labels/{LabelId}": {
      "delete": {
        "tags": [
          "Labels"
        ],
        "summary": "Delete Label",
        "operationId": "deleteLabel",
        "parameters": [
          {
            "name": "LabelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Labels"
        ],
        "summary": "Fetch Label",
        "operationId": "fetchLabel",
        "parameters": [
          {
            "name": "LabelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LabelFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LabelFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LabelFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LabelFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Labels"
        ],
        "summary": "Update Label",
        "description": "Update mutable fields on an existing label. Used by shipping connectors to attach vendor-derived metadata (trackingNumber, shippingMethod, fileName, contentType, tags, customFields) after a stub label has been created. Immutable fields (labelId, orgKey, integration, createdAt, documentType, apiVersion) are ignored if present in the body. Partial update semantics — fields omitted from the body are left unchanged on the existing document.\n",
        "operationId": "updateLabel",
        "parameters": [
          {
            "name": "LabelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LabelUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/LabelUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/LabelUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LabelUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LabelUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LabelUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LabelUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LabelUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/labels/{LabelId}/upload": {
      "post": {
        "tags": [
          "Labels"
        ],
        "summary": "Upload Label Content",
        "operationId": "uploadLabelContent",
        "parameters": [
          {
            "name": "LabelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "type": "string",
                "format": "binary"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/labels/{LabelId}/download": {
      "get": {
        "tags": [
          "Labels"
        ],
        "summary": "Download Label Content",
        "operationId": "downloadLabelContent",
        "parameters": [
          {
            "name": "LabelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "application/pdf": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/*": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/labels/{LabelId}/sync": {
      "post": {
        "tags": [
          "Labels"
        ],
        "summary": "Sync Labels",
        "description": "Trigger the labels sync",
        "operationId": "syncLabels",
        "parameters": [
          {
            "name": "LabelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "object"
              }
            },
            "text/xml": {
              "schema": {
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/csv": {}
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/csv": {}
            }
          }
        }
      }
    },
    "/location_groups": {
      "post": {
        "tags": [
          "Location Groups"
        ],
        "summary": "Create Location Groups",
        "description": "Uniqueness constraints within organization:\n- location_group.groupName\n",
        "operationId": "createLocationGroups",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LocationGroupsCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/LocationGroupsCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/LocationGroupsCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocationGroupsCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationGroupsCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationGroupsCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocationGroupsCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationGroupsCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationGroupsCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Location Groups"
        ],
        "summary": "List Location Groups",
        "operationId": "listLocationGroups",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many groups"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Select soft deleted groups"
          },
          {
            "name": "groupId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select by 'groupId' list",
            "style": "form",
            "explode": false
          },
          {
            "name": "groupName",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select by 'groupName' list (regexp format - `\"/.../\"` or `\"/.../i\"`)",
            "style": "form",
            "explode": false
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "groupId,groupName,locationIds,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select by 'locationId' list",
            "style": "form",
            "explode": false
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Select groups created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many groups"
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            },
            "description": "Select by 'tags' list"
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Select groups created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Select groups updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Select groups updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocationGroupListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationGroupListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationGroupListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocationGroupListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationGroupListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationGroupListError"
                }
              }
            }
          }
        }
      }
    },
    "/location_groups/{GroupId}": {
      "delete": {
        "tags": [
          "Location Groups"
        ],
        "summary": "Delete Location Group",
        "operationId": "deleteLocationGroup",
        "parameters": [
          {
            "name": "GroupId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Location Groups"
        ],
        "summary": "Fetch Location Group",
        "operationId": "fetchLocationGroup",
        "parameters": [
          {
            "name": "GroupId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocationGroupFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationGroupFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationGroupFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocationGroupFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationGroupFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationGroupFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Location Groups"
        ],
        "summary": "Update Location Group",
        "description": "Uniqueness constraints within organization:\n- location_group.groupName\n",
        "operationId": "updateLocationGroup",
        "parameters": [
          {
            "name": "GroupId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Fields that should be returned (- comma separated string, \"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LocationGroupUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/LocationGroupUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/LocationGroupUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocationGroupUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationGroupUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationGroupUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocationGroupUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationGroupUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationGroupUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/location_groups/list/locations": {
      "get": {
        "tags": [
          "Location Groups"
        ],
        "summary": "Eval Location Groups",
        "operationId": "evalLocationGroups",
        "description": "Evaluates an ordered list of location groups and return back the effective list of locations respecting the ordering in each group.",
        "parameters": [
          {
            "name": "groups",
            "in": "query",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "groupId list"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many list items"
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "inventoryNotTracked,locationId,status,name,address,excludeFromTotals,createdAt,updatedAt,orgKey"
            },
            "description": "Fields of locations that should be returned (- comma separated string, \"*\" - all)"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many list items"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocationListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocationListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationListError"
                }
              }
            }
          }
        }
      }
    },
    "/locations": {
      "post": {
        "tags": [
          "Locations"
        ],
        "summary": "Create Location",
        "description": "Uniqueness constraints within organization:\n- location.name, location.integration\n",
        "operationId": "createLocation",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LocationCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/LocationCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/LocationCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocationCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocationCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Locations"
        ],
        "summary": "List Locations",
        "operationId": "listLocations",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many locations"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Retrieve soft deleted locations"
          },
          {
            "name": "email",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Retrieve locations by email (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
          },
          {
            "name": "exceptionCategoryId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Locations by list of categories of the location related exceptions",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Locations by list of types of the location related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)",
            "style": "form",
            "explode": false
          },
          {
            "name": "excludeFromTotals",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Locations excluded from calculating inventory totals"
          },
          {
            "name": "extIntegrationId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve locations by list of external integration ids",
            "style": "form",
            "explode": false
          },
          {
            "name": "extLocationId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve locations by list of external location ids",
            "style": "form",
            "explode": false
          },
          {
            "name": "hasSourceDoc",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Locations containing a source document"
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "description": "Retrieve locations by list of integrations that created these locations"
              }
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "inventoryNotTracked",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Retrieve locations by inventoryNotTracked value (default - any)"
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "inventoryNotTracked,locationId,status,name,address,excludeFromTotals,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of locationId",
            "style": "form",
            "explode": false
          },
          {
            "name": "mergedWithLocationId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve locations by list of mergedWithLocationId",
            "style": "form",
            "explode": false
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Retrieve locations by name (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "phone",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Retrieve locations by phone (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Locations created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many locations"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/LocationStatus"
              }
            },
            "description": "Retrieve by list of location statuses",
            "style": "form",
            "explode": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Retrieve locations belonging to a specific store"
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Locations created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Locations updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Locations updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocationsListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationsListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationsListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocationsListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationsListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationsListError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Locations"
        ],
        "summary": "Delete Multiple Locations",
        "operationId": "deleteLocations",
        "parameters": [
          {
            "name": "action",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ListDeleteAction"
            },
            "description": "Return the list of what to delete, or delete softly"
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Delete at most this many locations"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Delete soft deleted locations"
          },
          {
            "name": "excludeFromTotals",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Delete locations excluded from calculating inventory totals"
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete locations of these integrations",
            "style": "form",
            "explode": false
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete locations by list of locationId",
            "style": "form",
            "explode": false
          },
          {
            "name": "orgMode",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OrganizationMode"
              }
            },
            "description": "Delete locations assigned these orgModes.",
            "style": "form",
            "explode": false
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete locations created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many locations"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/LocationStatus"
              }
            },
            "description": "Delete by list of location statuses",
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete locations created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete locations updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete locations updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocationsDeleteResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationsDeleteResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationsDeleteResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocationsDeleteError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationsDeleteError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationsDeleteError"
                }
              }
            }
          }
        }
      }
    },
    "/locations/{LocationId}": {
      "delete": {
        "tags": [
          "Locations"
        ],
        "summary": "Delete Location",
        "operationId": "deleteLocation",
        "parameters": [
          {
            "name": "LocationId",
            "in": "path",
            "description": "Location ID to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Locations"
        ],
        "summary": "Fetch Location",
        "operationId": "fetchLocation",
        "parameters": [
          {
            "name": "LocationId",
            "in": "path",
            "description": "Location ID to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sourceDocVersion",
            "in": "query",
            "description": "Fetch specific vendor source doc version if available",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "withSourceDoc",
            "in": "query",
            "description": "Include vendor source doc if available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withSourceDocVersions",
            "in": "query",
            "description": "Include available vendor source doc versions",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocationFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocationFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Locations"
        ],
        "summary": "Update Location",
        "description": "Uniqueness constraints within organization:\n- location.name, location.integration\n",
        "operationId": "updateLocation",
        "parameters": [
          {
            "name": "LocationId",
            "in": "path",
            "description": "Location ID to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LocationUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/LocationUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/LocationUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocationUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocationUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/LocationUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/locations/{LocationId}/sync": {
      "post": {
        "tags": [
          "Locations"
        ],
        "summary": "Sync Locations",
        "description": "Trigger the locations sync",
        "operationId": "syncLocations",
        "parameters": [
          {
            "name": "LocationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "object"
              }
            },
            "text/xml": {
              "schema": {
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/csv": {}
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/csv": {}
            }
          }
        }
      }
    },
    "/notes": {
      "post": {
        "tags": [
          "Notes"
        ],
        "summary": "Create Note",
        "operationId": "createNote",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NoteCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/NoteCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/NoteCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NoteCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/NoteCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/NoteCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NoteCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/NoteCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/NoteCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Notes"
        ],
        "summary": "List Notes",
        "operationId": "listNotes",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many Notes"
          },
          {
            "name": "entityId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve notes by entityId list",
            "style": "form",
            "explode": false
          },
          {
            "name": "entityType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve notes by entityType list",
            "style": "form",
            "explode": false
          },
          {
            "name": "eventId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve notes by eventId list",
            "style": "form",
            "explode": false
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "hasPreValue,hasPostValue,changeSource,changeType,text,generatedText,noteId,entityId,entityType,extEntityId,relatedEntityId,relatedEntityType,eventId,isPublic,severity,tags,userId,createdAt,updatedAt,orgKey,status"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "noteId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve notes by noteId list",
            "style": "form",
            "explode": false
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "severity",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/NoteSeverity"
              },
              "description": "Retrieve notes by severity list"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Notes created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many Notes"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/NoteStatus"
              },
              "description": "Retrieve notes by status list"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Notes created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Notes updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Notes updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotesListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/NotesListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/NotesListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotesListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/NotesListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/NotesListError"
                }
              }
            }
          }
        }
      }
    },
    "/notes/{NoteId}": {
      "delete": {
        "tags": [
          "Notes"
        ],
        "summary": "Delete Note",
        "operationId": "deleteNote",
        "parameters": [
          {
            "name": "NoteId",
            "in": "path",
            "description": "Note Id to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Notes"
        ],
        "summary": "Fetch Note",
        "operationId": "fetchNote",
        "parameters": [
          {
            "name": "NoteId",
            "in": "path",
            "description": "Note Id to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NoteFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/NoteFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/NoteFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NoteFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/NoteFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/NoteFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Notes"
        ],
        "summary": "Update Note",
        "operationId": "updateNote",
        "parameters": [
          {
            "name": "NoteId",
            "in": "path",
            "description": "Note Id to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NoteUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/NoteUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/NoteUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NoteUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/NoteUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/NoteUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NoteUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/NoteUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/NoteUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/statements": {
      "post": {
        "tags": [
          "Order Statements"
        ],
        "summary": "Create Statements",
        "operationId": "createStatements",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StatementCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/StatementCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/StatementCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatementCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StatementCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StatementCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatementCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StatementCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StatementCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Order Statements"
        ],
        "summary": "List Statements",
        "operationId": "listStatements",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many statements"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Retrieve only soft deleted statements"
          },
          {
            "name": "depositSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Statements where (extStatementDepositDate >= depositSince)"
          },
          {
            "name": "depositUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Statements where (extStatementDepositDate < depositUntil)"
          },
          {
            "name": "endPeriodSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Statements where (extStatementEndDate >= endPeriodSince)"
          },
          {
            "name": "endPeriodUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Statements where (extStatementEndDate < endPeriodUntil)"
          },
          {
            "name": "exceptionCategoryId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve statements by list of categories of the statement related exceptions",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve statements by list of types of the statement related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)",
            "style": "form",
            "explode": false
          },
          {
            "name": "extStatementApiId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve statements by extStatementApiId list",
            "style": "form",
            "explode": false
          },
          {
            "name": "extStatementId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve statements by extStatementId list",
            "style": "form",
            "explode": false
          },
          {
            "name": "hasSourceDoc",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Retrieve statements containing a source document"
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve statements by integration list",
            "style": "form",
            "explode": false
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "statementId,extStatementId,extStatementApiId,integration,extStatementStartDate,extStatementEndDate,extStatementDepositDate,depositTotal,transactionFees,statementTotal,currency,status,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Statements created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many statements"
          },
          {
            "name": "startPeriodSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Statements where (extStatementStartDate >= startPeriodSince)"
          },
          {
            "name": "startPeriodUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Statements where (extStatementStartDate < startPeriodUntil)"
          },
          {
            "name": "statementId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve statements by statementId list",
            "style": "form",
            "explode": false
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/StatementStatus"
              }
            },
            "description": "Retrieve statements by status list",
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Statements created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Statements updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Statements updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatementsListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StatementsListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StatementsListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatementsListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StatementsListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StatementsListError"
                }
              }
            }
          }
        }
      }
    },
    "/statements/{StatementId}": {
      "delete": {
        "tags": [
          "Order Statements"
        ],
        "summary": "Delete Statement",
        "operationId": "deleteStatement",
        "parameters": [
          {
            "name": "StatementId",
            "in": "path",
            "description": "Statement Id to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Order Statements"
        ],
        "summary": "Fetch Statement",
        "operationId": "fetchStatement",
        "parameters": [
          {
            "name": "StatementId",
            "in": "path",
            "description": "Id or `ext:{extStatementId}` of statement to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sourceDocVersion",
            "in": "query",
            "description": "Fetch specific source doc version if available",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "withFeesTotals",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Add the fees totals in the response",
            "required": false
          },
          {
            "name": "withSourceDoc",
            "in": "query",
            "description": "Include source doc if available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withSourceDocVersions",
            "in": "query",
            "description": "Include available source doc versions",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatementFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StatementFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StatementFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatementFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StatementFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StatementFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Order Statements"
        ],
        "summary": "Update Statement",
        "operationId": "updateStatement",
        "parameters": [
          {
            "name": "StatementId",
            "in": "path",
            "description": "Statement Id to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StatementUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/StatementUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/StatementUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatementUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StatementUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StatementUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatementUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StatementUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StatementUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/statements/{StatementId}/sync": {
      "post": {
        "tags": [
          "Order Statements"
        ],
        "summary": "Sync Statements",
        "description": "Trigger the statements sync",
        "operationId": "syncStatements",
        "parameters": [
          {
            "name": "StatementId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "object"
              }
            },
            "text/xml": {
              "schema": {
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/csv": {}
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/csv": {}
            }
          }
        }
      }
    },
    "/statement_transactions": {
      "post": {
        "tags": [
          "Order Statement Transactions"
        ],
        "summary": "Create Transactions",
        "operationId": "createTransactions",
        "parameters": [
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransactionCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/TransactionCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/TransactionCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Order Statement Transactions"
        ],
        "summary": "List Transactions",
        "operationId": "listTransactions",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many transactions"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Retrieve only soft deleted transactions"
          },
          {
            "name": "exceptionCategoryId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve transactions by list of categories of the transaction related exceptions",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve transactions by list of types of the transaction related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)",
            "style": "form",
            "explode": false
          },
          {
            "name": "extReferenceId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve transactions by extReferenceId list",
            "style": "form",
            "explode": false
          },
          {
            "name": "extStatementId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve transactions by extStatementId list",
            "style": "form",
            "explode": false
          },
          {
            "name": "extTransactionId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve transactions by extTransactionId list",
            "style": "form",
            "explode": false
          },
          {
            "name": "hasSourceDoc",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Retrieve transactions containing a source document"
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve transactions by integration list",
            "style": "form",
            "explode": false
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "transactionId,extReferenceId,statementId,extStatementId,extTransactionId,integration,sku,transactionType,transactionFees,status,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Transactions created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many transactions"
          },
          {
            "name": "sku",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve transactions by SKU list",
            "style": "form",
            "explode": false
          },
          {
            "name": "statementId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve transactions by statementId list",
            "style": "form",
            "explode": false
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TransactionStatus"
              }
            },
            "description": "Retrieve transactions by status list",
            "style": "form",
            "explode": false
          },
          {
            "name": "transactionId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve transactions by transactionId list",
            "style": "form",
            "explode": false
          },
          {
            "name": "transactionType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve transactions by transactionType list",
            "style": "form",
            "explode": false
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Transactions created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Transactions updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Transactions updated before this date-time"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionsListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionsListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionsListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionsListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionsListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionsListError"
                }
              }
            }
          }
        }
      }
    },
    "/statement_transactions/{TransactionId}": {
      "delete": {
        "tags": [
          "Order Statement Transactions"
        ],
        "summary": "Delete Transaction",
        "operationId": "deleteTransaction",
        "parameters": [
          {
            "name": "TransactionId",
            "in": "path",
            "description": "Transaction Id to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Order Statement Transactions"
        ],
        "summary": "Fetch Transaction",
        "operationId": "fetchTransaction",
        "parameters": [
          {
            "name": "TransactionId",
            "in": "path",
            "description": "Id or `ext:{extTransactionId}` of transaction to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "name": "sourceDocVersion",
            "in": "query",
            "description": "Fetch specific source doc version if available",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          },
          {
            "name": "withSourceDoc",
            "in": "query",
            "description": "Include source doc if available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withSourceDocVersions",
            "in": "query",
            "description": "Include available source doc versions",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Order Statement Transactions"
        ],
        "summary": "Update Transaction",
        "operationId": "updateTransaction",
        "parameters": [
          {
            "name": "TransactionId",
            "in": "path",
            "description": "Transaction Id to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransactionUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/TransactionUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/TransactionUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/statement_transactions/{TransactionId}/sync": {
      "post": {
        "tags": [
          "Order Statement Transactions"
        ],
        "summary": "Sync Statement Transactions",
        "description": "Trigger the statement transactions sync",
        "operationId": "syncTransactions",
        "parameters": [
          {
            "name": "TransactionId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "object"
              }
            },
            "text/xml": {
              "schema": {
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/csv": {}
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/csv": {}
            }
          }
        }
      }
    },
    "/orders": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Create Orders",
        "description": "Uniqueness constraints within organization:\n- order.extOrderId, order.orderSource\n- order.extOrderApiId (when defined)\n",
        "operationId": "createOrders",
        "parameters": [
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          },
          {
            "name": "withTransform",
            "in": "query",
            "description": "Enable order transformation engine for this request",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrdersCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/OrdersCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/OrdersCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrdersCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrdersCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrdersCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrdersCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrdersCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrdersCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Orders"
        ],
        "summary": "List Orders",
        "operationId": "listOrders",
        "parameters": [
          {
            "name": "acknowledgedBy",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Orders by list of acknowledging integrations",
            "style": "form",
            "explode": false
          },
          {
            "name": "autoEngUpdateStatus",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/AutoEngUpdateStatus"
              }
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "autoEngUpdateStatusUpdatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch all orders with autoEngUpdateStatus updated after this date-time"
          },
          {
            "name": "autoEngUpdateStatusUpdatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch all orders with autoEngUpdateStatus updated before this date-time"
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many orders"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Fetch soft deleted orders"
          },
          {
            "name": "disposition",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OrderDispositionType"
              }
            },
            "description": "Fetch orders by list of order disposition types",
            "style": "form",
            "explode": false
          },
          {
            "name": "email",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Fetch orders by recipient email (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
          },
          {
            "name": "emailAddr",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve orders by list of billing/shippingAddress.email (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionCategoryId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fetch orders by list of categories of the order related exceptions",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fetch orders by list of types of the order related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)",
            "style": "form",
            "explode": false
          },
          {
            "name": "extOrderCreatedAtSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch all orders with extOrderCreatedAt after or at this date-time"
          },
          {
            "name": "extOrderCreatedAtUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch all orders with extOrderCreatedAt before or at this date-time"
          },
          {
            "name": "extOrderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fetch orders by list of extOrderId",
            "style": "form",
            "explode": false
          },
          {
            "name": "fulfilledAtSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch all orders with fulfilledAt after or at this date-time"
          },
          {
            "name": "fulfilledAtUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch all orders with fulfilledAt before or at this date-time"
          },
          {
            "name": "hasSourceDoc",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Orders containing a source document"
          },
          {
            "name": "holdUntilSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch all orders with holdUntil after or at this date-time. Rounded down to the nearest minute"
          },
          {
            "name": "holdUntilUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch all orders with holdUntil before or at this date-time. Rounded down to the nearest minute"
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fetch orders by list of integrationId",
            "style": "form",
            "explode": false
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "orderId,extOrderId,email,status,shipByDate,shipByStatus,fulfilledAt,expectedDeliveryDate,priority,tags,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "lastRerunRoutingTrigger",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/LastRerunRoutingTrigger"
              }
            },
            "description": "Fetch orders by list of rerun routing triggers",
            "style": "form",
            "explode": false
          },
          {
            "name": "lineItemSku",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fetch orders containing line items with these SKUs",
            "style": "form",
            "explode": false
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fetch orders by list of locationId",
            "style": "form",
            "explode": false
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "orderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fetch orders by list of orderId",
            "style": "form",
            "explode": false
          },
          {
            "name": "orderSource",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fetch orders by list of order sources",
            "style": "form",
            "explode": false
          },
          {
            "name": "orderSourceType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OrderType"
              },
              "description": "Fetch orders by list of types"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "originalOrderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fetch orders by ID of the order they are replacing",
            "style": "form",
            "explode": false
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "priority",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Priority"
              }
            },
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "name": "requireShippingLabels",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter orders by shipping labels requirement"
          },
          {
            "name": "routingStatus",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/RoutingStatus"
              },
              "description": "Orders by list of routing statuses"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "shipByDateSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch all orders with shipByDate after or at this date-time"
          },
          {
            "name": "shipByDateUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch all orders with shipByDate before or at this date-time"
          },
          {
            "name": "shipByStatus",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OrderShipByStatus"
              }
            },
            "description": "Fetch orders by list of ship-by SLA states",
            "style": "form",
            "explode": false
          },
          {
            "name": "shipmentLocationIds",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fetch orders by list of shipment fulfillment location IDs",
            "style": "form",
            "explode": false
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch all orders created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many orders"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OrderStatus"
              }
            },
            "description": "Fetch orders by list of statuses",
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "timestamp",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "if set to true use timestamp instead of create time"
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch all orders created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch all orders updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch all orders updated before this date-time"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrdersListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrdersListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrdersListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrdersListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrdersListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrdersListError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Orders"
        ],
        "summary": "Delete Multiple Orders",
        "operationId": "deleteOrders",
        "parameters": [
          {
            "name": "action",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ListDeleteAction"
            },
            "description": "Return the list of what to delete, or delete softly"
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Delete at most this many orders"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Delete soft deleted orders"
          },
          {
            "name": "extOrderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete orders by list of extOrderId",
            "style": "form",
            "explode": false
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete orders of these integrations",
            "style": "form",
            "explode": false
          },
          {
            "name": "orderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete orders by list of orderId",
            "style": "form",
            "explode": false
          },
          {
            "name": "orderSource",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete orders by list of order sources",
            "style": "form",
            "explode": false
          },
          {
            "name": "orderSourceType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OrderType"
              },
              "description": "Delete orders by list of order types"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "orgMode",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OrganizationMode"
              }
            },
            "description": "Delete orders assigned these orgModes.",
            "style": "form",
            "explode": false
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "routingStatus",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/RoutingStatus"
              },
              "description": "Delete orders by list of routing statuses"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete orders created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many orders"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OrderStatus"
              }
            },
            "description": "Delete orders by list of statuses",
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete orders created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete orders updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete orders updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrdersDeleteResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrdersDeleteResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrdersDeleteResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrdersDeleteError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrdersDeleteError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrdersDeleteError"
                }
              }
            }
          }
        }
      }
    },
    "/orders/{OrderId}": {
      "delete": {
        "tags": [
          "Orders"
        ],
        "summary": "Delete Order",
        "operationId": "deleteOrder",
        "parameters": [
          {
            "name": "OrderId",
            "in": "path",
            "description": "Id, `ext:{extOrderId}`, or `api:{extOrderApiId}` of order to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nested",
            "in": "query",
            "description": "Delete nested entities",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Orders"
        ],
        "summary": "Fetch Order",
        "operationId": "fetchOrder",
        "parameters": [
          {
            "name": "OrderId",
            "in": "path",
            "description": "Id, `ext:{extOrderId}`, or `api:{extOrderApiId}` of order to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "name": "sourceDocVersion",
            "in": "query",
            "description": "Fetch specific vendor source doc version if available",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          },
          {
            "name": "withSourceDoc",
            "in": "query",
            "description": "Include vendor source doc if available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withSourceDocVersions",
            "in": "query",
            "description": "Include available vendor source doc versions",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withTimeline",
            "in": "query",
            "description": "Include timeline of updates when available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrderFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrderFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrderFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrderFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Orders"
        ],
        "summary": "Update Order",
        "description": "Uniqueness constraints within organization:\n- order.extOrderId, order.orderSource\n- order.extOrderApiId (when defined)\n",
        "operationId": "updateOrder",
        "parameters": [
          {
            "name": "OrderId",
            "in": "path",
            "description": "Id, `ext:{extOrderId}`, or `api:{extOrderApiId}` of order to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          },
          {
            "name": "withTransform",
            "in": "query",
            "description": "Enable order transformation engine for this request",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/OrderUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/OrderUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrderUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrderUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrderUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrderUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/orders/{OrderId}/sync": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Sync Orders",
        "description": "Trigger the orders sync",
        "operationId": "syncOrders",
        "parameters": [
          {
            "name": "OrderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderSyncRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/OrderSyncRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/OrderSyncRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/csv": {}
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/csv": {}
            }
          }
        }
      }
    },
    "/orders/{Operation}": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Add/Remove Tags",
        "operationId": "updateOrderTags",
        "parameters": [
          {
            "name": "Operation",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "addTags",
                "removeTags"
              ]
            }
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "IDs of orders to update, where the ID is either `{orderId}`, `ext:{extOrderId}`, or `api:{extOrderApiId}`",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "minItems": 1
            },
            "style": "form",
            "explode": false
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderUpdateTagsRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/OrderUpdateTagsRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/OrderUpdateTagsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderUpdateTagsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrderUpdateTagsResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrderUpdateTagsResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/orders/{OrderId}/acknowledge": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Acknowledge orders",
        "description": "Marks orders as acknowledged by integration",
        "operationId": "acknowledgeOrders",
        "parameters": [
          {
            "name": "OrderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "orderId list or `api:{extOrderApiId}` or `ext:{extOrderId}`"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderAcknowledgeRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/OrderAcknowledgeRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/OrderAcknowledgeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderAcknowledgeResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrderAcknowledgeResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrderAcknowledgeResponse"
                }
              },
              "text/csv": {}
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderAcknowledgeError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrderAcknowledgeError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrderAcknowledgeError"
                }
              },
              "text/csv": {}
            }
          }
        }
      }
    },
    "/purchases": {
      "post": {
        "tags": [
          "Purchases"
        ],
        "summary": "Create Purchases",
        "description": "Uniqueness constraints within organization:\n- purchase.extOrderId\n- purchase.extOrderApiId, purchase.inegration (when extOrderApiId defined)\n- purchase.extReferenceId, purchase.integration (when extReferenceId defined)\n",
        "operationId": "createPurchases",
        "parameters": [
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PurchasesCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/PurchasesCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/PurchasesCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PurchasesCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PurchasesCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PurchasesCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PurchasesCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PurchasesCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PurchasesCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Purchases"
        ],
        "summary": "List Purchases",
        "operationId": "listPurchases",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many purchases"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Retrieve soft deleted purchaases"
          },
          {
            "name": "exceptionCategoryId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve purchases by list of categories of the purchase related exceptions",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve purchases by list of types of the purchase related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)",
            "style": "form",
            "explode": false
          },
          {
            "name": "extOrderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of external purchase IDs",
            "style": "form",
            "explode": false
          },
          {
            "name": "extReferenceId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by `extReferenceId` list",
            "style": "form",
            "explode": false
          },
          {
            "name": "hasSourceDoc",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Retrieve purchases containing a source document"
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve purchases of these integrations",
            "style": "form",
            "explode": false
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "purchaseId,extOrderId,referenceNumber,vendorAddress,expectedArrivalDate,shipByDate,toLocationId,totalPrice,status,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "purchaseId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of purchaseId",
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Retrieve all purchases created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many purchases"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/PurchaseStatus"
              }
            },
            "description": "Retrieve by list of statuses",
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "timestamp",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "if set to true use timestamp instead of create time"
          },
          {
            "name": "toLocationId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of toLocationId",
            "style": "form",
            "explode": false
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Retrieve all purchases created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Retrieve all purchases updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Retrieve all purchases updated before this date-time"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PurchasesListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PurchasesListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PurchasesListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PurchasesListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PurchasesListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PurchasesListError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Purchases"
        ],
        "summary": "Delete Multiple Purchases",
        "operationId": "deletePurchases",
        "parameters": [
          {
            "name": "action",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ListDeleteAction"
            },
            "description": "Return the list of what to delete, or delete softly"
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Delete at most this many purchases"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Delete soft deleted purchaases"
          },
          {
            "name": "extOrderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete purchases by list of external purchase IDs",
            "style": "form",
            "explode": false
          },
          {
            "name": "extReferenceId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete purchases by `extReferenceId` list",
            "style": "form",
            "explode": false
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete purchases of these integrations",
            "style": "form",
            "explode": false
          },
          {
            "name": "orgMode",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OrganizationMode"
              }
            },
            "description": "Delete purchases assigned these orgModes.",
            "style": "form",
            "explode": false
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "purchaseId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete purchases by list of purchaseId",
            "style": "form",
            "explode": false
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete purchases created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many purchases"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/PurchaseStatus"
              }
            },
            "description": "Delete purchases by list of statuses",
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete purchases created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete purchases updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete purchases updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PurchasesDeleteResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PurchasesDeleteResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PurchasesDeleteResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PurchasesDeleteError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PurchasesDeleteError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PurchasesDeleteError"
                }
              }
            }
          }
        }
      }
    },
    "/purchases/{PurchaseId}": {
      "delete": {
        "tags": [
          "Purchases"
        ],
        "summary": "Delete Purchase",
        "operationId": "deletePurchase",
        "parameters": [
          {
            "name": "PurchaseId",
            "in": "path",
            "description": "Id, `ext:{extOrderId}`, `api:{extOrderApiId}`, or `ref:{extReferenceId}` of purchase order to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nested",
            "in": "query",
            "description": "Delete nested entities",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Purchases"
        ],
        "summary": "Fetch Purchase",
        "operationId": "fetchPurchase",
        "parameters": [
          {
            "name": "PurchaseId",
            "in": "path",
            "description": "Id, `ext:{extOrderId}`, `api:{extOrderApiId}`, or `ref:{extReferenceId}` of purchase order to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "name": "sourceDocVersion",
            "in": "query",
            "description": "Fetch specific vendor source doc version if available",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          },
          {
            "name": "withSourceDoc",
            "in": "query",
            "description": "Include vendor source doc if available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withSourceDocVersions",
            "in": "query",
            "description": "Include available vendor source doc versions",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withTimeline",
            "in": "query",
            "description": "Include timeline of updates when available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PurchaseFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PurchaseFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PurchaseFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PurchaseFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PurchaseFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PurchaseFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Purchases"
        ],
        "summary": "Update Purchase",
        "description": "Uniqueness constraints within organization:\n- purchase.extOrderId\n- purchase.extOrderApiId, purchase.inegration (when extOrderApiId defined)\n- purchase.extReferenceId, purchase.integration (when extReferenceId defined)\n",
        "operationId": "updatePurchase",
        "parameters": [
          {
            "name": "PurchaseId",
            "in": "path",
            "description": "Id, `ext:{extOrderId}`, `api:{extOrderApiId}`, or `ref:{extReferenceId}` of purchase order to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PurchaseUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/PurchaseUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/PurchaseUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PurchaseUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PurchaseUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PurchaseUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PurchaseUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PurchaseUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PurchaseUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/purchases/{PurchaseId}/sync": {
      "post": {
        "tags": [
          "Purchases"
        ],
        "summary": "Sync Purchases",
        "description": "Trigger the purchases sync",
        "operationId": "syncPurchases",
        "parameters": [
          {
            "name": "PurchaseId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "object"
              }
            },
            "text/xml": {
              "schema": {
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/csv": {}
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/csv": {}
            }
          }
        }
      }
    },
    "/delivery_promises": {
      "get": {
        "tags": [
          "Delivery Promises"
        ],
        "summary": "List Delivery Promises",
        "operationId": "listDeliveryPromise",
        "parameters": [
          {
            "name": "contextStatus",
            "in": "query",
            "description": "Filter by decision-context status.",
            "schema": {
              "$ref": "#/components/schemas/DeliveryPromisesListFilterContextStatus"
            }
          },
          {
            "$ref": "#/components/parameters/count"
          },
          {
            "name": "deliveryPromiseId",
            "in": "query",
            "description": "Filter by delivery-promise IDs.",
            "schema": {
              "$ref": "#/components/schemas/DeliveryPromisesListFilterDeliveryPromiseId"
            }
          },
          {
            "name": "extDeliveryPromiseId",
            "in": "query",
            "description": "Filter by external delivery-promise IDs.",
            "schema": {
              "$ref": "#/components/schemas/DeliveryPromisesListFilterExtDeliveryPromiseId"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "description": "Return these top-level fields. Name any other field explicitly, or pass\n\"*\", to get the full record.\n",
            "schema": {
              "type": "string",
              "default": "orgKey,deliveryPromiseId,extDeliveryPromiseId,orderId,rank,promiseDate,estimatedDays,isSplit,fulfillmentStrategy,carrierServiceLevelCode,contextStatus,contextExpiresAt,createdAt,updatedAt"
            }
          },
          {
            "$ref": "#/components/parameters/order"
          },
          {
            "name": "orderId",
            "in": "query",
            "description": "Filter by order IDs.",
            "schema": {
              "$ref": "#/components/schemas/DeliveryPromisesListFilterOrderId"
            }
          },
          {
            "name": "pagination",
            "in": "query",
            "description": "Exclude pagination information from the response.",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            }
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "$ref": "#/components/parameters/since"
          },
          {
            "$ref": "#/components/parameters/skip"
          },
          {
            "$ref": "#/components/parameters/until"
          },
          {
            "$ref": "#/components/parameters/updatedSince"
          },
          {
            "$ref": "#/components/parameters/updatedUntil"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeliveryPromisesListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeliveryPromisesListError"
                }
              }
            }
          }
        }
      }
    },
    "/delivery_promises/{DeliveryPromiseId}": {
      "get": {
        "tags": [
          "Delivery Promises"
        ],
        "summary": "Fetch Delivery Promise",
        "operationId": "fetchDeliveryPromise",
        "parameters": [
          {
            "name": "DeliveryPromiseId",
            "in": "path",
            "required": true,
            "description": "Delivery-promise ID.",
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeliveryPromiseFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeliveryPromiseFetchError"
                }
              }
            }
          }
        }
      }
    },
    "/trackings": {
      "post": {
        "tags": [
          "Trackings"
        ],
        "summary": "Create Tracking",
        "description": "Uniqueness constraints within organization:\n- tracking.trackingNumber\n",
        "operationId": "createTracking",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TrackingCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/TrackingCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/TrackingCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrackingCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TrackingCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TrackingCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrackingCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TrackingCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TrackingCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Trackings"
        ],
        "summary": "List Trackings",
        "operationId": "listTrackings",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many tracking"
          },
          {
            "name": "fulfillmentId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "trackingId,trackingNumber,fulfillmentId,shipper,url,actualShipDate,expectedArrivalDate,actualArrivalDate,createdAt,updatedAt,orgKey,status"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "shippingCarrier",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Tracking created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many tracking"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TrackingStatus"
              }
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "trackingId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "trackingNumber",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Tracking created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Tracking updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Tracking updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrackingListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TrackingListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TrackingListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrackingListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TrackingListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TrackingListError"
                }
              }
            }
          }
        }
      }
    },
    "/trackings/{TrackingId}": {
      "get": {
        "tags": [
          "Trackings"
        ],
        "summary": "Fetch Tracking",
        "operationId": "fetchTracking",
        "parameters": [
          {
            "name": "TrackingId",
            "in": "path",
            "description": "Id or `ext:{trackingNumber}` of tracking to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrackingFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TrackingFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TrackingFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrackingFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TrackingFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TrackingFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Trackings"
        ],
        "summary": "Update Tracking",
        "description": "Uniqueness constraints within organization:\n- tracking.trackingNumber\n",
        "operationId": "updateTracking",
        "parameters": [
          {
            "name": "TrackingId",
            "in": "path",
            "description": "Id or `ext:{trackingNumber}` of tracking to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TrackingUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/TrackingUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/TrackingUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrackingUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TrackingUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TrackingUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrackingUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TrackingUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TrackingUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/trackings/{TrackingId}/sync": {
      "post": {
        "tags": [
          "Trackings"
        ],
        "summary": "Sync Trackings",
        "description": "Trigger the trackings sync",
        "operationId": "syncTrackings",
        "parameters": [
          {
            "name": "TrackingId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "object"
              }
            },
            "text/xml": {
              "schema": {
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/csv": {}
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/csv": {}
            }
          }
        }
      }
    },
    "/transfers": {
      "post": {
        "tags": [
          "Transfers"
        ],
        "summary": "Create Transfers",
        "description": "Uniqueness constraints within organization:\n- transfer.extOrderId\n- transfer.extOrderApiId, transfer.integration (when extOrderApiId defined)\n- transfer.extReferenceId, transfer.integration (when extReferenceId defined)\n",
        "operationId": "createTransfers",
        "parameters": [
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransfersCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/TransfersCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/TransfersCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransfersCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransfersCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransfersCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransfersCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransfersCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransfersCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Transfers"
        ],
        "summary": "List Transfers",
        "operationId": "listTransfers",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many transfers"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Retrieve soft deleted transfers"
          },
          {
            "name": "exceptionCategoryId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve transfers by list of categories of the transfer related exceptions",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve transfers by list of types of the transfer related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)",
            "style": "form",
            "explode": false
          },
          {
            "name": "extOrderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of external transfer IDs",
            "style": "form",
            "explode": false
          },
          {
            "name": "extReferenceId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by `extReferenceId` list",
            "style": "form",
            "explode": false
          },
          {
            "name": "fromLocationId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of fromLocationId",
            "style": "form",
            "explode": false
          },
          {
            "name": "hasSourceDoc",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Retrieve transfers containing a source document"
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve transfers of these integrations",
            "style": "form",
            "explode": false
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "transferId,extOrderId,status,shipByDate,expectedArrivalDate,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "orderSourceType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OrderType"
              },
              "description": "Fetch orders by list of types"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Retrieve all transfers created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many transfers"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TransferStatus"
              }
            },
            "description": "Retrieve by list of statuses",
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "timestamp",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "if set to true use timestamp instead of create time"
          },
          {
            "name": "toLocationId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of toLocationId",
            "style": "form",
            "explode": false
          },
          {
            "name": "transferId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of transferId",
            "style": "form",
            "explode": false
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Retrieve all transfers created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Retrieve all transfers updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Retrieve all transfers updated before this date-time"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransfersListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransfersListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransfersListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransfersListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransfersListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransfersListError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Transfers"
        ],
        "summary": "Delete Multiple Transfers",
        "operationId": "deleteTransfers",
        "parameters": [
          {
            "name": "action",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ListDeleteAction"
            },
            "description": "Return the list of what to delete, or delete softly"
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Delete at most this many transfers"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Delete soft deleted transfers"
          },
          {
            "name": "extOrderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete transfers by list of external transfer IDs",
            "style": "form",
            "explode": false
          },
          {
            "name": "extReferenceId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete transfers by `extReferenceId` list",
            "style": "form",
            "explode": false
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete transfers of these integrations",
            "style": "form",
            "explode": false
          },
          {
            "name": "orderSourceType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OrderType"
              },
              "description": "Delete orders by list of order types"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "orgMode",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OrganizationMode"
              }
            },
            "description": "Delete transfers assigned these orgModes.",
            "style": "form",
            "explode": false
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete transfers created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many transfers"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TransferStatus"
              }
            },
            "description": "Delete transfers by list of statuses",
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "transferId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete transfers by list of transferId",
            "style": "form",
            "explode": false
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete transfers created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete transfers updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete transfers updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransfersDeleteResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransfersDeleteResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransfersDeleteResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransfersDeleteError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransfersDeleteError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransfersDeleteError"
                }
              }
            }
          }
        }
      }
    },
    "/transfers/{TransferId}": {
      "delete": {
        "tags": [
          "Transfers"
        ],
        "summary": "Delete Transfer",
        "operationId": "deleteTransfer",
        "parameters": [
          {
            "name": "TransferId",
            "in": "path",
            "description": "Id, `ext:{extOrderId}`, `api:{extOrderApiId}`, or `ref:{extReferenceId}` of transfer to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nested",
            "in": "query",
            "description": "Delete nested entities",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Transfers"
        ],
        "summary": "Fetch Transfer",
        "operationId": "fetchTransfer",
        "parameters": [
          {
            "name": "TransferId",
            "in": "path",
            "description": "Id, `ext:{extOrderId}`, `api:{extOrderApiId}`, or `ref:{extReferenceId}` of transfer to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "name": "sourceDocVersion",
            "in": "query",
            "description": "Fetch specific vendor source doc version if available",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          },
          {
            "name": "withSourceDoc",
            "in": "query",
            "description": "Include vendor source doc if available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withSourceDocVersions",
            "in": "query",
            "description": "Include available vendor source doc versions",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withTimeline",
            "in": "query",
            "description": "Include timeline of updates when available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransferFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransferFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransferFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransferFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransferFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransferFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Transfers"
        ],
        "summary": "Update Transfer",
        "description": "Uniqueness constraints within organization:\n- transfer.extOrderId\n- transfer.extOrderApiId, transfer.integration (when extOrderApiId defined)\n- transfer.extReferenceId, transfer.integration (when extReferenceId defined)\n",
        "operationId": "updateTransfer",
        "parameters": [
          {
            "name": "TransferId",
            "in": "path",
            "description": "Id, `ext:{extOrderId}`, `api:{extOrderApiId}`, or `ref:{extReferenceId}` of transfer to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransferUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/TransferUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/TransferUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransferUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransferUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransferUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransferUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransferUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TransferUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/transfers/{TransferId}/sync": {
      "post": {
        "tags": [
          "Transfers"
        ],
        "summary": "Sync Transfers",
        "description": "Trigger the transfers sync",
        "operationId": "syncTransfers",
        "parameters": [
          {
            "name": "TransferId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "object"
              }
            },
            "text/xml": {
              "schema": {
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/csv": {}
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/csv": {}
            }
          }
        }
      }
    },
    "/receipts": {
      "post": {
        "tags": [
          "Receipts"
        ],
        "summary": "Create Receipts",
        "description": "Uniqueness constraints within organization:\n- receipt.extReceiptId (when defined)\n- receipt.extReceiptApiId (when defined)\n",
        "operationId": "createReceipts",
        "parameters": [
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReceiptsCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ReceiptsCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/ReceiptsCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReceiptsCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReceiptsCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReceiptsCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReceiptsCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReceiptsCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReceiptsCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Receipts"
        ],
        "summary": "List Receipts",
        "operationId": "listReceipts",
        "parameters": [
          {
            "name": "arrivalId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Receipts by list of arrivalId",
            "style": "form",
            "explode": false
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many receipts"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Soft deleted receipts"
          },
          {
            "name": "exceptionCategoryId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Receipts by list of categories of the receipt related exceptions",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Receipts by list of types of the receipt related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)",
            "style": "form",
            "explode": false
          },
          {
            "name": "extArrivalId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Receipts by list of extArrivalId",
            "style": "form",
            "explode": false
          },
          {
            "name": "extOrderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Receipts by list of extOrderId",
            "style": "form",
            "explode": false
          },
          {
            "name": "extReceiptId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Receipts by list of extReceiptId",
            "style": "form",
            "explode": false
          },
          {
            "name": "hasSourceDoc",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Receipts containing a source document"
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Receipts of these integrations.",
            "style": "form",
            "explode": false
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "receiptId,arrivalId,extArrivalId,extOrderId,actualArrivalDate,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "receiptId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Receipts by list of receiptId",
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Receipts created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many receipts"
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Receipts created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Receipts updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Receipts updated before this date-time"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReceiptsListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReceiptsListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReceiptsListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReceiptsListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReceiptsListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReceiptsListError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Receipts"
        ],
        "summary": "Delete Multiple Receipts",
        "operationId": "deleteReceipts",
        "parameters": [
          {
            "name": "action",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ListDeleteAction"
            },
            "description": "Return the list of what to delete, or delete softly"
          },
          {
            "name": "arrivalId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Receipts by list of arrivalId",
            "style": "form",
            "explode": false
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many receipts"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Soft deleted receipts"
          },
          {
            "name": "extArrivalId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Receipts by list of extArrivalId",
            "style": "form",
            "explode": false
          },
          {
            "name": "extOrderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Receipts by list of extOrderId",
            "style": "form",
            "explode": false
          },
          {
            "name": "extReceiptId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Receipts by list of extReceiptId",
            "style": "form",
            "explode": false
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Receipts of these integrations.",
            "style": "form",
            "explode": false
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "receiptId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Receipts by list of receiptId",
            "style": "form",
            "explode": false
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Receipts created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many receipts"
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Receipts created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Receipts updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Receipts updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReceiptsDeleteResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReceiptsDeleteResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReceiptsDeleteResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReceiptsDeleteError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReceiptsDeleteError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReceiptsDeleteError"
                }
              }
            }
          }
        }
      }
    },
    "/receipts/{ReceiptId}": {
      "delete": {
        "tags": [
          "Receipts"
        ],
        "summary": "Delete Receipt",
        "operationId": "deleteReceipt",
        "parameters": [
          {
            "name": "ReceiptId",
            "in": "path",
            "description": "Id, `ext:{extReceiptId}` or `api:{extReceiptApiId}` of receipt to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Receipts"
        ],
        "summary": "Fetch Receipt",
        "operationId": "fetchReceipt",
        "parameters": [
          {
            "name": "ReceiptId",
            "in": "path",
            "description": "Id, `ext:{extReceiptId}` or `api:{extReceiptApiId}` of receipt to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "name": "sourceDocVersion",
            "in": "query",
            "description": "Fetch specific vendor source doc version if available",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          },
          {
            "name": "withSourceDoc",
            "in": "query",
            "description": "Include vendor source doc if available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withSourceDocVersions",
            "in": "query",
            "description": "Include available vendor source doc versions",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withTimeline",
            "in": "query",
            "description": "Include timeline of updates when available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReceiptFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReceiptFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReceiptFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReceiptFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReceiptFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReceiptFetchError"
                }
              }
            }
          }
        }
      }
    },
    "/receipts/{ReceiptId}/sync": {
      "post": {
        "tags": [
          "Receipts"
        ],
        "summary": "Sync Receipts",
        "description": "Trigger the receipts sync",
        "operationId": "syncReceipts",
        "parameters": [
          {
            "name": "ReceiptId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "object"
              }
            },
            "text/xml": {
              "schema": {
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/csv": {}
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/csv": {}
            }
          }
        }
      }
    },
    "/returns": {
      "post": {
        "tags": [
          "Returns"
        ],
        "summary": "Create Return",
        "description": "Uniqueness constraints within organization:\n- return.extReturnId (when defined)\n- return.extReturnApiId, return.integration (when extReturnApiId defined)\n- return.extReferenceId, return.integration (when extReferenceId defined)\n",
        "operationId": "createReturn",
        "parameters": [
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReturnCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ReturnCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/ReturnCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Returns"
        ],
        "summary": "List Returns",
        "operationId": "listReturns",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many returns"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Retrieve soft deleted returns"
          },
          {
            "name": "emailAddr",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of shippingAddress.email",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionCategoryId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve returns by list of categories of the return related exceptions",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve returns by list of types of the return related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)",
            "style": "form",
            "explode": false
          },
          {
            "name": "extOrderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Retrieve returns by list of external order ids"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "extReferenceId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve returns by `extReferenceId` list",
            "style": "form",
            "explode": false
          },
          {
            "name": "extReturnId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Retrieve returns by list of external return ids"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "hasSourceDoc",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Retrieve returns containing a source document"
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve returns of these integrations",
            "style": "form",
            "explode": false
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "returnId,extReturnId,status,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Retrieve returns by list of location ids"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "name": "returnId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Retrieve by list of returnId"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Returns created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many returns"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ReturnStatus"
              }
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Returns created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Returns updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Returns updated before this date-time"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnsListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnsListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnsListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnsListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnsListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnsListError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Returns"
        ],
        "summary": "Delete Multiple Returns",
        "operationId": "deleteReturns",
        "parameters": [
          {
            "name": "action",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ListDeleteAction"
            },
            "description": "Return the list of what to delete, or delete softly"
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Delete at most this many returns"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Delete soft deleted returns"
          },
          {
            "name": "extReferenceId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete returns by `extReferenceId` list",
            "style": "form",
            "explode": false
          },
          {
            "name": "extReturnId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Delete returns by list of external return ids"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete returns of these integrations",
            "style": "form",
            "explode": false
          },
          {
            "name": "orgMode",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OrganizationMode"
              }
            },
            "description": "Delete returns assigned these orgModes.",
            "style": "form",
            "explode": false
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "returnId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Delete returns by list of returnId"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete returns created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many returns"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ReturnStatus"
              }
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete returns created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete returns updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete returns updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnsDeleteResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnsDeleteResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnsDeleteResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnsDeleteError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnsDeleteError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnsDeleteError"
                }
              }
            }
          }
        }
      }
    },
    "/returns/{ReturnId}": {
      "delete": {
        "tags": [
          "Returns"
        ],
        "summary": "Delete Return",
        "operationId": "deleteReturn",
        "parameters": [
          {
            "name": "ReturnId",
            "in": "path",
            "description": "Id, `ext:{extReturnId}`, `api:{extReturnApiId}`, or `ref:{extReferenceId}` of return to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Returns"
        ],
        "summary": "Fetch Return",
        "operationId": "fetchReturn",
        "parameters": [
          {
            "name": "ReturnId",
            "in": "path",
            "description": "Id, `ext:{extReturnId}`, `api:{extReturnApiId}`, or `ref:{extReferenceId}` of return to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "name": "sourceDocVersion",
            "in": "query",
            "description": "Fetch specific vendor source doc version if available",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          },
          {
            "name": "withSourceDoc",
            "in": "query",
            "description": "Include vendor source doc if available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withSourceDocVersions",
            "in": "query",
            "description": "Include available vendor source doc versions",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withTimeline",
            "in": "query",
            "description": "Include timeline of updates when available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Returns"
        ],
        "summary": "Update Return",
        "description": "Uniqueness constraints within organization:\n- return.extReturnId (when defined)\n- return.extReturnApiId, return.integration (when extReturnApiId defined)\n- return.extReferenceId, return.integration (when extReferenceId defined)\n",
        "operationId": "updateReturn",
        "parameters": [
          {
            "name": "ReturnId",
            "in": "path",
            "description": "Id, `ext:{extReturnId}`, `api:{extReturnApiId}`, or `ref:{extReferenceId}` of return to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReturnUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ReturnUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/ReturnUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ReturnUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/returns/{ReturnId}/sync": {
      "post": {
        "tags": [
          "Returns"
        ],
        "summary": "Sync Returns",
        "description": "Trigger the returns sync",
        "operationId": "syncReturns",
        "parameters": [
          {
            "name": "ReturnId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "object"
              }
            },
            "text/xml": {
              "schema": {
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/csv": {}
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/csv": {}
            }
          }
        }
      }
    },
    "/connectors": {
      "post": {
        "tags": [
          "Connectors"
        ],
        "summary": "Create Connector",
        "description": "Uniqueness constraints:\n- connector.connectorName\n",
        "operationId": "createConnector",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectorCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ConnectorCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/ConnectorCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Connectors"
        ],
        "summary": "List Connectors",
        "operationId": "listConnectors",
        "parameters": [
          {
            "name": "availabilityStatus",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ConnectorAvailabilityStatus"
              }
            },
            "description": "Retrieve connectors by list of availability statuses",
            "style": "form",
            "explode": false
          },
          {
            "name": "capability",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve connectors by list of capabilities",
            "style": "form",
            "explode": false
          },
          {
            "name": "connectorId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve connectors by list of connectorId",
            "style": "form",
            "explode": false
          },
          {
            "name": "connectorName",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve connectors by list of connector names",
            "style": "form",
            "explode": false
          },
          {
            "name": "connectorType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ConnectorType"
              }
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many connectors"
          },
          {
            "name": "intentShow",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Retrieve connectors by intentShow attribute"
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "displayName,description,version,connectorId,status,connectorName,connectorType,logoUrl,entities,settings,connection,createdAt,updatedAt,orgKey,tags"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "selfServiceMode",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ConnectorSelfServiceMode"
              }
            },
            "description": "Retrieve connectors by list of self-service modes",
            "style": "form",
            "explode": false
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Connectors created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many connectors"
          },
          {
            "name": "slug",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve connectors by list of connector slugs",
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Connectors created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Connectors updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Connectors updated before this date-time"
          },
          {
            "name": "visibility",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ConnectorVisibility"
              }
            },
            "description": "Retrieve connectors by computed visibility",
            "style": "form",
            "explode": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorsListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorsListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorsListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorsListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorsListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorsListError"
                }
              }
            }
          }
        }
      }
    },
    "/connectors/{ConnectorId}": {
      "delete": {
        "tags": [
          "Connectors"
        ],
        "summary": "Delete Connector",
        "operationId": "deleteConnector",
        "parameters": [
          {
            "name": "ConnectorId",
            "in": "path",
            "description": "Connector Id to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Connectors"
        ],
        "summary": "Fetch Connector",
        "operationId": "fetchConnector",
        "parameters": [
          {
            "name": "ConnectorId",
            "in": "path",
            "description": "Connector Id to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Connectors"
        ],
        "summary": "Update Connector",
        "description": "Uniqueness constraints:\n- connector.connectorName\n",
        "operationId": "updateConnector",
        "parameters": [
          {
            "name": "ConnectorId",
            "in": "path",
            "description": "Connector Id to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectorUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ConnectorUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/ConnectorUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectorUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/mappings": {
      "post": {
        "tags": [
          "Mappings"
        ],
        "summary": "Create Mapping",
        "description": "Uniqueness constraints:\n- maping.uuid\n",
        "operationId": "createMapping",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MappingCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/MappingCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/MappingCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MappingCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/MappingCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/MappingCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MappingCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/MappingCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/MappingCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Mappings"
        ],
        "summary": "List Mappings",
        "operationId": "listMappings",
        "parameters": [
          {
            "name": "connectorId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Mappings by list of connectorId",
            "style": "form",
            "explode": false
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many mappings"
          },
          {
            "name": "desc",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Fetch mappings by description (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "mappingId,connectorId,uuid,description,createdAt,updatedAt,orgKey,isPublic,originId,documentationURLs,readme"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "mappingId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Mappings by list of mappingId",
            "style": "form",
            "explode": false
          },
          {
            "name": "mappingsTarget",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Mappings by list of mappings[].target values",
            "style": "form",
            "explode": false
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "originId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Mappings by list of originId",
            "style": "form",
            "explode": false
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Mappings created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many mappings"
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Mappings created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Mappings updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Mappings updated before this date-time"
          },
          {
            "name": "uuid",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Mappings by list of UUIDs",
            "style": "form",
            "explode": false
          },
          {
            "name": "visibility",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ConnectorVisibility"
              }
            },
            "description": "Retrieve mappings by computed visibility",
            "style": "form",
            "explode": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MappingsListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/MappingsListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/MappingsListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MappingsListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/MappingsListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/MappingsListError"
                }
              }
            }
          }
        }
      }
    },
    "/mappings/{MappingId}": {
      "get": {
        "tags": [
          "Mappings"
        ],
        "summary": "Fetch Mapping",
        "operationId": "fetchMapping",
        "parameters": [
          {
            "name": "MappingId",
            "in": "path",
            "description": "ID or `uuid:{uuid}` of mapping to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "merge",
            "in": "query",
            "description": "Mapping merge mode",
            "schema": {
              "$ref": "#/components/schemas/MappingsMergeMode",
              "description": "Merge mapping mode"
            }
          },
          {
            "name": "version",
            "in": "query",
            "description": "ID of mapping rules version to retrieve",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MappingFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/MappingFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/MappingFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MappingFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/MappingFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/MappingFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Mappings"
        ],
        "summary": "Update Mapping",
        "description": "Uniqueness constraints:\n- mapping.uuid\n",
        "operationId": "updateMapping",
        "parameters": [
          {
            "name": "MappingId",
            "in": "path",
            "description": "ID or `uuid:{uuid}` of mapping to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MappingUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/MappingUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/MappingUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MappingUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/MappingUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/MappingUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MappingUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/MappingUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/MappingUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/fulfillments": {
      "post": {
        "tags": [
          "Fulfillments"
        ],
        "summary": "Create Fulfillments",
        "description": "Uniqueness constraints within organization:\n- fulfillment.extFulfillmentId (when defined)\n",
        "operationId": "createFulfillments",
        "parameters": [
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FulfillmentsCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/FulfillmentsCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/FulfillmentsCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentsCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentsCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentsCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentsCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentsCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentsCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Fulfillments"
        ],
        "summary": "List Fulfillments",
        "operationId": "listFulfillments",
        "parameters": [
          {
            "name": "acknowledgedBy",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fulfillments by list of acknowledged integrations",
            "style": "form",
            "explode": false
          },
          {
            "name": "autoEngUpdateStatus",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/AutoEngUpdateStatus"
              }
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many fulfillments"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Soft deleted fulfillments"
          },
          {
            "name": "exceptionCategoryId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fulfillments by list of categories of the fulfillment related exceptions",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fulfillments by list of types of the fulfillment related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)",
            "style": "form",
            "explode": false
          },
          {
            "name": "extFulfillmentId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fulfillments by list of extFulfillmentId",
            "style": "form",
            "explode": false
          },
          {
            "name": "extOrderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fulfillments by list of extOrderId",
            "style": "form",
            "explode": false
          },
          {
            "name": "extShipmentId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fulfillments by list of extShipmentId",
            "style": "form",
            "explode": false
          },
          {
            "name": "fulfillmentId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fulfillments by list of fulfillmentId",
            "style": "form",
            "explode": false
          },
          {
            "name": "fulfillmentType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/FulfillmentType"
              }
            },
            "description": "Fulfillments by list of fulfillment types",
            "style": "form",
            "explode": false
          },
          {
            "name": "groupId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fulfillments by list of groupId",
            "style": "form",
            "explode": false
          },
          {
            "name": "hasSourceDoc",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Fulfillments containing a source document"
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fulfillments by list of integrationId",
            "style": "form",
            "explode": false
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "fulfillmentId,fulfillmentType,shipmentId,extOrderId,actualShipDate,priority,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fulfillments by list of locationId",
            "style": "form",
            "explode": false
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "orderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fulfillments by list of orderId",
            "style": "form",
            "explode": false
          },
          {
            "name": "orderIntegration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fulfillments by list of order integrationId",
            "style": "form",
            "explode": false
          },
          {
            "name": "orderIntegrationAcknowledged",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Fulfillments by order integration acknowledgement"
          },
          {
            "name": "orderSource",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fulfillments by list of order sources",
            "style": "form",
            "explode": false
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "priority",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Priority"
              }
            },
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "name": "shipmentId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fulfillments by list of shipmentId",
            "style": "form",
            "explode": false
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch all fulfillments created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many fulfillments"
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch all fulfillments created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch all fulfillments updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch all fulfillments updated before this date-time"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentsListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentsListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentsListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentsListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentsListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentsListError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Fulfillments"
        ],
        "summary": "Delete Multiple Fulfillments",
        "operationId": "deleteFulfillments",
        "parameters": [
          {
            "name": "action",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ListDeleteAction"
            },
            "description": "Return the list of what to delete, or delete softly"
          },
          {
            "name": "autoEngUpdateStatus",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/AutoEngUpdateStatus"
              }
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Delete at most this many fulfillments"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Soft deleted fulfillments"
          },
          {
            "name": "extOrderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete fulfillments by list of extShipmentId",
            "style": "form",
            "explode": false
          },
          {
            "name": "extShipmentId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete fulfillments by list of extShipmentId",
            "style": "form",
            "explode": false
          },
          {
            "name": "fulfillmentId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete fulfillments by list of fulfillmentId",
            "style": "form",
            "explode": false
          },
          {
            "name": "groupId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete fulfillments by list of groupId",
            "style": "form",
            "explode": false
          },
          {
            "name": "orgMode",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OrganizationMode"
              }
            },
            "description": "Delete fulfillments assigned these orgModes.",
            "style": "form",
            "explode": false
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "shipmentId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete fulfillments by list of shipmentId",
            "style": "form",
            "explode": false
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete all fulfillments created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many fulfillments"
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete all fulfillments created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete all fulfillments updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete all fulfillments updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentsDeleteResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentsDeleteResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentsDeleteResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentsDeleteError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentsDeleteError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentsDeleteError"
                }
              }
            }
          }
        }
      }
    },
    "/fulfillments/{FulfillmentId}": {
      "delete": {
        "tags": [
          "Fulfillments"
        ],
        "summary": "Delete Fulfillment",
        "operationId": "deleteFulfillment",
        "parameters": [
          {
            "name": "FulfillmentId",
            "in": "path",
            "description": "Id or `ext:{extFulfillmentId}` of fulfillment to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Fulfillments"
        ],
        "summary": "Fetch Fulfillment",
        "operationId": "fetchFulfillment",
        "parameters": [
          {
            "name": "FulfillmentId",
            "in": "path",
            "description": "Id or `ext:{extFulfillmentId}` of fulfillment to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "name": "sourceDocVersion",
            "in": "query",
            "description": "Fetch specific vendor source doc version if available",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          },
          {
            "name": "withSourceDoc",
            "in": "query",
            "description": "Include vendor source doc if available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withSourceDocVersions",
            "in": "query",
            "description": "Include available vendor source doc versions",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withTimeline",
            "in": "query",
            "description": "Include timeline of updates when available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentFetchError"
                }
              }
            }
          }
        }
      }
    },
    "/fulfillments/{FulfillmentId}/acknowledge": {
      "post": {
        "tags": [
          "Fulfillments"
        ],
        "summary": "Acknowledge Fulfillments",
        "description": "Acknowledges delivery of fulfillment information by integration",
        "operationId": "acknowledgeFulfillments",
        "parameters": [
          {
            "name": "FulfillmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Id or `ext:{extFulfillmentId}` of fulfillment to acknowledge"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FulfillmentAcknowledgeRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/FulfillmentAcknowledgeRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/FulfillmentAcknowledgeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentAcknowledgeResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentAcknowledgeResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentAcknowledgeResponse"
                }
              },
              "text/csv": {}
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentAcknowledgeError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentAcknowledgeError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/FulfillmentAcknowledgeError"
                }
              },
              "text/csv": {}
            }
          }
        }
      }
    },
    "/fulfillments/{FulfillmentId}/sync": {
      "post": {
        "tags": [
          "Fulfillments"
        ],
        "summary": "Sync Fulfillments",
        "description": "Trigger the fulfillments sync",
        "operationId": "syncFulfillments",
        "parameters": [
          {
            "name": "FulfillmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FulfillmentSyncRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/FulfillmentSyncRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/FulfillmentSyncRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/csv": {}
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/csv": {}
            }
          }
        }
      }
    },
    "/schedules": {
      "post": {
        "tags": [
          "Schedules"
        ],
        "summary": "Create Schedule",
        "description": "Create a Schedule that describes recurring weekly windows of coverage.\nUniqueness constraints within organization:\n- schedule.name (case-sensitive, after trimming)\n",
        "operationId": "createSchedule",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScheduleCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ScheduleCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/ScheduleCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduleCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduleCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduleCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduleCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduleCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduleCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Schedules"
        ],
        "summary": "List Schedules",
        "operationId": "listSchedules",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many schedules"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Retrieve soft deleted schedules"
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "scheduleId,name,timezone,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Retrieve schedules by name (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "scheduleId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of scheduleId",
            "style": "form",
            "explode": false
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Schedules created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many schedules"
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Schedules created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Schedules updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Schedules updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SchedulesListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SchedulesListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SchedulesListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SchedulesListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SchedulesListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SchedulesListError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Schedules"
        ],
        "summary": "Delete Multiple Schedules",
        "operationId": "deleteSchedules",
        "parameters": [
          {
            "name": "action",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ListDeleteAction"
            },
            "description": "Return the list of what to delete, or delete softly"
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Delete at most this many schedules"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Delete soft deleted schedules"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "scheduleId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete schedules by list of scheduleId",
            "style": "form",
            "explode": false
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete schedules created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many schedules"
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete schedules created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete schedules updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete schedules updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SchedulesDeleteResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SchedulesDeleteResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SchedulesDeleteResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SchedulesDeleteError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SchedulesDeleteError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SchedulesDeleteError"
                }
              }
            }
          }
        }
      }
    },
    "/schedules/{ScheduleId}": {
      "delete": {
        "tags": [
          "Schedules"
        ],
        "summary": "Delete Schedule",
        "operationId": "deleteSchedule",
        "parameters": [
          {
            "name": "ScheduleId",
            "in": "path",
            "description": "Schedule ID to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Schedules"
        ],
        "summary": "Fetch Schedule",
        "operationId": "fetchSchedule",
        "parameters": [
          {
            "name": "ScheduleId",
            "in": "path",
            "description": "Schedule ID to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduleFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduleFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduleFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduleFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduleFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduleFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Schedules"
        ],
        "summary": "Update Schedule",
        "description": "Uniqueness constraints within organization:\n- schedule.name (case-sensitive, after trimming)\n",
        "operationId": "updateSchedule",
        "parameters": [
          {
            "name": "ScheduleId",
            "in": "path",
            "description": "Schedule ID to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScheduleUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ScheduleUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/ScheduleUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduleUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduleUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduleUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduleUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduleUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduleUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/schedules/{ScheduleId}/locations": {
      "get": {
        "tags": [
          "Schedules"
        ],
        "summary": "List Locations referencing this Schedule",
        "description": "Returns Locations in the same organization that reference the given\nSchedule via `fulfillmentHoursScheduleId`,\n`carrierPickupCutoffScheduleId`, or\n`locationCarrierServiceConfigs[].carrierPickupCutoffScheduleId`. Used\nby clients before deleting a schedule (deletion is blocked while any\nLocation references it).\n",
        "operationId": "listScheduleLocations",
        "parameters": [
          {
            "name": "ScheduleId",
            "in": "path",
            "description": "Schedule ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduleLocationsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduleLocationsResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduleLocationsResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/schedules/{ScheduleId}/resolved-exceptions": {
      "get": {
        "tags": [
          "Schedules"
        ],
        "summary": "Resolve a Schedule's exceptions over a date range",
        "description": "Expands the schedule's stored `scheduleExceptions` into concrete dated\nentries over the inclusive `[from, to]` calendar range: `holiday` symbols\nare resolved to their observed dates, one-off `date` entries are filtered\nto the range, and an explicit `date` takes precedence over a `holiday`\nthat resolves to the same day (the suppressed source is reported in\n`overrides`). Results are timezone-independent calendar dates; the\nconsumer applies the schedule's timezone (or its own, for a templated\nschedule) when merging a resolved date with windows.\n\nUnlike `fetchSchedule`, this endpoint's response is unconditional — it\nalways returns `resolvedScheduleExceptions`. Both `from` and `to` are\nrequired; the range must be well-formed (`to` on or after `from`) and at\nmost 5 years wide.\n",
        "operationId": "resolveScheduleExceptions",
        "parameters": [
          {
            "name": "ScheduleId",
            "in": "path",
            "description": "Schedule ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": true,
            "description": "Start of the inclusive resolution range, ISO `YYYY-MM-DD`.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": true,
            "description": "End of the inclusive resolution range, ISO `YYYY-MM-DD`.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduleResolvedExceptionsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduleResolvedExceptionsResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ScheduleResolvedExceptionsResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/shipping_requests": {
      "post": {
        "tags": [
          "Shipping Requests"
        ],
        "summary": "Create Shipping Requests",
        "description": "Uniqueness constraints within organization:\n- shipment.extShipmentId (when defined)\n- shipment.extReferenceId, shipment.fulfillmentIntegrationId (when extReferenceId defined)\n",
        "operationId": "createShipments",
        "parameters": [
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ShipmentsCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ShipmentsCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/ShipmentsCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentsCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentsCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentsCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentsCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentsCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentsCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Shipping Requests"
        ],
        "summary": "List Shipping Requests",
        "operationId": "listShipments",
        "parameters": [
          {
            "name": "autoEngUpdateStatus",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/AutoEngUpdateStatus"
              }
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "autoEngUpdateStatusUpdatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch all shipping requests with autoEngUpdateStatus updated after this date-time"
          },
          {
            "name": "autoEngUpdateStatusUpdatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch all shipping requests with autoEngUpdateStatus updated before this date-time"
          },
          {
            "name": "cancellationStatus",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ShipmentCancellationStatus"
              }
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many shipping requests"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Soft deleted shipping requests"
          },
          {
            "name": "emailAddr",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Shipping requests by list of shippingAddress.email",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionCategoryId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Shipping requests by list of categories of the request related exceptions",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Shipping requests by list of types of the request related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)",
            "style": "form",
            "explode": false
          },
          {
            "name": "extOrderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Shipping requests by list of External Order Ids",
            "style": "form",
            "explode": false
          },
          {
            "name": "extReferenceId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Shipping requests by list of extReferenceId",
            "style": "form",
            "explode": false
          },
          {
            "name": "extShipmentId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Shipping requests by list of extShipmentId",
            "style": "form",
            "explode": false
          },
          {
            "name": "fulfillmentIntegrationId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Shipping requests by list of fulfillmentIntegrationId",
            "style": "form",
            "explode": false
          },
          {
            "name": "hasSourceDoc",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Shipping requests containing a source document"
          },
          {
            "name": "holdUntilSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch all shipping requests with holdUntil after or at this date-time. Rounded down to the nearest minute"
          },
          {
            "name": "holdUntilUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch all shipping requests with holdUntil before or at this date-time. Rounded down to the nearest minute"
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Shipping requests of these integrations",
            "style": "form",
            "explode": false
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "shipmentId,status,extShipmentId,extReferenceId,orderId,extOrderId,orderType,orderCreateTime,priority,shipByDate,expectedDeliveryDate,sentToFulfillmentAt,fulfilledAt,tags,createdAt,updatedAt,orgKey,version"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Shipping requests by list of locationId",
            "style": "form",
            "explode": false
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "orderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Shipping requests by list of Pipe17 Order Ids",
            "style": "form",
            "explode": false
          },
          {
            "name": "orderType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ShipmentOrderType"
              }
            },
            "description": "Shipping requests by list of order types",
            "style": "form",
            "explode": false
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "priority",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Priority"
              }
            },
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "name": "shipByDateSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch all shipping requests with shipByDate after or at this date-time"
          },
          {
            "name": "shipByDateUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch all shipping requests with shipByDate before or at this date-time"
          },
          {
            "name": "shipmentId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Shipping requests by list of shipmentId",
            "style": "form",
            "explode": false
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Shipping requests created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many shipping requests"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ShipmentStatus"
              }
            },
            "description": "Shipping requests by list of statuses",
            "style": "form",
            "explode": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Filter shipments by store ID",
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Shipping requests created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Shipping requests updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Shipping requests updated before this date-time"
          },
          {
            "name": "version",
            "in": "query",
            "schema": {
              "type": "number"
            },
            "description": "Shipping requests by version number"
          },
          {
            "name": "waveStatus",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ShipmentWaveStatus"
              }
            },
            "description": "Shipping requests by list of wave-driven pickup statuses",
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentsListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentsListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentsListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentsListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentsListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentsListError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Shipping Requests"
        ],
        "summary": "Delete Multiple Shipping Requests",
        "operationId": "deleteShipments",
        "parameters": [
          {
            "name": "action",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ListDeleteAction"
            },
            "description": "Return the list of what to delete, or delete softly"
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Delete at most this many shipping requests"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Soft deleted shipping requests"
          },
          {
            "name": "extOrderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Shipping requests by list of External Order Ids",
            "style": "form",
            "explode": false
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Shipping requests of these integrations",
            "style": "form",
            "explode": false
          },
          {
            "name": "orderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Shipping requests by list of Pipe17 Order Ids",
            "style": "form",
            "explode": false
          },
          {
            "name": "orderType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ShipmentOrderType"
              }
            },
            "description": "Shipping requests by list of order types",
            "style": "form",
            "explode": false
          },
          {
            "name": "orgMode",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OrganizationMode"
              }
            },
            "description": "Delete shipping requests assigned these orgModes.",
            "style": "form",
            "explode": false
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "shipmentId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Shipping requests by list of shipmentId",
            "style": "form",
            "explode": false
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Shipping requests created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many shipping requests"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ShipmentStatus"
              }
            },
            "description": "Shipping requests by list of statuses",
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Shipping requests created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Shipping requests updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Shipping requests updated before this date-time"
          },
          {
            "name": "version",
            "in": "query",
            "schema": {
              "type": "number"
            },
            "description": "Shipping requests by version number"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentsDeleteResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentsDeleteResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentsDeleteResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentsDeleteError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentsDeleteError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentsDeleteError"
                }
              }
            }
          }
        }
      }
    },
    "/shipping_requests/{ShipmentId}": {
      "delete": {
        "tags": [
          "Shipping Requests"
        ],
        "summary": "Delete Shipping Request",
        "operationId": "deleteShipment",
        "parameters": [
          {
            "name": "ShipmentId",
            "in": "path",
            "description": "Id, `ext:{extShipmentId}`, or `ref:{extReferenceId}` of shipping request to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nested",
            "in": "query",
            "description": "Delete nested entities",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Shipping Requests"
        ],
        "summary": "Fetch Shipping Request",
        "operationId": "fetchShipment",
        "parameters": [
          {
            "name": "ShipmentId",
            "in": "path",
            "description": "Id, `ext:{extShipmentId}`, or `ref:{extReferenceId}` of shipping request to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "name": "sourceDocVersion",
            "in": "query",
            "description": "Fetch specific vendor source doc version if available",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          },
          {
            "name": "withSourceDoc",
            "in": "query",
            "description": "Include vendor source doc if available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withSourceDocVersions",
            "in": "query",
            "description": "Include available vendor source doc versions",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withTimeline",
            "in": "query",
            "description": "Include timeline of updates when available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Shipping Requests"
        ],
        "summary": "Update Shipping Request",
        "description": "Uniqueness constraints within organization:\n- shipment.extShipmentId (when defined)\n- shipment.extReferenceId, shipment.fulfillmentIntegrationId (when extReferenceId defined)\n",
        "operationId": "updateShipment",
        "parameters": [
          {
            "name": "ShipmentId",
            "in": "path",
            "description": "Shipping Request Id to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ShipmentUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ShipmentUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/ShipmentUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/shipping_requests/{ShipmentId}/sync": {
      "post": {
        "tags": [
          "Shipping Requests"
        ],
        "summary": "Sync Shipping Requests",
        "description": "Trigger the shipping requests sync",
        "operationId": "syncShipments",
        "parameters": [
          {
            "name": "ShipmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ShipmentSyncRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ShipmentSyncRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/ShipmentSyncRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/csv": {}
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/csv": {}
            }
          }
        }
      }
    },
    "/shipping_requests/{ShipmentId}/reject": {
      "post": {
        "tags": [
          "Shipping Requests"
        ],
        "summary": "Reject shipping request",
        "description": "Auto-creates rejected Fulfillment for specified SR\n",
        "operationId": "rejectShipment",
        "parameters": [
          {
            "name": "ShipmentId",
            "in": "path",
            "description": "Shipment ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ShipmentRejectRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentRejectResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/shipping_requests/{ShipmentId}/update-pick-status": {
      "put": {
        "tags": [
          "Shipping Requests"
        ],
        "summary": "Update Shipment Pick Status",
        "description": "Update the pickStatus of a shipment with state machine validation.\nValid transitions depend on orderSourceType.\n",
        "operationId": "updateShipmentPickStatus",
        "parameters": [
          {
            "name": "ShipmentId",
            "in": "path",
            "description": "Shipment ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePickStatusRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdatePickStatusResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdatePickStatusError"
                }
              }
            }
          }
        }
      }
    },
    "/shipping_requests/{ShipmentId}/complete-pickup": {
      "post": {
        "tags": [
          "Shipping Requests"
        ],
        "summary": "Complete Pickup Handoff",
        "description": "Complete a BOPIS or curbside pickup handoff. Transitions pickStatus to 'shipped'\nand records pickup verification details.\n",
        "operationId": "completePickup",
        "parameters": [
          {
            "name": "ShipmentId",
            "in": "path",
            "description": "Shipment ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompletePickupRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompletePickupResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/shipping_requests/{ShipmentId}/complete-shipment": {
      "post": {
        "tags": [
          "Shipping Requests"
        ],
        "summary": "Complete Ship-from-Store Handoff",
        "description": "Complete a ship-from-store handoff. Transitions pickStatus to 'shipped'\nand records carrier and tracking information.\n",
        "operationId": "completeShipment",
        "parameters": [
          {
            "name": "ShipmentId",
            "in": "path",
            "description": "Shipment ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteShipmentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompleteShipmentResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/shipping_requests/{ShipmentId}/assign-tote": {
      "put": {
        "tags": [
          "Shipping Requests"
        ],
        "summary": "Assign Tote to Shipment",
        "description": "Assign a tote identifier and optional staging location to a shipment.\n",
        "operationId": "assignToteToShipment",
        "parameters": [
          {
            "name": "ShipmentId",
            "in": "path",
            "description": "Shipment ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignToteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssignToteResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/shipping_requests/{ShipmentId}/purchase-label": {
      "post": {
        "tags": [
          "Shipping Requests"
        ],
        "summary": "Purchase Shipping Label",
        "description": "Purchase a carrier shipping label for a ship-from-store shipment.\nReturns label URL and tracking number.\n",
        "operationId": "purchaseShippingLabel",
        "parameters": [
          {
            "name": "ShipmentId",
            "in": "path",
            "description": "Shipment ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PurchaseLabelRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PurchaseLabelResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/shipping_requests/{ShipmentId}/request-labels": {
      "post": {
        "tags": [
          "Shipping Requests"
        ],
        "summary": "Request Shipping Labels",
        "description": "Generate shipping labels for a shipping request by invoking the\nconfigured label connector (e.g., EasyPost, FedEx). Returns one label\nper carton, each with an absolute download URL, its tracking number,\nand the carrier and service level actually purchased.\n\nRetrying with the same extLabelId set returns the existing labels with\n200. A refunded extLabelId cannot be reused, so a retry naming one\nanswers 409 with `conflict.refundedExtLabelIds`: buy again with fresh\nextLabelIds. Refusals: 409 when only some of the extLabelIds already have\nlabels, when the shipment already carries labels for a different set,\nwhen its status is not labelable, when no connected label connector\nintegration can be resolved for the organization, or when the named\nlabelIntegrationId exists but is not connected; 400 for an invalid body,\nor a labelIntegrationId that matches no integration at all.\n\nA 409 describes the conflicting state in `conflict`: `labels` (the\nlabels the shipment already holds, same shape as the 200 `labels`) when\nit is already labelled, `existingExtLabelIds` when only some of the\nrequested extLabelIds are already claimed, `refundedExtLabelIds` when a\nrequested extLabelId belongs to a refunded label and cannot be reused.\n",
        "operationId": "requestShippingLabels",
        "parameters": [
          {
            "name": "ShipmentId",
            "in": "path",
            "description": "Shipment ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestLabelsBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestLabelsResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/shipping_requests/{ShipmentId}/get-rates": {
      "post": {
        "tags": [
          "Shipping Requests"
        ],
        "summary": "Get Shipping Rates",
        "description": "Rate-shop a shipping request: return the available carrier/service\noptions and their costs for each carton by invoking the configured\nlabel connector (e.g., EasyPost). Read-only — no label is purchased\nand no entity is persisted. The caller picks a rate and passes the\nreturned extShipmentId + rateId per carton to /request-labels to buy.\n\nRefusals: 409 when no connected label connector integration can be\nresolved for the organization, or when the named labelIntegrationId\nexists but is not connected; 400 for an invalid body, or a\nlabelIntegrationId that matches no integration at all.\n",
        "operationId": "getShippingRates",
        "parameters": [
          {
            "name": "ShipmentId",
            "in": "path",
            "description": "Shipment ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GetRatesBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetRatesResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/shipping_requests/{ShipmentId}/cancel-label": {
      "post": {
        "tags": [
          "Shipping Requests"
        ],
        "summary": "Cancel Shipping Label",
        "description": "Refund a purchased label with the carrier and remove it from the shipment.\n\nRefusals: 409 when the label is not in a cancellable state, when its\nrefund is already finalized, or when neither the label nor the shipment\nreferences a labeling integration that is still connected.\n",
        "operationId": "cancelShippingLabel",
        "parameters": [
          {
            "name": "ShipmentId",
            "in": "path",
            "description": "Shipment ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelLabelBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CancelLabelResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/shipment_boxes": {
      "post": {
        "tags": [
          "Shipment Boxes"
        ],
        "summary": "Create Shipment Box",
        "description": "Uniqueness constraints within organization:\n- box.extBoxId\n",
        "operationId": "createShipmentBox",
        "parameters": [
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ShipmentBoxCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ShipmentBoxCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/ShipmentBoxCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentBoxCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentBoxCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentBoxCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentBoxCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentBoxCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentBoxCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Shipment Boxes"
        ],
        "summary": "List Shipment Boxes",
        "operationId": "listShipmentBoxes",
        "parameters": [
          {
            "name": "boxId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of boxId",
            "style": "form",
            "explode": false
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many shipment boxes"
          },
          {
            "name": "exceptionCategoryId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of categories of the box related exceptions",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of types of the box related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)",
            "style": "form",
            "explode": false
          },
          {
            "name": "extBoxId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of extBoxId",
            "style": "form",
            "explode": false
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "boxId,extBoxId,shipmentId,createdAt,updatedAt,orgKey,status"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "name": "shipmentId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of shipmentId",
            "style": "form",
            "explode": false
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Shipment boxes created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many shipment boxes"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ShipmentBoxStatus"
              }
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Shipment boxes created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Shipment boxes updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Shipment boxes updated before this date-time"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentBoxesListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentBoxesListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentBoxesListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentBoxesListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentBoxesListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentBoxesListError"
                }
              }
            }
          }
        }
      }
    },
    "/shipment_boxes/{BoxId}": {
      "delete": {
        "tags": [
          "Shipment Boxes"
        ],
        "summary": "Delete Shipment Box",
        "operationId": "deleteShipmentBox",
        "parameters": [
          {
            "name": "BoxId",
            "in": "path",
            "description": "Box Id to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Shipment Boxes"
        ],
        "summary": "Fetch Shipment Box",
        "operationId": "fetchShipmentBox",
        "parameters": [
          {
            "name": "BoxId",
            "in": "path",
            "description": "Box Id to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentBoxFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentBoxFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentBoxFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentBoxFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentBoxFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentBoxFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Shipment Boxes"
        ],
        "summary": "Update Shipment Box",
        "description": "Uniqueness constraints within organization:\n- box.name, box.integration\n",
        "operationId": "updateShipmentBox",
        "parameters": [
          {
            "name": "BoxId",
            "in": "path",
            "description": "Box Id to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ShipmentBoxUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ShipmentBoxUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/ShipmentBoxUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentBoxUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentBoxUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentBoxUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentBoxUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentBoxUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentBoxUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/shipment_boxes/{BoxId}/sync": {
      "post": {
        "tags": [
          "Shipment Boxes"
        ],
        "summary": "Sync Shipment Boxes",
        "description": "Trigger the shipment boxes sync",
        "operationId": "syncShipmentBoxes",
        "parameters": [
          {
            "name": "BoxId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "object"
              }
            },
            "text/xml": {
              "schema": {
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/csv": {}
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/csv": {}
            }
          }
        }
      }
    },
    "/shipping_methods": {
      "post": {
        "tags": [
          "Shipping Methods"
        ],
        "summary": "Create Shipping Method",
        "description": "Uniqueness constraints within organization:\n- method.source, method.shippingCarrier, method.shippingService, method.shippingCode\n",
        "operationId": "createShippingMethod",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ShippingMethodCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ShippingMethodCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/ShippingMethodCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Shipping Methods"
        ],
        "summary": "List Shipping Methods",
        "operationId": "listShippingMethods",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many shipping methods"
          },
          {
            "name": "isDefault",
            "in": "query",
            "schema": {
              "type": "boolean",
              "description": "Shipping method default flag"
            }
          },
          {
            "name": "isPassthrough",
            "in": "query",
            "schema": {
              "type": "boolean",
              "description": "Shipping method passthrough flag"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "methodId,name,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "mappedMethodId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Mapped shipping method Ids"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "methodId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of methodId",
            "style": "form",
            "explode": false
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "shippingCarrier",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of shipping carriers",
            "style": "form",
            "explode": false
          },
          {
            "name": "shippingCode",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of shipping codes",
            "style": "form",
            "explode": false
          },
          {
            "name": "shippingService",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of shipping services",
            "style": "form",
            "explode": false
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Shipping Methods created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many shipping methods"
          },
          {
            "name": "sourceIntegrationId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Shipping method source IntegrationIds"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "sourceType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ShippingMethodSourceType"
              },
              "description": "Shipping method source types"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ShippingMethodStatus"
              },
              "description": "Shipping method statuses"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Shipping Methods created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Shipping Methods updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Shipping Methods updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodsListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodsListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodsListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodsListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodsListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodsListError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Shipping Methods"
        ],
        "summary": "Delete Multiple Shipping Methods",
        "operationId": "deleteShippingMethods",
        "parameters": [
          {
            "name": "action",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ListDeleteAction"
            },
            "description": "Return the list of what to delete, or delete softly"
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Delete at most this many shipping methods"
          },
          {
            "name": "methodId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete shipping methods by list of methodId",
            "style": "form",
            "explode": false
          },
          {
            "name": "orgMode",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OrganizationMode"
              }
            },
            "description": "Delete shipping methods assigned these orgModes.",
            "style": "form",
            "explode": false
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete shipping methods created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many shipping methods"
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete shipping methods created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete shipping methods updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete shipping methods updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodsDeleteResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodsDeleteResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodsDeleteResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodsDeleteError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodsDeleteError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodsDeleteError"
                }
              }
            }
          }
        }
      }
    },
    "/shipping_methods/{MethodId}": {
      "delete": {
        "tags": [
          "Shipping Methods"
        ],
        "summary": "Delete Shipping Method",
        "operationId": "deleteShippingMethod",
        "parameters": [
          {
            "name": "MethodId",
            "in": "path",
            "description": "Id or `ext:{extMethodId}` of shipping method to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Shipping Methods"
        ],
        "summary": "Fetch Shipping Method",
        "operationId": "fetchShippingMethod",
        "parameters": [
          {
            "name": "MethodId",
            "in": "path",
            "description": "Id or `ext:{extMethodId}` of shipping method to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Shipping Methods"
        ],
        "summary": "Update Shipping Method",
        "description": "Uniqueness constraints within organization:\n- method.source, method.shippingCarrier, method.shippingService, method.shippingCode\n",
        "operationId": "updateShippingMethod",
        "parameters": [
          {
            "name": "MethodId",
            "in": "path",
            "description": "Id or `ext:{extMethodId}` of shipping method to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ShippingMethodUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ShippingMethodUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/ShippingMethodUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingMethodUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/shipping_methods/{MethodId}/sync": {
      "post": {
        "tags": [
          "Shipping Methods"
        ],
        "summary": "Sync Shipping Methods",
        "description": "Trigger the shipping methods sync",
        "operationId": "syncShippingMethods",
        "parameters": [
          {
            "name": "MethodId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "object"
              }
            },
            "text/xml": {
              "schema": {
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/csv": {}
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/csv": {}
            }
          }
        }
      }
    },
    "/stores": {
      "post": {
        "tags": [
          "Stores"
        ],
        "summary": "Create Store",
        "description": "Uniqueness constraints within organization:\n- store.name\n",
        "operationId": "createStore",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StoreCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/StoreCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/StoreCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoreCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StoreCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StoreCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoreCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StoreCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StoreCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Stores"
        ],
        "summary": "List Stores",
        "operationId": "listStores",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many stores"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Retrieve soft deleted stores"
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "storeId,status,name,address,operationalSettings,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Retrieve stores by name (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Stores created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many stores"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/StoreStatus"
              }
            },
            "description": "Retrieve by list of store statuses",
            "style": "form",
            "explode": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of storeId",
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Stores created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Stores updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Stores updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoresListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StoresListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StoresListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoresListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StoresListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StoresListError"
                }
              }
            }
          }
        }
      }
    },
    "/stores/{StoreId}": {
      "delete": {
        "tags": [
          "Stores"
        ],
        "summary": "Delete Store",
        "operationId": "deleteStore",
        "parameters": [
          {
            "name": "StoreId",
            "in": "path",
            "description": "Store ID to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Stores"
        ],
        "summary": "Fetch Store",
        "operationId": "fetchStore",
        "parameters": [
          {
            "name": "StoreId",
            "in": "path",
            "description": "Store ID to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoreFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StoreFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StoreFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoreFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StoreFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StoreFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Stores"
        ],
        "summary": "Update Store",
        "description": "Uniqueness constraints within organization:\n- store.name\n",
        "operationId": "updateStore",
        "parameters": [
          {
            "name": "StoreId",
            "in": "path",
            "description": "Store ID to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StoreUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/StoreUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/StoreUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoreUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StoreUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StoreUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoreUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StoreUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StoreUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/stores/{StoreId}/locations": {
      "get": {
        "tags": [
          "Stores"
        ],
        "summary": "List Store Locations",
        "description": "Retrieve all locations associated with a store",
        "operationId": "listStoreLocations",
        "parameters": [
          {
            "name": "StoreId",
            "in": "path",
            "description": "Store ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many locations"
          },
          {
            "name": "locationType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Filter locations by type",
            "style": "form",
            "explode": false
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many locations"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoreLocationsResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StoreLocationsResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/StoreLocationsResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/waves": {
      "post": {
        "tags": [
          "Waves"
        ],
        "summary": "Create Wave",
        "description": "Create a wave for grouping shipment requests for fulfillment\n",
        "operationId": "createWave",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WaveCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/WaveCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/WaveCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WaveCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WaveCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WaveCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WaveCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WaveCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WaveCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Waves"
        ],
        "summary": "List Waves",
        "operationId": "listWaves",
        "parameters": [
          {
            "name": "assignedTo",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Filter waves by assigned user ID"
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many waves"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Retrieve soft deleted waves"
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "waveId,storeId,type,status,priority,assignedTo,lastWorkedBy,shipmentCount,itemCount,slaDeadline,shipmentIds,holdingLocations,releasedAt,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Sort by these top-level fields. When omitted, waves are returned by `slaDeadline` ascending (soonest deadline first), with waves that have no `slaDeadline` after all waves that have one."
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "priority",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/WavePriority"
              }
            },
            "description": "Retrieve by list of wave priorities",
            "style": "form",
            "explode": false
          },
          {
            "name": "shipmentIds",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve waves containing any of these shipment request IDs",
            "style": "form",
            "explode": false
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Waves created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many waves"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/WaveStatus"
              }
            },
            "description": "Retrieve by list of wave statuses",
            "style": "form",
            "explode": false
          },
          {
            "name": "storeId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Filter waves by store ID"
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/WaveType"
              }
            },
            "description": "Retrieve by list of wave types",
            "style": "form",
            "explode": false
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Waves created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Waves updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Waves updated before this date-time"
          },
          {
            "name": "waveId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of waveId",
            "style": "form",
            "explode": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WavesListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WavesListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WavesListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WavesListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WavesListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WavesListError"
                }
              }
            }
          }
        }
      }
    },
    "/waves/{WaveId}": {
      "delete": {
        "tags": [
          "Waves"
        ],
        "summary": "Delete Wave",
        "operationId": "deleteWave",
        "parameters": [
          {
            "name": "WaveId",
            "in": "path",
            "description": "Wave ID to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Waves"
        ],
        "summary": "Fetch Wave",
        "operationId": "fetchWave",
        "parameters": [
          {
            "name": "WaveId",
            "in": "path",
            "description": "Wave ID to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WaveFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WaveFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WaveFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WaveFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WaveFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WaveFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Waves"
        ],
        "summary": "Update Wave",
        "operationId": "updateWave",
        "parameters": [
          {
            "name": "WaveId",
            "in": "path",
            "description": "Wave ID to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WaveUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/WaveUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/WaveUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WaveUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WaveUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WaveUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WaveUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WaveUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WaveUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/waves/{WaveId}/claim": {
      "post": {
        "tags": [
          "Waves"
        ],
        "summary": "Claim Wave",
        "description": "Assign a wave to a user and set status to in_progress",
        "operationId": "claimWave",
        "parameters": [
          {
            "name": "WaveId",
            "in": "path",
            "description": "Wave ID to claim",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WaveClaimRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/WaveClaimRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/WaveClaimRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WaveClaimResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WaveClaimResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WaveClaimResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/waves/{WaveId}/complete": {
      "post": {
        "tags": [
          "Waves"
        ],
        "summary": "Complete Wave",
        "description": "Mark a wave as completed",
        "operationId": "completeWave",
        "parameters": [
          {
            "name": "WaveId",
            "in": "path",
            "description": "Wave ID to complete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WaveCompleteResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WaveCompleteResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WaveCompleteResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/waves/{WaveId}/pause": {
      "post": {
        "tags": [
          "Waves"
        ],
        "summary": "Pause Wave",
        "description": "Pause a wave that is in progress",
        "operationId": "pauseWave",
        "parameters": [
          {
            "name": "WaveId",
            "in": "path",
            "description": "Wave ID to pause",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WavePauseResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WavePauseResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WavePauseResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/waves/{WaveId}/resume": {
      "post": {
        "tags": [
          "Waves"
        ],
        "summary": "Resume Wave",
        "description": "Resume a paused wave",
        "operationId": "resumeWave",
        "parameters": [
          {
            "name": "WaveId",
            "in": "path",
            "description": "Wave ID to resume",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WaveResumeResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WaveResumeResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WaveResumeResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/waves/{WaveId}/set-holding-location": {
      "put": {
        "tags": [
          "Waves"
        ],
        "summary": "Set Wave Holding Locations",
        "description": "Temporal holding locations set during pick-pack by store associate",
        "operationId": "setHoldingLocation",
        "parameters": [
          {
            "name": "WaveId",
            "in": "path",
            "description": "Wave ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetHoldingLocationRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/SetHoldingLocationRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/SetHoldingLocationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SetHoldingLocationResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SetHoldingLocationResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SetHoldingLocationResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/stores/{StoreId}/assign-shipment-to-wave": {
      "post": {
        "tags": [
          "Stores"
        ],
        "summary": "Assign Shipment to Wave",
        "description": "Assign a shipment request to a wave. If no suitable draft wave exists,\na new draft wave will be automatically created.\n",
        "operationId": "assignShipmentToWave",
        "parameters": [
          {
            "name": "StoreId",
            "in": "path",
            "description": "Store ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignShipmentToWaveRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/AssignShipmentToWaveRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/AssignShipmentToWaveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Shipment assigned to existing draft wave",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssignShipmentToWaveResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AssignShipmentToWaveResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AssignShipmentToWaveResponse"
                }
              }
            }
          },
          "201": {
            "description": "New wave created and shipment assigned",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssignShipmentToWaveResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AssignShipmentToWaveResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AssignShipmentToWaveResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/stores/{StoreId}/wave-metrics": {
      "get": {
        "tags": [
          "Stores"
        ],
        "summary": "Get Wave Metrics",
        "description": "Aggregate counts by status, type, SLA risk for a store",
        "operationId": "getWaveMetrics",
        "parameters": [
          {
            "name": "StoreId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WaveMetricsResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/stores/{StoreId}/search-shipments": {
      "get": {
        "tags": [
          "Stores"
        ],
        "summary": "Search Shipments",
        "description": "Search shipments by order number, customer info, or pickup code",
        "operationId": "searchShipments",
        "parameters": [
          {
            "name": "StoreId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Store ID to scope the search"
          },
          {
            "name": "locationId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Scope search to this location"
          },
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Search query (order number, customer name, phone, or pickup code)"
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 20
            }
          },
          {
            "name": "searchType",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "extOrderId",
                "customerName",
                "phone",
                "pickupCode"
              ]
            },
            "description": "Specific field to search (omit for general search)"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShipmentSearchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/stores/{StoreId}/batch-update-pick-status": {
      "put": {
        "tags": [
          "Stores"
        ],
        "summary": "Batch Update Shipment Pick Status",
        "description": "Update pickStatus for multiple shipments in a wave.\n",
        "operationId": "batchUpdateShipmentPickStatus",
        "parameters": [
          {
            "name": "StoreId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Store ID"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BatchUpdatePickStatusRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchUpdatePickStatusResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/suppliers": {
      "post": {
        "tags": [
          "Suppliers"
        ],
        "summary": "Create Supplier",
        "description": "Uniqueness constraints within organization:\n- supplier.name\n",
        "operationId": "createSupplier",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SupplierCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/SupplierCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/SupplierCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Suppliers"
        ],
        "summary": "List Suppliers",
        "operationId": "listSuppliers",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many suppliers"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Retrieve soft deleted suppliers"
          },
          {
            "name": "exceptionCategoryId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve suppliers by list of categories of the supplier related exceptions",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve suppliers by list of types of the supplier related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)",
            "style": "form",
            "explode": false
          },
          {
            "name": "hasSourceDoc",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Suppliers containing a source document"
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "supplierId,name,address,contacts,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Retrieve suppliers by name (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Suppliers created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many suppliers"
          },
          {
            "name": "supplierId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of supplierId",
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Suppliers created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Suppliers updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Suppliers updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuppliersListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SuppliersListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SuppliersListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuppliersListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SuppliersListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SuppliersListError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Suppliers"
        ],
        "summary": "Delete Multiple Suppliers",
        "operationId": "deleteSuppliers",
        "parameters": [
          {
            "name": "action",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ListDeleteAction"
            },
            "description": "Return the list of what to delete, or delete softly"
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Delete at most this many suppliers"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Delete soft deleted suppliers"
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Delete suppliers matching name string"
          },
          {
            "name": "orgMode",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OrganizationMode"
              }
            },
            "description": "Delete suppliers assigned these orgModes.",
            "style": "form",
            "explode": false
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete suppliers created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many suppliers"
          },
          {
            "name": "supplierId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete suppliers by list of supplierId",
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete suppliers created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete suppliers updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete suppliers updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuppliersDeleteResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SuppliersDeleteResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SuppliersDeleteResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuppliersDeleteError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SuppliersDeleteError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SuppliersDeleteError"
                }
              }
            }
          }
        }
      }
    },
    "/suppliers/{SupplierId}": {
      "delete": {
        "tags": [
          "Suppliers"
        ],
        "summary": "Delete Supplier",
        "operationId": "deleteSupplier",
        "parameters": [
          {
            "name": "SupplierId",
            "in": "path",
            "description": "Supplier ID to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Suppliers"
        ],
        "summary": "Fetch Supplier",
        "operationId": "fetchSupplier",
        "parameters": [
          {
            "name": "SupplierId",
            "in": "path",
            "description": "Supplier ID to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sourceDocVersion",
            "in": "query",
            "description": "Fetch specific vendor source doc version if available",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "withSourceDoc",
            "in": "query",
            "description": "Include vendor source doc if available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withSourceDocVersions",
            "in": "query",
            "description": "Include available vendor source doc versions",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Suppliers"
        ],
        "summary": "Update Supplier",
        "description": "Uniqueness constraints within organization:\n- supplier.name\n",
        "operationId": "updateSupplier",
        "parameters": [
          {
            "name": "SupplierId",
            "in": "path",
            "description": "Supplier ID to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SupplierUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/SupplierUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/SupplierUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/suppliers/{SupplierId}/sync": {
      "post": {
        "tags": [
          "Suppliers"
        ],
        "summary": "Sync Suppliers",
        "description": "Trigger the suppliers sync",
        "operationId": "syncSuppliers",
        "parameters": [
          {
            "name": "SupplierId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "object"
              }
            },
            "text/xml": {
              "schema": {
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/csv": {}
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/csv": {}
            }
          }
        }
      }
    },
    "/catalogs": {
      "post": {
        "tags": [
          "Catalogs"
        ],
        "summary": "Create Catalogs",
        "description": "Uniqueness constraints within organization:\n- catalog.extCatalogId, if the extCatalogId is defined\n",
        "operationId": "createCatalogs",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CatalogsCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/CatalogsCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/CatalogsCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogsCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogsCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogsCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogsCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogsCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogsCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Catalogs"
        ],
        "summary": "List Catalogs",
        "operationId": "listCatalogs",
        "parameters": [
          {
            "name": "catalogId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select catalogs by catalogId list",
            "style": "form",
            "explode": false
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many catalogs"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Select the soft deleted catalogs"
          },
          {
            "name": "exceptionCategoryId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select catalogs by list of categories of the catalog related exceptions",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select catalogs by list of types of the catalog related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)",
            "style": "form",
            "explode": false
          },
          {
            "name": "extCatalogId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select catalogs by extCatalogId list",
            "style": "form",
            "explode": false
          },
          {
            "name": "hasSourceDoc",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Select catalogs containing a source document"
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select catalogs of these integrations.",
            "style": "form",
            "explode": false
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "catalogId,extCatalogId,name,status,type,currency,priceRule,includeAll,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select catalogs by name list",
            "style": "form",
            "explode": false
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "-createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Select catalogs created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many catalogs"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/CatalogStatus"
              }
            },
            "description": "Select catalogs by status list",
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/CatalogType"
              }
            },
            "description": "Select catalogs by type list",
            "style": "form",
            "explode": false
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Select catalogs created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Select catalogs updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Select catalogs updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogsListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogsListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogsListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogsListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogsListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogsListError"
                }
              }
            }
          }
        }
      }
    },
    "/catalogs/{CatalogId}": {
      "delete": {
        "tags": [
          "Catalogs"
        ],
        "summary": "Delete Catalog",
        "operationId": "deleteCatalog",
        "parameters": [
          {
            "name": "CatalogId",
            "in": "path",
            "description": "Catalog Id to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Catalogs"
        ],
        "summary": "Fetch Catalog",
        "operationId": "fetchCatalog",
        "parameters": [
          {
            "name": "CatalogId",
            "in": "path",
            "description": "Catalog Id to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sourceDocVersion",
            "in": "query",
            "description": "Fetch specific vendor source doc version if available",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "withSourceDoc",
            "in": "query",
            "description": "Include vendor source doc if available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withSourceDocVersions",
            "in": "query",
            "description": "Include available vendor source doc versions",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Catalogs"
        ],
        "summary": "Update Catalog",
        "operationId": "updateCatalog",
        "parameters": [
          {
            "name": "CatalogId",
            "in": "path",
            "description": "Catalog Id to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CatalogUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/CatalogUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/CatalogUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/catalog_products": {
      "post": {
        "tags": [
          "Catalog Products"
        ],
        "summary": "Create Catalog Products",
        "description": "Uniqueness constraints within organization:\n- catalogProduct.catalogId, catalogProduct.sku\n",
        "operationId": "createCatalogProducts",
        "parameters": [
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CatalogProductsCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/CatalogProductsCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/CatalogProductsCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogProductsCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogProductsCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogProductsCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogProductsCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogProductsCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogProductsCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Catalog Products"
        ],
        "summary": "List Catalog Products",
        "operationId": "listCatalogProducts",
        "parameters": [
          {
            "name": "catalogId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select catalog products by catalogId list",
            "style": "form",
            "explode": false
          },
          {
            "name": "catalogProductId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select catalog products by catalogProductId list",
            "style": "form",
            "explode": false
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many catalog products"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Select the soft deleted catalog products"
          },
          {
            "name": "exceptionCategoryId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select catalog products by list of categories of the product related exceptions",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select catalog products by list of types of the product related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)",
            "style": "form",
            "explode": false
          },
          {
            "name": "hasSourceDoc",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Select catalog products containing a source document"
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select catalog products of these integrations.",
            "style": "form",
            "explode": false
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "catalogProductId,catalogId,sku,status,priceRule,quantityRule,volumePricing,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "-createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Select catalog products created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many catalog products"
          },
          {
            "name": "sku",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select catalog products by sku list",
            "style": "form",
            "explode": false
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/CatalogProductStatus"
              }
            },
            "description": "Select catalog products by status list",
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Select catalog products created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Select catalog products updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Select catalog products updated before this date-time"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogProductsListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogProductsListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogProductsListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogProductsListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogProductsListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogProductsListError"
                }
              }
            }
          }
        }
      }
    },
    "/catalog_products/{CatalogProductId}": {
      "delete": {
        "tags": [
          "Catalog Products"
        ],
        "summary": "Delete Catalog Product",
        "operationId": "deleteCatalogProduct",
        "parameters": [
          {
            "name": "CatalogProductId",
            "in": "path",
            "description": "Catalog Product Id to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Catalog Products"
        ],
        "summary": "Fetch Catalog Product",
        "operationId": "fetchCatalogProduct",
        "parameters": [
          {
            "name": "CatalogProductId",
            "in": "path",
            "description": "Catalog Product Id to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "name": "sourceDocVersion",
            "in": "query",
            "description": "Fetch specific vendor source doc version if available",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          },
          {
            "name": "withSourceDoc",
            "in": "query",
            "description": "Include vendor source doc if available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withSourceDocVersions",
            "in": "query",
            "description": "Include available vendor source doc versions",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogProductFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogProductFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogProductFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogProductFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogProductFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogProductFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Catalog Products"
        ],
        "summary": "Update Catalog Product",
        "operationId": "updateCatalogProduct",
        "parameters": [
          {
            "name": "CatalogProductId",
            "in": "path",
            "description": "Catalog Id to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          },
          {
            "$ref": "#/components/parameters/requestorId"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CatalogProductUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/CatalogProductUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/CatalogProductUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogProductUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogProductUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogProductUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogProductUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogProductUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/CatalogProductUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/payments": {
      "post": {
        "tags": [
          "Payments"
        ],
        "summary": "Create Payments",
        "description": "Uniqueness constraints within organization:\n- payment.orderId, payment.extPaymentId\n",
        "operationId": "createPayments",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentsCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/PaymentsCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/PaymentsCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentsCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentsCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentsCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentsCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentsCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentsCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Payments"
        ],
        "summary": "List Payments",
        "operationId": "listPayments",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many payments"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Select the soft deleted payments"
          },
          {
            "name": "extOrderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select payments by extOrderId list",
            "style": "form",
            "explode": false
          },
          {
            "name": "extPaymentId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select payments by extPaymentId list",
            "style": "form",
            "explode": false
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "orderId,extOrderId,paymentId,extPatmentId,paymentStatus,status,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "-createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "orderId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select payments by orderId list",
            "style": "form",
            "explode": false
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "paymentId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Select payments by paymentId list",
            "style": "form",
            "explode": false
          },
          {
            "name": "paymentStatus",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/PaymentTransactionStatus"
              }
            },
            "description": "Select payments by paymentStatus list",
            "style": "form",
            "explode": false
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Select payments created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many payments"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/PaymentStatus"
              }
            },
            "description": "Select payments by status list",
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/PaymentType"
              }
            },
            "description": "Select payments by type list",
            "style": "form",
            "explode": false
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Select payments created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Select payments updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Select payments updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentsListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentsListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentsListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentsListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentsListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentsListError"
                }
              }
            }
          }
        }
      }
    },
    "/payments/{PaymentId}": {
      "delete": {
        "tags": [
          "Payments"
        ],
        "summary": "Delete Payment",
        "operationId": "deletePayment",
        "parameters": [
          {
            "name": "PaymentId",
            "in": "path",
            "description": "Payment ID to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Payments"
        ],
        "summary": "Fetch Payment",
        "operationId": "fetchPayment",
        "parameters": [
          {
            "name": "PaymentId",
            "in": "path",
            "description": "Payment ID to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Payments"
        ],
        "summary": "Update Payment",
        "description": "Uniqueness constraints within organization:\n- payment.orderId, payment.extPaymentId\n",
        "operationId": "updatePayment",
        "parameters": [
          {
            "name": "PaymentId",
            "in": "path",
            "description": "Payment ID to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/PaymentUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/PaymentUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/products": {
      "post": {
        "tags": [
          "Products"
        ],
        "summary": "Create Products",
        "description": "Uniqueness constraints within organization:\n- product.sku\n- product.extProductId (when defined)\n- product.mappedProduct.sku, product.mappedProduct.integrationId\n- product.mappedProduct.extProductId, product.mappedProduct.integrationId\n- product.sku, product.mappedProduct.integrationId\n- product.sku, product.published.integrationId\n- product.published.integrationId, product.published.sku\n- product.published.integrationId, product.published.extProductId\n",
        "operationId": "createProducts",
        "parameters": [
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProductsCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ProductsCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/ProductsCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductsCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ProductsCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ProductsCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductsCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ProductsCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ProductsCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "List Products",
        "operationId": "listProducts",
        "parameters": [
          {
            "name": "autoEngUpdateStatus",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/AutoEngUpdateStatus"
              }
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "autoEngUpdateStatusUpdatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch all products with autoEngUpdateStatus updated after this date-time"
          },
          {
            "name": "autoEngUpdateStatusUpdatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Fetch all products with autoEngUpdateStatus updated before this date-time"
          },
          {
            "name": "bundleSKU",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Retrieve all products of the bundle with this SKU"
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many products"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Retrieve soft deleted products"
          },
          {
            "name": "exceptionCategoryId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve products by list of categories of the product related exceptions",
            "style": "form",
            "explode": false
          },
          {
            "name": "exceptionType",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve products by list of types of the product related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)",
            "style": "form",
            "explode": false
          },
          {
            "name": "extProductId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve products by list of extProductId",
            "style": "form",
            "explode": false
          },
          {
            "name": "hasSourceDoc",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Retrieve products containing a source document"
          },
          {
            "name": "inBundle",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Retrieve all bundles containing the item with this SKU"
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve products of these integrations",
            "style": "form",
            "explode": false
          },
          {
            "name": "inventoryNotTracked",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Retrieve products by inventoryNotTracked value (default - any)"
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "inventoryNotTracked,productId,extProductId,parentExtProductId,status,types,sku,name,tags,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "mappedSKU",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Retrieve products with SKU mapping defined"
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Retrieve products by name (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
          },
          {
            "name": "notPublished",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Retrieve products that do not have \"published channels\""
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "parentExtProductId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve all variants of a parent product by list of external id",
            "style": "form",
            "explode": false
          },
          {
            "name": "productId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve by list of productId",
            "style": "form",
            "explode": false
          },
          {
            "name": "publishedSKU",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve all products with published SKU",
            "style": "form",
            "explode": false
          },
          {
            "name": "publishedStatus",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ProductPublishedItemStatus"
              }
            },
            "description": "Retrieve all products with published status",
            "style": "form",
            "explode": false
          },
          {
            "name": "requestorId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Requestor Id (- forcibly replaced with integration ID if the request came from an integration)"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Retrieve all products created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many products"
          },
          {
            "name": "sku",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Retrieve products by list of SKU",
            "style": "form",
            "explode": false
          },
          {
            "name": "sku_gt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Retrieve products in which SKU is lexicographically greater than the specified value (- 'sku' and 'sku_gt'|'sku_lt' are mutually exclusive)"
          },
          {
            "name": "sku_lt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Retrieve products in which SKU is lexicographically less than the specified value (- 'sku' and 'sku_gt'|'sku_lt' are mutually exclusive)"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ProductStatus"
              }
            },
            "description": "Retrieve all products with this status",
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "types",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ProductType"
              }
            },
            "description": "Retrieve all products matching specified types",
            "style": "form",
            "explode": false
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Retrieve all products created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Retrieve all products updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Retrieve all products updated before this date-time"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProducstListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ProducstListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ProducstListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProducstListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ProducstListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ProducstListError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Products"
        ],
        "summary": "Delete Multiple Products",
        "operationId": "deleteProducts",
        "parameters": [
          {
            "name": "action",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ListDeleteAction"
            },
            "description": "Return the list of what to delete, or delete softly"
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Delete at most this many products"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Delete soft deleted products"
          },
          {
            "name": "extProductId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete products by list of extProductId",
            "style": "form",
            "explode": false
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete products of these integrations",
            "style": "form",
            "explode": false
          },
          {
            "name": "orgMode",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OrganizationMode"
              }
            },
            "description": "Delete products assigned these orgModes.",
            "style": "form",
            "explode": false
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "parentExtProductId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete all variants of a parent product by list of external id",
            "style": "form",
            "explode": false
          },
          {
            "name": "productId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Delete products by list of productId",
            "style": "form",
            "explode": false
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete products created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many products"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ProductStatus"
              }
            },
            "description": "Delete products with this status",
            "style": "form",
            "explode": false
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            }
          },
          {
            "name": "types",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ProductType"
              }
            },
            "description": "Delete products matching specified types",
            "style": "form",
            "explode": false
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete products created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete products updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Delete products updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductsDeleteResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ProductsDeleteResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ProductsDeleteResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductsDeleteError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ProductsDeleteError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ProductsDeleteError"
                }
              }
            }
          }
        }
      }
    },
    "/products/{ProductId}": {
      "delete": {
        "tags": [
          "Products"
        ],
        "summary": "Delete Product",
        "operationId": "deleteProduct",
        "parameters": [
          {
            "name": "ProductId",
            "in": "path",
            "description": "Id, `sku:{sku}`, or `ext:{extProductId}` of product to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Retrieve Product",
        "operationId": "fetchProduct",
        "parameters": [
          {
            "name": "ProductId",
            "in": "path",
            "description": "Id, `sku:{sku}`, or `ext:{extProductId}` of product to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sourceDocVersion",
            "in": "query",
            "description": "Fetch specific vendor source doc version if available",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          },
          {
            "name": "withSourceDoc",
            "in": "query",
            "description": "Include vendor source doc if available",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "withSourceDocVersions",
            "in": "query",
            "description": "Include available vendor source doc versions",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ProductFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ProductFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ProductFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ProductFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Products"
        ],
        "summary": "Update Product",
        "description": "Uniqueness constraints within organization:\n- product.sku\n- product.extProductId (when defined)\n- product.mappedProduct.sku, product.mappedProduct.integrationId\n- product.mappedProduct.extProductId, product.mappedProduct.integrationId\n- product.sku, product.mappedProduct.integrationId\n- product.sku, product.published.integrationId\n- product.published.integrationId, product.published.sku\n- product.published.integrationId, product.published.extProductId      operationId: createProducts\n",
        "operationId": "updateProduct",
        "parameters": [
          {
            "name": "ProductId",
            "in": "path",
            "description": "Id, `sku:{sku}`, or `ext:{extProductId}` of product to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProductUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ProductUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/ProductUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ProductUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ProductUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ProductUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ProductUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/products/{ProductId}/sync": {
      "post": {
        "tags": [
          "Products"
        ],
        "summary": "Sync Products",
        "description": "Trigger the products sync",
        "operationId": "syncProducts",
        "parameters": [
          {
            "name": "ProductId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProductSyncRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ProductSyncRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/ProductSyncRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/csv": {}
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/csv": {}
            }
          }
        }
      }
    },
    "/organizations": {
      "post": {
        "tags": [
          "Organizations"
        ],
        "summary": "Create Organization",
        "operationId": "createOrganization",
        "parameters": [
          {
            "name": "ownerMode",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "primary",
                "owner",
                "both"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "List Organizations",
        "operationId": "listOrganizations",
        "parameters": [
          {
            "name": "accountId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Organizations by list of accountId",
            "style": "form",
            "explode": false
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many organizations"
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Fetch only soft-deleted organizations (ignore status)"
          },
          {
            "name": "email",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Organizations by email (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "orgKey,accountId,name,tier,status,isHoldingOrg,createdAt,updatedAt"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "monitoringEnabled",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Organizations by monitoringEnabled value"
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Organizations by name (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "orgKey",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Organizations by list of orgKey",
            "style": "form",
            "explode": false
          },
          {
            "name": "orgMode",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OrganizationMode"
              }
            },
            "description": "Organizations by list of modes",
            "style": "form",
            "explode": false
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "phone",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Organizations by phone (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Organizations created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many organizations"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/OrganizationStatus"
              }
            },
            "description": "Organizations by list of statuses",
            "style": "form",
            "explode": false
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Organizations created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Organizations updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Organizations updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationsListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationsListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationsListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationsListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationsListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationsListError"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{OrganizationId}": {
      "delete": {
        "tags": [
          "Organizations"
        ],
        "summary": "Delete Organization",
        "operationId": "deleteOrganization",
        "parameters": [
          {
            "name": "OrganizationId",
            "in": "path",
            "description": "Organization Id to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Fetch Organization",
        "operationId": "fetchOrganization",
        "parameters": [
          {
            "name": "OrganizationId",
            "in": "path",
            "description": "Organization Id to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Organizations"
        ],
        "summary": "Update Organization",
        "operationId": "updateOrganization",
        "parameters": [
          {
            "name": "OrganizationId",
            "in": "path",
            "description": "Organization Id to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{OrgKey}/mode": {
      "post": {
        "tags": [
          "Organizations"
        ],
        "summary": "Switch organization mode",
        "operationId": "switchOrganization",
        "parameters": [
          {
            "name": "OrgKey",
            "in": "path",
            "description": "orgKey to switch",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationSwitchRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationSwitchRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationSwitchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{OrgKey}/cleanup": {
      "post": {
        "tags": [
          "Organizations"
        ],
        "summary": "Cleanup organization",
        "operationId": "cleanupOrganization",
        "parameters": [
          {
            "name": "OrgKey",
            "in": "path",
            "description": "orgKey to cleanup",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationCleanupRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationCleanupRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationCleanupRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{OrgKey}/move": {
      "post": {
        "tags": [
          "Organizations"
        ],
        "summary": "Move organization to another account",
        "operationId": "moveOrganization",
        "parameters": [
          {
            "name": "OrgKey",
            "in": "path",
            "description": "orgKey to move",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationMoveRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationMoveRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationMoveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{OrgKey}/detach": {
      "post": {
        "tags": [
          "Organizations"
        ],
        "summary": "Detach secondary organization into separate account",
        "operationId": "detachOrganization",
        "parameters": [
          {
            "name": "OrgKey",
            "in": "path",
            "description": "orgKey to detach",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationDetachRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationDetachRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationDetachRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/roles": {
      "post": {
        "tags": [
          "Roles"
        ],
        "summary": "Create Role",
        "description": "Uniqueness constraints within organization:\n- role.name\n",
        "operationId": "createRole",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoleCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/RoleCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/RoleCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/RoleCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/RoleCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/RoleCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/RoleCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Roles"
        ],
        "summary": "List Roles",
        "operationId": "listRoles",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many roles"
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "isPublic,roleId,name,status,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Roles by name (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "roleId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Roles by list of roleId",
            "style": "form",
            "explode": false
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Roles created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many roles"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/RoleStatus"
              }
            },
            "description": "Roles by list of statuses",
            "style": "form",
            "explode": false
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Roles created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Roles updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Roles updated before this date-time"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RolesListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/RolesListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/RolesListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RolesListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/RolesListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/RolesListError"
                }
              }
            }
          }
        }
      }
    },
    "/roles/{RoleId}": {
      "delete": {
        "tags": [
          "Roles"
        ],
        "summary": "Delete Role",
        "operationId": "deleteRole",
        "parameters": [
          {
            "name": "RoleId",
            "in": "path",
            "description": "Role Id to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Roles"
        ],
        "summary": "Fetch Role",
        "operationId": "fetchRole",
        "parameters": [
          {
            "name": "RoleId",
            "in": "path",
            "description": "Role Id to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/RoleFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/RoleFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/RoleFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/RoleFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Roles"
        ],
        "summary": "Update Role",
        "description": "Uniqueness constraints within organization:\n- role.name\n",
        "operationId": "updateRole",
        "parameters": [
          {
            "name": "RoleId",
            "in": "path",
            "description": "Role Id to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoleUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/RoleUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/RoleUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/RoleUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/RoleUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/RoleUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/RoleUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/inventory": {
      "post": {
        "tags": [
          "Inventory"
        ],
        "summary": "Create Inventory Log Items",
        "description": "Uniqueness constraints:\n- inventory.event, inventory.entityId, inventory.sku (when entityId and materialEvent defined)\n",
        "operationId": "createInventory",
        "parameters": [
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InventoryCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/InventoryCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/InventoryCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Inventory"
        ],
        "summary": "List Inventory Log Items",
        "operationId": "listInventory",
        "parameters": [
          {
            "name": "available",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "Fetch inventory if 'available' value is equal to specified one (- 'available' and 'available_gt'|'available_lt' are mutually exclusive)"
          },
          {
            "name": "available_gt",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "Fetch inventory if 'available' value is greater than specified one (- 'available' and 'available_gt'|'available_lt' are mutually exclusive)"
          },
          {
            "name": "available_lt",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "Fetch inventory if 'available' value is less than specified one (- 'available' and 'available_gt'|'available_lt' are mutually exclusive)"
          },
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many inventory items"
          },
          {
            "name": "entityId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Return inventory items related to certain event record by record id",
            "style": "form",
            "explode": false
          },
          {
            "name": "event",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/EventType"
              }
            },
            "description": "Fetch inventory by event list  (- allowed only with 'ledger' flag)",
            "style": "form",
            "explode": false
          },
          {
            "name": "groupId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fetch group-level inventory rows by Location Group ID list (mirrors 'locationId'). Use `*` to select all groups. With 'totals', returns the rollup across the requested groups (or all groups for `*`). Default totals are location-only and never include group-level rows.\n",
            "style": "form",
            "explode": false
          },
          {
            "name": "integration",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fetch inventory by integrations id list  (- ignored in 'totals' queries)",
            "style": "form",
            "explode": false
          },
          {
            "name": "inventoryId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Inventory items by list of inventoryId",
            "style": "form",
            "explode": false
          },
          {
            "name": "inventoryNotTracked",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Fetch inventory by the inventoryNotTracked value  (- ignored in 'totals' queries)"
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "All"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "ledger",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Return inventory ledger information (- not allowed with the 'totals' flag)"
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fetch inventory by its location ID",
            "style": "form",
            "explode": false
          },
          {
            "name": "onHand",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "Fetch inventory if 'onHand' value is equal to specified one (- 'onHand' and 'onHand_gt'|'onHand_lt' are mutually exclusive)"
          },
          {
            "name": "onHand_gt",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "Fetch inventory if 'onHand' value is greater than specified one (- 'onHand' and 'onHand_gt'|'onHand_lt' are mutually exclusive)"
          },
          {
            "name": "onHand_lt",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "Fetch inventory if 'onHand' value is less than specified one"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "-updatedAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "requestorId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Id of the inventory totals requestor (- allowed only with the 'totals' flag; used to select available locations; forcibly replaced with integration ID if the request came from an integration)"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Inventory created after this date,time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many inventory items"
          },
          {
            "name": "sku",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fetch inventory by its SKU (- 'sku' and 'sku_gt'|'sku_lt' are mutually exclusive)",
            "style": "form",
            "explode": false
          },
          {
            "name": "sku_gt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Fetch inventory in which SKU is lexicographically greater than the specified value (- 'sku' and 'sku_gt'|'sku_lt' are mutually exclusive)"
          },
          {
            "name": "sku_lt",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Fetch inventory in which SKU is lexicographically less than the specified value (- 'sku' and 'sku_gt'|'sku_lt' are mutually exclusive)"
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/EntityTags"
            },
            "description": "Fetch inventory by tags (- not allowed with either 'ledger' or 'totals' flag)"
          },
          {
            "name": "totals",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Return inventory totals across all locations (- not allowed with the 'ledger' flag)"
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "virtual",
                "physical"
              ]
            },
            "description": "'virtual' - fetch virtual inventory status, 'physical' - not virtual (- not allowed with the 'ledger' flag)"
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Inventory created before this date,time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Inventory updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Inventory updated before this date-time"
          },
          {
            "name": "vendorSKU",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Fetch inventory by its vendorSKU",
            "style": "form",
            "explode": false
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryListError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Inventory"
        ],
        "summary": "Update Inventory",
        "description": "Uniqueness constraints:\n- inventory.event, inventory.entityId, inventory.sku (when entityId and materialEvent defined)\n",
        "operationId": "updateInventory",
        "parameters": [
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InventoryUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/InventoryUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/InventoryUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/inventory/{InventoryId}": {
      "get": {
        "tags": [
          "Inventory"
        ],
        "summary": "Fetch Inventory Log Item",
        "operationId": "fetchInventory",
        "parameters": [
          {
            "name": "InventoryId",
            "in": "path",
            "description": "Inventory Item ID to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/withSKUMapping"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryFetchError"
                }
              }
            }
          }
        }
      }
    },
    "/inventory/{InventoryId}/sync": {
      "post": {
        "tags": [
          "Inventory"
        ],
        "summary": "Sync Inventory",
        "description": "Trigger the inventory sync",
        "operationId": "syncInventory",
        "parameters": [
          {
            "name": "InventoryId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "object"
              }
            },
            "text/xml": {
              "schema": {
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/csv": {}
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/csv": {}
            }
          }
        }
      }
    },
    "/webhooks": {
      "post": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Create Webhook",
        "description": "Uniqueness constraints for users of organization:\n- webhook.url\n",
        "operationId": "createWebhook",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/WebhookCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/WebhookCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Webhooks"
        ],
        "summary": "List Webhooks",
        "operationId": "listWebhooks",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many webhooks"
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt,orgKey,topics,updatedAt,webhookId"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "related",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Include related webhooks"
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Webhooks created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many webhooks"
          },
          {
            "name": "topic",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/WebhookTopics"
            },
            "description": "Webhooks for this topic"
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Webhooks created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Webhooks updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Webhooks updated before this date-time"
          },
          {
            "name": "webhookId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Webhooks by list of webhookId",
            "style": "form",
            "explode": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhooksListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WebhooksListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WebhooksListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhooksListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WebhooksListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WebhooksListError"
                }
              }
            }
          }
        }
      }
    },
    "/webhooks/{WebhookId}": {
      "delete": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Delete Webhook",
        "operationId": "deleteWebhook",
        "parameters": [
          {
            "name": "WebhookId",
            "in": "path",
            "description": "Webhook ID to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Fetch Webhook",
        "operationId": "fetchWebhook",
        "parameters": [
          {
            "name": "WebhookId",
            "in": "path",
            "description": "Webhook ID to fetch",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Update Webhook",
        "description": "Uniqueness constraints for users of organization:\n- webhook.url\n",
        "operationId": "updateWebhook",
        "parameters": [
          {
            "name": "WebhookId",
            "in": "path",
            "description": "Webhook ID to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/WebhookUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/WebhookUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/users": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Create User",
        "description": "Uniqueness constraints within organization:\n- user.email\n",
        "operationId": "createUser",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/UserCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/UserCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserCreateError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "List Users",
        "operationId": "listUsers",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "description": "Return at most this many users"
          },
          {
            "name": "email",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Users by email (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
          },
          {
            "name": "identityId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Users by identityId"
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "userId,address,description,name,email,phone,roles,status,timeZone,createdAt,updatedAt,orgKey"
            },
            "description": "Return these top-level fields"
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Users by name (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "createdAt"
            },
            "description": "Sort by these top-level fields"
          },
          {
            "name": "pagination",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "disabled"
              ]
            },
            "description": "Exclude pagination info from the response"
          },
          {
            "name": "roles",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Users by list of role names or/and role ids",
            "style": "form",
            "explode": false
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Users created after this date-time"
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "description": "Skip this many users"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/UserStatus"
              }
            },
            "description": "Users by list of statuses",
            "style": "form",
            "explode": false
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Users created before this date-time"
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Users updated after this date-time"
          },
          {
            "name": "updatedUntil",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Users updated before this date-time"
          },
          {
            "name": "userId",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Users by list of userId",
            "style": "form",
            "explode": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UsersListResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UsersListResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UsersListResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UsersListError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UsersListError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UsersListError"
                }
              }
            }
          }
        }
      }
    },
    "/users/{UserId}": {
      "delete": {
        "tags": [
          "Users"
        ],
        "summary": "Delete User",
        "operationId": "deleteUser",
        "parameters": [
          {
            "name": "UserId",
            "in": "path",
            "description": "User ID to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nested",
            "in": "query",
            "description": "Delete nested entities",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Fetch User",
        "operationId": "fetchUser",
        "parameters": [
          {
            "name": "UserId",
            "in": "path",
            "description": "User ID or `me`",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Users"
        ],
        "summary": "Update User",
        "description": "Uniqueness constraints within organization:\n- user.email\n",
        "operationId": "updateUser",
        "parameters": [
          {
            "name": "UserId",
            "in": "path",
            "description": "User ID to update",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/UserUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/UserUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/users/{UserId}/reset_password": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Reset user's password",
        "operationId": "resetPassword",
        "parameters": [
          {
            "name": "UserId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "object"
              }
            },
            "text/xml": {
              "schema": {
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserUpdateError"
                }
              },
              "text/csv": {}
            }
          }
        }
      }
    },
    "/users/{UserId}/reinvite": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Send verification email to user",
        "operationId": "reinviteUser",
        "parameters": [
          {
            "name": "UserId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "object"
              }
            },
            "text/xml": {
              "schema": {
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Success"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    },
    "/users/{UserId}/reset_mfa": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Reset user's MFA",
        "operationId": "resetMFA",
        "parameters": [
          {
            "name": "UserId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            },
            "application/xml": {
              "schema": {
                "type": "object"
              }
            },
            "text/xml": {
              "schema": {
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserUpdateError"
                }
              },
              "text/csv": {}
            }
          }
        }
      }
    },
    "/userpreferences": {
      "post": {
        "tags": [
          "User Preferences"
        ],
        "summary": "Create User Preferences",
        "description": "Uniqueness constraints within organization:\n- userId\n",
        "operationId": "createUserPreferences",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserPreferencesCreateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/UserPreferencesCreateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/UserPreferencesCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserPreferencesCreateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserPreferencesCreateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserPreferencesCreateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserPreferencesCreateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserPreferencesCreateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserPreferencesCreateError"
                }
              }
            }
          }
        }
      }
    },
    "/userpreferences/{UserPreferencesId}": {
      "get": {
        "tags": [
          "User Preferences"
        ],
        "summary": "Fetch User Preferences",
        "operationId": "fetchUserPreferences",
        "parameters": [
          {
            "name": "UserPreferencesId",
            "in": "path",
            "description": "User Preferences ID or `me`",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserPreferencesFetchResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserPreferencesFetchResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserPreferencesFetchResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserPreferencesFetchError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserPreferencesFetchError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserPreferencesFetchError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "User Preferences"
        ],
        "summary": "Update User Preferences",
        "operationId": "updateUserPreferences",
        "parameters": [
          {
            "name": "UserPreferencesId",
            "in": "path",
            "description": "User Preferences ID or `me`",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "schema": {
              "type": "string",
              "default": ""
            },
            "description": "Comma-separated fields to be returned (\"*\" - all)"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserPreferencesUpdateRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/UserPreferencesUpdateRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/UserPreferencesUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserPreferencesUpdateResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserPreferencesUpdateResponse"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserPreferencesUpdateResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserPreferencesUpdateError"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserPreferencesUpdateError"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/UserPreferencesUpdateError"
                }
              }
            }
          }
        }
      }
    },
    "/convert": {
      "servers": [
        {
          "url": "https://schema.pipe17.com",
          "description": "production"
        }
      ],
      "post": {
        "tags": [
          "Convert"
        ],
        "summary": "Convert a source object to target using specified mapping rules",
        "operationId": "convert",
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConvertRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConvertResponse"
                }
              }
            }
          },
          "default": {
            "description": "Failed operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "Pipe17KeyAuth": {
        "type": "apiKey",
        "name": "X-Pipe17-Key",
        "in": "header"
      },
      "ApiKeyAuth": {
        "type": "apiKey",
        "name": "x-api-key",
        "in": "header"
      }
    },
    "parameters": {
      "count": {
        "name": "count",
        "in": "query",
        "description": "Max number of items to return",
        "schema": {
          "type": "integer",
          "format": "int32",
          "default": 100
        }
      },
      "deleted": {
        "name": "deleted",
        "in": "query",
        "schema": {
          "type": "boolean"
        },
        "description": "Whether to retrieve soft deleted items"
      },
      "keys": {
        "name": "keys",
        "in": "query",
        "schema": {
          "type": "string",
          "description": "Return these top-level fields"
        }
      },
      "order": {
        "name": "order",
        "in": "query",
        "schema": {
          "type": "string",
          "default": "createdAt"
        },
        "description": "Sort by these top-level field"
      },
      "orgKey": {
        "name": "orgKey",
        "in": "query",
        "description": "Organization key",
        "schema": {
          "type": "string"
        }
      },
      "pagination": {
        "name": "pagination",
        "in": "query",
        "schema": {
          "type": "string",
          "enum": [
            "disabled"
          ],
          "description": "Exclude pagination info from the response"
        }
      },
      "requestorId": {
        "name": "requestorId",
        "in": "query",
        "schema": {
          "type": "string"
        },
        "description": "Integration whose SKU mapping `withSKUMapping` should apply. Ignored for requests made with an integration API key, which already identify one; supply it when calling with a master key or user token.\n"
      },
      "since": {
        "name": "since",
        "in": "query",
        "schema": {
          "type": "string",
          "format": "date-time"
        },
        "description": "Select items created after this date-time"
      },
      "skip": {
        "name": "skip",
        "in": "query",
        "schema": {
          "type": "integer",
          "format": "int32",
          "default": 0
        },
        "description": "Number of items to skip"
      },
      "until": {
        "name": "until",
        "in": "query",
        "schema": {
          "type": "string",
          "format": "date-time"
        },
        "description": "Select items created before this date-time"
      },
      "updatedSince": {
        "name": "updatedSince",
        "in": "query",
        "schema": {
          "type": "string",
          "format": "date-time"
        },
        "description": "Select items updated after this date-time"
      },
      "updatedUntil": {
        "name": "updatedUntil",
        "in": "query",
        "schema": {
          "type": "string",
          "format": "date-time"
        },
        "description": "Select items updated before this date-time"
      },
      "withSKUMapping": {
        "name": "withSKUMapping",
        "in": "query",
        "schema": {
          "type": "boolean"
        },
        "description": "Translate between your channel SKUs and Pipe17 canonical SKUs. On read, `sku` is replaced by the channel SKU mapped to your integration and the canonical SKU it replaced is returned as `originalSKU`. On write, a channel SKU in `sku` is resolved to the canonical SKU and the value supplied is recorded as `vendorSKU`. A SKU with no mapping is left unchanged. Defaults to the integration's `skuMapping` setting.\n"
      }
    },
    "schemas": {
      "AISession": {
        "allOf": [
          {
            "type": "object",
            "required": [
              "aiSessionId",
              "userId"
            ],
            "properties": {
              "aiSessionId": {
                "type": "string",
                "description": "The unique identifier of the AI session."
              },
              "userId": {
                "type": "string",
                "description": "The unique identifier of the user that the AI session is associated with."
              },
              "hasFeedback": {
                "type": "boolean",
                "description": "Indicates if any associated event has feedback."
              }
            }
          },
          {
            "$ref": "#/components/schemas/AISessionCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "AISessionCreateData": {
        "type": "object",
        "required": [
          "userId",
          "action"
        ],
        "properties": {
          "action": {
            "type": "string",
            "enum": [
              "explain",
              "generate",
              "chat"
            ],
            "description": "The action that the AI session is associated with."
          },
          "userId": {
            "type": "string",
            "description": "The unique identifier of the user that the AI session is associated with."
          },
          "entity": {
            "$ref": "#/components/schemas/AISessionEntity"
          },
          "feedback": {
            "$ref": "#/components/schemas/FeedbackInfo",
            "description": "The feedback that the user provided for the AI session."
          },
          "isInternalUser": {
            "type": "boolean",
            "description": "Whether the user is an internal user or not."
          },
          "isLocked": {
            "type": "boolean",
            "description": "Whether the AI session is locked. When locked, no new events can be added. Generally used when messages go beyond a certain threshold."
          },
          "reviewed": {
            "type": "boolean",
            "description": "Indicates if the feedback associated with this AI session has been reviewed by Pipe17 staff."
          },
          "topics": {
            "$ref": "#/components/schemas/AISessionTopics",
            "description": "The topics that the AI session is associated with."
          }
        }
      },
      "AISessionCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "aiSession": {
                "$ref": "#/components/schemas/AISessionCreateData"
              }
            }
          }
        ]
      },
      "AISessionCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AISessionCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "AISessionCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "aiSession": {
                "$ref": "#/components/schemas/AISession"
              }
            }
          }
        ]
      },
      "AISessionEntity": {
        "type": "string",
        "description": "Exception Entity Name",
        "enum": [
          "accounts",
          "apikey",
          "arrivals",
          "automation_rules",
          "automation_runs",
          "automations",
          "changelog",
          "connectors",
          "customers",
          "custom_objects",
          "contacts",
          "entity_filters",
          "entity_schemas",
          "events",
          "exception_categories",
          "exception_filters",
          "exceptions",
          "fulfillments",
          "functions",
          "integration_actions",
          "integration_state",
          "integrations",
          "inventory",
          "inventory_groups",
          "inventoryrules",
          "invoices",
          "jobs",
          "labels",
          "locations",
          "location_groups",
          "lookup_objects",
          "mappings",
          "metrics",
          "notes",
          "delivery_promises",
          "order_routing_runs",
          "order_routings",
          "payments",
          "orders",
          "organizations",
          "catalogs",
          "catalog_products",
          "pricing",
          "products",
          "purchases",
          "receipts",
          "references",
          "refunds",
          "returns",
          "roles",
          "routings",
          "shipment_boxes",
          "shipments",
          "shipping_methods",
          "statement_transactions",
          "statements",
          "cycle_counts",
          "cycle_count_entries",
          "suppliers",
          "trackings",
          "transfers",
          "usagedata",
          "usageplans",
          "users",
          "vendor_schemas",
          "webhooks"
        ]
      },
      "AISessionEvent": {
        "allOf": [
          {
            "type": "object",
            "required": [
              "aiSessionEventId",
              "aiSessionId",
              "type"
            ],
            "properties": {
              "aiSessionEventId": {
                "type": "string",
                "description": "The unique identifier of the AI session event."
              },
              "aiSessionId": {
                "type": "string",
                "description": "The unique identifier of the AI session."
              },
              "feedback": {
                "$ref": "#/components/schemas/FeedbackInfo",
                "description": "The feedback that the user provided for the AI session event."
              }
            }
          },
          {
            "$ref": "#/components/schemas/AISessionEventCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "AISessionEventCoreData": {
        "type": "object",
        "required": [
          "aiSessionId",
          "eventCreatedAt",
          "type"
        ],
        "properties": {
          "aiSessionId": {
            "type": "string",
            "description": "The unique identifier of the AI session this event is associated with."
          },
          "eventCreatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time the event was created."
          },
          "type": {
            "$ref": "#/components/schemas/AISessionEventType",
            "description": "The type of event."
          },
          "meta": {
            "type": "object",
            "description": "Additional metadata for the event."
          },
          "props": {
            "type": "object",
            "description": "Properties for the event. This is open ended. Use type to determine schema.",
            "additionalProperties": {
              "$ref": "#/components/schemas/Any"
            }
          }
        }
      },
      "AISessionEventCreateData": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AISessionEventCoreData"
          },
          {
            "$ref": "#/components/schemas/AISessionEventMessageToUser"
          },
          {
            "$ref": "#/components/schemas/AISessionEventMessageFromUser"
          },
          {
            "$ref": "#/components/schemas/AISessionEventLLMRequest"
          },
          {
            "$ref": "#/components/schemas/AISessionEventToolRequest"
          }
        ]
      },
      "AISessionEventCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "aiSessionEvent": {
                "$ref": "#/components/schemas/AISessionEventCreateData"
              }
            }
          }
        ]
      },
      "AISessionEventCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AISessionEventCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "AISessionEventCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "aiSessionEvent": {
                "$ref": "#/components/schemas/AISessionEvent"
              }
            }
          }
        ]
      },
      "AISessionEventFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "AISessionEventFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "aiSessionEvent": {
                "$ref": "#/components/schemas/AISessionEvent"
              }
            }
          }
        ]
      },
      "AISessionEventLLMRequest": {
        "type": "object",
        "properties": {
          "model": {
            "type": "string",
            "description": "The LLM model."
          },
          "provider": {
            "type": "string",
            "description": "The LLM service provider."
          },
          "request": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string",
                "description": "The URL of the request."
              },
              "headers": {
                "type": "object",
                "description": "The headers of the request."
              },
              "body": {
                "type": "object",
                "description": "The body of the request."
              }
            }
          },
          "response": {
            "type": "object",
            "description": "The response of the request."
          },
          "statusCode": {
            "type": "string",
            "description": "The HTTP status code of the request."
          },
          "success": {
            "type": "boolean",
            "description": "The success of the request."
          },
          "usage": {
            "type": "object",
            "description": "The number of token used for the LLM request.",
            "properties": {
              "inputTokens": {
                "type": "integer"
              },
              "outputTokens": {
                "type": "integer"
              }
            }
          }
        }
      },
      "AISessionEventListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/AISessionEventListFilter"
              }
            }
          }
        ]
      },
      "AISessionEventListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "description": "AI session list filter",
            "properties": {
              "aiSessionEventId": {
                "$ref": "#/components/schemas/AISessionEventListFilterAISessionEventId",
                "description": "Filter by matching aiSessionEventId"
              },
              "aiSessionId": {
                "$ref": "#/components/schemas/AISessionEventListFilterAISessionId",
                "description": "Filter by matching aiSessionId"
              },
              "success": {
                "type": "boolean",
                "description": "Filter by request success"
              },
              "type": {
                "$ref": "#/components/schemas/AISessionEventListFilterType",
                "description": "Filter by event type"
              }
            }
          }
        ]
      },
      "AISessionEventListFilterAISessionEventId": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Filter by matching aiSessionEventId"
      },
      "AISessionEventListFilterAISessionId": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Filter by matching aiSessionId"
      },
      "AISessionEventListFilterType": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/AISessionEventType"
        },
        "description": "Filter by matching aiSessionEventType"
      },
      "AISessionEventListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "aiSessionEvents": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AISessionEvent"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/AISessionEventListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "AISessionEventMessageFromUser": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "description": "The message content."
          }
        }
      },
      "AISessionEventMessageToUser": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "description": "The message content."
          }
        }
      },
      "AISessionEventToolRequest": {
        "type": "object",
        "properties": {
          "request": {
            "type": "object"
          },
          "response": {
            "type": "object",
            "description": "The response of the request."
          },
          "statusCode": {
            "type": "string",
            "description": "The HTTP status code of the request."
          },
          "success": {
            "type": "boolean",
            "description": "The success of the request."
          },
          "toolName": {
            "type": "string",
            "description": "The tool/function name."
          }
        }
      },
      "AISessionEventType": {
        "type": "string",
        "enum": [
          "MESSAGE_TO_USER",
          "MESSAGE_FROM_USER",
          "LLM_REQUEST",
          "TOOL_REQUEST",
          "CORE_MESSAGE",
          "CANCEL_REQUEST"
        ],
        "description": "The type of AI session event"
      },
      "AISessionEventUpdateData": {
        "type": "object",
        "properties": {
          "feedback": {
            "$ref": "#/components/schemas/FeedbackInfo",
            "description": "The feedback that the user provided for the AI session event."
          }
        }
      },
      "AISessionEventUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "aiSessionEvent": {
                "$ref": "#/components/schemas/AISessionEventUpdateData"
              }
            }
          }
        ]
      },
      "AISessionEventUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AISessionEventUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "AISessionEventUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "aiSessionEvent": {
                "$ref": "#/components/schemas/AISessionEvent"
              }
            }
          }
        ]
      },
      "AISessionFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "AISessionFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "aiSession": {
                "$ref": "#/components/schemas/AISession"
              }
            }
          }
        ]
      },
      "AISessionListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/AISessionListFilter"
              }
            }
          }
        ]
      },
      "AISessionListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "description": "AI session list filter",
            "properties": {
              "action": {
                "$ref": "#/components/schemas/AISessionListFilterAction"
              },
              "aiSessionId": {
                "$ref": "#/components/schemas/AISessionListFilterAISessionId"
              },
              "entity": {
                "$ref": "#/components/schemas/AISessionListFilterEntity"
              },
              "hasFeedback": {
                "type": "boolean",
                "description": "Filter by sessions that have feedback on associated events"
              },
              "isInternalUser": {
                "type": "boolean",
                "description": "Filter by internal user"
              },
              "isLocked": {
                "type": "boolean",
                "description": "Filter by locked status"
              },
              "isSatisfactory": {
                "type": "boolean",
                "description": "Filter by satisfactory rating"
              },
              "reviewed": {
                "type": "boolean",
                "description": "Filter by reviewed status"
              },
              "topics": {
                "$ref": "#/components/schemas/AISessionTopics",
                "description": "Filter by matching topics"
              },
              "userId": {
                "type": "string",
                "description": "Filter by matching userId"
              }
            }
          }
        ]
      },
      "AISessionListFilterAISessionId": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Filter by matching aiSessionId"
      },
      "AISessionListFilterAction": {
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "explain",
            "generate",
            "chat"
          ]
        },
        "description": "Filter by matching action"
      },
      "AISessionListFilterEntity": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/AISessionEntity"
        },
        "description": "Filter by matching entity"
      },
      "AISessionListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "aiSessions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AISession"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/AISessionListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "AISessionTopics": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "AISessionUpdateData": {
        "type": "object",
        "properties": {
          "feedback": {
            "$ref": "#/components/schemas/FeedbackInfo",
            "description": "The feedback that the user provided for the AI session."
          },
          "isLocked": {
            "type": "boolean",
            "description": "Whether the AI session is locked. When locked, no new events can be added. Generally used when messages go beyond a certain threshold."
          },
          "reviewed": {
            "type": "boolean",
            "description": "Indicates if the feedback associated with this AI session has been reviewed by Pipe17 staff."
          },
          "topics": {
            "$ref": "#/components/schemas/AISessionTopics",
            "description": "The topics that the AI session is associated with."
          }
        }
      },
      "AISessionUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "aiSession": {
                "$ref": "#/components/schemas/AISessionUpdateData"
              }
            }
          }
        ]
      },
      "AISessionUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AISessionUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "AISessionUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "aiSession": {
                "$ref": "#/components/schemas/AISession"
              }
            }
          }
        ]
      },
      "Account": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "activationKey": {
                "type": "string",
                "description": "Account Activation Key"
              },
              "branding": {
                "$ref": "#/components/schemas/Branding"
              },
              "contacts": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AccountContact"
                }
              },
              "deletedAt": {
                "type": "string",
                "format": "date-time"
              },
              "enforceMFA": {
                "$ref": "#/components/schemas/AccountEnforceMFA"
              },
              "expirationDate": {
                "type": "string",
                "format": "date"
              },
              "integrations": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Account Integrations"
              },
              "internal": {
                "$ref": "#/components/schemas/InternalInfo"
              },
              "isExternalIntegrationAccessAllowed": {
                "type": "boolean",
                "description": "Cascaded from the account's primary org. Toggle that gates the external integration access feature: when true, consuming apps may auto-provision delegated API keys, bounded by the caller's permissions, and issue one-time, time-limited connection URLs that let an external person without a Pipe17 account connect a store (via credentials or OAuth) to one of the orgs.\n"
              },
              "isMultiOrgAllowed": {
                "type": "boolean",
                "description": "Indicates whether customer allowed to create secondary orgs"
              },
              "isRebrandingAllowed": {
                "type": "boolean",
                "description": "Indicates whether customer allowed to re-brand app dashboard"
              },
              "pausedAt": {
                "type": "string",
                "format": "date-time"
              },
              "payment": {
                "$ref": "#/components/schemas/AccountPayment"
              },
              "prodOrgLimit": {
                "type": "number",
                "description": "Defines maximum number of 'production' orgs allowed for account (default - 1)"
              },
              "roleIds": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Account Role IDs"
              },
              "secondaryOrgLimit": {
                "type": "number",
                "description": "Defines maximum number of secondary orgs allowed for account (default - 0)"
              },
              "status": {
                "$ref": "#/components/schemas/AccountStatusWithDeleted",
                "description": "Account Status"
              },
              "userId": {
                "type": "string",
                "description": "Account User ID"
              }
            }
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "AccountAddress": {
        "type": "object",
        "required": [
          "zipCodeOrPostalCode",
          "country",
          "stateOrProvince"
        ],
        "properties": {
          "country": {
            "description": "Country",
            "type": "string"
          },
          "stateOrProvince": {
            "description": "State or Province",
            "type": "string"
          },
          "zipCodeOrPostalCode": {
            "description": "zipcode or postal code",
            "type": "string"
          },
          "address1": {
            "description": "Address Line 1",
            "type": "string"
          },
          "address2": {
            "description": "Address Line 2",
            "type": "string"
          },
          "city": {
            "description": "City",
            "type": "string"
          }
        }
      },
      "AccountBilling": {
        "type": "object",
        "required": [
          "status",
          "plan",
          "basePeriod",
          "amount",
          "source"
        ],
        "properties": {
          "amount": {
            "type": "number"
          },
          "basePeriod": {
            "type": "string",
            "enum": [
              "monthly",
              "annually"
            ]
          },
          "plan": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/AccountBillingStatus"
          },
          "addOns": {
            "type": "array",
            "items": {
              "type": "object",
              "nullable": true,
              "properties": {
                "name": {
                  "type": "string"
                },
                "period": {
                  "type": "string",
                  "enum": [
                    "monthly",
                    "annually",
                    "one-time"
                  ]
                },
                "quantity": {
                  "type": "number"
                },
                "value": {
                  "type": "number"
                }
              }
            }
          },
          "chargeEnterpriseSupport": {
            "type": "boolean"
          },
          "csm": {
            "type": "string",
            "description": "CSM person name"
          },
          "customerId": {
            "type": "string",
            "description": "Tab customer ID"
          },
          "effectivePlan": {
            "type": "string"
          },
          "note": {
            "type": "string"
          },
          "overageAmount": {
            "type": "number"
          },
          "overagePeriod": {
            "type": "string",
            "enum": [
              "monthly",
              "annually"
            ]
          },
          "quota": {
            "type": "number"
          },
          "renewalDate": {
            "type": "string",
            "format": "date-time"
          },
          "startDate": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "AccountBillingStatus": {
        "type": "string",
        "enum": [
          "trial",
          "paid",
          "paidCanceled",
          "unpaid",
          "pastDue",
          "discontinued",
          "unknown"
        ]
      },
      "AccountBillingUpdate": {
        "type": "object",
        "properties": {
          "addOns": {
            "type": "array",
            "items": {
              "type": "object",
              "nullable": true,
              "properties": {
                "name": {
                  "type": "string"
                },
                "period": {
                  "type": "string",
                  "enum": [
                    "monthly",
                    "annually",
                    "one-time"
                  ]
                },
                "quantity": {
                  "type": "number"
                },
                "value": {
                  "type": "number"
                }
              }
            }
          },
          "amount": {
            "type": "number"
          },
          "basePeriod": {
            "type": "string",
            "enum": [
              "monthly",
              "annually"
            ]
          },
          "chargeEnterpriseSupport": {
            "type": "boolean"
          },
          "csm": {
            "type": "string",
            "description": "CSM person name"
          },
          "customerId": {
            "type": "string",
            "nullable": true,
            "description": "Tab customer ID"
          },
          "effectivePlan": {
            "type": "string"
          },
          "note": {
            "type": "string"
          },
          "overageAmount": {
            "type": "number"
          },
          "overagePeriod": {
            "type": "string",
            "enum": [
              "monthly",
              "annually"
            ]
          },
          "plan": {
            "type": "string"
          },
          "quota": {
            "type": "number"
          },
          "renewalDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "source": {
            "type": "string"
          },
          "startDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/AccountBillingStatus"
          }
        }
      },
      "AccountContact": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "Finance owner"
            ]
          },
          "additionalEmails": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "email": {
            "type": "string",
            "description": "Required field if phone is not defined"
          },
          "phone": {
            "type": "string",
            "description": "Required field if email is not defined"
          },
          "phone2": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "name"
        ]
      },
      "AccountCreateData": {
        "type": "object",
        "required": [
          "email",
          "ownerFirstName",
          "ownerLastName",
          "phone",
          "timeZone",
          "address"
        ],
        "properties": {
          "address": {
            "$ref": "#/components/schemas/AccountAddress"
          },
          "email": {
            "type": "string",
            "description": "Account Owner email"
          },
          "ownerFirstName": {
            "type": "string",
            "description": "Account Owner First Name"
          },
          "ownerLastName": {
            "type": "string",
            "description": "Account Owner Last Name"
          },
          "phone": {
            "type": "string",
            "description": "Account Phone"
          },
          "timeZone": {
            "type": "string",
            "description": "Account Time Zone"
          },
          "accountName": {
            "type": "string",
            "description": "Account Name"
          },
          "companyName": {
            "type": "string",
            "description": "Company Name"
          },
          "contacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountContact"
            }
          },
          "enforceMFA": {
            "$ref": "#/components/schemas/AccountEnforceMFA"
          },
          "integrations": {
            "type": "array",
            "description": "Account Integrations",
            "items": {
              "type": "string"
            }
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "isMultiOrgAllowed": {
            "type": "boolean",
            "description": "Indicates whether customer allowed to create secondary orgs"
          },
          "isRebrandingAllowed": {
            "type": "boolean",
            "description": "Indicates whether customer allowed to re-brand app dashboard"
          },
          "logoUrl": {
            "type": "string",
            "description": "Logo URL"
          },
          "payment": {
            "$ref": "#/components/schemas/AccountPayment"
          },
          "prodOrgLimit": {
            "type": "number",
            "description": "Defines maximum number of 'production' orgs allowed for account (default - 1)"
          },
          "secondaryOrgLimit": {
            "type": "number",
            "description": "Defines maximum number of secondary orgs allowed for account (default - 0)"
          }
        }
      },
      "AccountCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "account": {
                "$ref": "#/components/schemas/AccountCreateData"
              }
            }
          }
        ]
      },
      "AccountCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AccountCreateData"
          },
          {
            "type": "object",
            "required": [
              "password"
            ],
            "properties": {
              "password": {
                "type": "string",
                "description": "Account Owner password"
              }
            }
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "AccountCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "account": {
                "$ref": "#/components/schemas/Account"
              },
              "activationKey": {
                "type": "string",
                "description": "Account Activation key"
              }
            }
          }
        ]
      },
      "AccountEnforceMFA": {
        "type": "string",
        "enum": [
          "all",
          "primary",
          "selected"
        ]
      },
      "AccountFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "AccountFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "account": {
                "$ref": "#/components/schemas/Account"
              }
            }
          }
        ]
      },
      "AccountPayment": {
        "type": "object",
        "required": [
          "billing"
        ],
        "properties": {
          "billing": {
            "$ref": "#/components/schemas/AccountBilling"
          },
          "pricingId": {
            "description": "pricing plan id",
            "type": "string"
          },
          "salesDiscountCode": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "AccountPaymentUpdate": {
        "type": "object",
        "nullable": true,
        "properties": {
          "billing": {
            "nullable": true,
            "$ref": "#/components/schemas/AccountBillingUpdate"
          },
          "pricingId": {
            "description": "pricing plan id",
            "type": "string"
          },
          "salesDiscountCode": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        }
      },
      "AccountStatus": {
        "type": "string",
        "enum": [
          "pending",
          "active",
          "disabled",
          "paused",
          "retired"
        ],
        "description": "Account's Status"
      },
      "AccountStatusWithDeleted": {
        "type": "string",
        "enum": [
          "pending",
          "active",
          "disabled",
          "paused",
          "deleted",
          "retired"
        ],
        "description": "Account's Status"
      },
      "AccountUpdateData": {
        "type": "object",
        "properties": {
          "contacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountContact"
            },
            "nullable": true
          },
          "enforceMFA": {
            "$ref": "#/components/schemas/AccountEnforceMFA",
            "nullable": true
          },
          "expirationDate": {
            "type": "string",
            "format": "date"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "isMultiOrgAllowed": {
            "type": "boolean",
            "description": "Indicates whether customer allowed to create secondary orgs"
          },
          "isRebrandingAllowed": {
            "type": "boolean",
            "description": "Indicates whether customer allowed to re-brand app dashboard"
          },
          "payment": {
            "$ref": "#/components/schemas/AccountPaymentUpdate"
          },
          "prodOrgLimit": {
            "type": "number",
            "description": "Defines maximum number of 'production' orgs allowed for account (default - 1)"
          },
          "secondaryOrgLimit": {
            "type": "number",
            "description": "Defines maximum number of secondary orgs allowed for account (default - 0)"
          },
          "status": {
            "$ref": "#/components/schemas/AccountStatus"
          }
        }
      },
      "AccountUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "account": {
                "$ref": "#/components/schemas/AccountUpdateData"
              }
            }
          }
        ]
      },
      "AccountUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AccountUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "AccountUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "account": {
                "$ref": "#/components/schemas/Account"
              }
            }
          }
        ]
      },
      "AccountsDeleteError": {
        "type": "object",
        "xml": {
          "name": "response"
        },
        "required": [
          "success",
          "code"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "description": "Copy of HTTP status",
            "format": "int32",
            "minimum": 400,
            "example": 404
          },
          "success": {
            "type": "boolean",
            "description": "Always false",
            "enum": [
              false
            ],
            "example": false
          },
          "conflict": {
            "type": "object",
            "description": "Details of the conflicting state, when the failure is a 409. The shape depends on the endpoint — a duplicate-key failure carries the offending keys, while /shipping_requests/{id}/request-labels carries `labels` (the labels the shipment already holds), `existingExtLabelIds` (the extLabelIds already claimed) or `refundedExtLabelIds` (extLabelIds belonging to refunded labels, which cannot be reused)."
          },
          "errors": {
            "type": "array",
            "description": "Error detail",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "string",
            "description": "Error message"
          },
          "vendorCode": {
            "type": "string",
            "description": "Vendor-specific error code passed through from a downstream connector/carrier (e.g. EasyPost \"SHIPMENT.REFUND.UNAVAILABLE\"). Present only when the failure originated at the vendor."
          }
        }
      },
      "AccountsDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "message": {
                "type": "string",
                "example": "OK (but NYI)"
              }
            }
          }
        ]
      },
      "AccountsFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Accounts Filter",
            "properties": {
              "billingStatus": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AccountBillingStatus"
                },
                "description": "Accounts by list of billingStatus"
              },
              "deletedSince": {
                "type": "string",
                "format": "date-time",
                "description": "Accounts with deletedAt after this date-time"
              },
              "deletedUntil": {
                "type": "string",
                "format": "date-time",
                "description": "Accounts with deletedAt before this date-time"
              },
              "expirationSince": {
                "type": "string",
                "format": "date-time",
                "description": "Accounts with expirationDate after this date-time"
              },
              "expirationUntil": {
                "type": "string",
                "format": "date-time",
                "description": "Accounts with expirationDate before this date-time"
              },
              "isMultiOrgAllowed": {
                "type": "boolean",
                "description": "Accounts by isMultiOrgAllowed"
              },
              "orgKey": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Accounts by list of orgKey"
              },
              "pausedSince": {
                "type": "string",
                "format": "date-time",
                "description": "Accounts with pausedAt after this date-time"
              },
              "pausedUntil": {
                "type": "string",
                "format": "date-time",
                "description": "Accounts with pausedAt before this date-time"
              },
              "renewalSince": {
                "type": "string",
                "format": "date-time",
                "description": "Accounts with renewalDate after this date-time"
              },
              "renewalUntil": {
                "type": "string",
                "format": "date-time",
                "description": "Accounts with renewalDate before this date-time"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AccountStatusWithDeleted"
                },
                "description": "Accounts by list of status"
              }
            }
          }
        ]
      },
      "AccountsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/AccountsListFilter"
              }
            }
          }
        ]
      },
      "AccountsListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AccountsFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys",
            "description": "List Accounts Filter"
          }
        ]
      },
      "AccountsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "accounts": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Account"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/AccountsListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "AdditionalCharge": {
        "type": "object",
        "required": [
          "type",
          "value"
        ],
        "properties": {
          "type": {
            "$ref": "#/components/schemas/AdditionalChargeType",
            "description": "Additional charge type"
          },
          "value": {
            "type": "number",
            "description": "absolute value of additional charge"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Order charge created at"
          },
          "label": {
            "type": "string",
            "description": "optional additional charge"
          },
          "lineItemId": {
            "type": "string",
            "description": "optional reference to lineItems[].uniqueId for lineItem additional charge"
          },
          "reference": {
            "type": "string",
            "description": "optional id/name for additional charge"
          }
        }
      },
      "AdditionalChargeType": {
        "type": "string",
        "description": "Additional charge type",
        "enum": [
          "handling",
          "wrapping",
          "shipping",
          "other"
        ]
      },
      "Address": {
        "type": "object",
        "properties": {
          "address1": {
            "description": "Address",
            "type": "string"
          },
          "address2": {
            "description": "Address Line 2",
            "type": "string"
          },
          "addressType": {
            "$ref": "#/components/schemas/AddressType"
          },
          "city": {
            "description": "City",
            "type": "string"
          },
          "company": {
            "description": "Company",
            "type": "string"
          },
          "country": {
            "description": "ISO 2 letter code only",
            "type": "string"
          },
          "email": {
            "description": "email",
            "type": "string"
          },
          "firstName": {
            "description": "First Name",
            "type": "string"
          },
          "lastName": {
            "description": "Last Name",
            "type": "string"
          },
          "phone": {
            "description": "Phone",
            "type": "string"
          },
          "stateOrProvince": {
            "description": "If within the US, required 2 letter State Code",
            "type": "string"
          },
          "zipCodeOrPostalCode": {
            "description": "zipcode or postal code",
            "type": "string"
          }
        }
      },
      "AddressNullable": {
        "type": "object",
        "nullable": true,
        "properties": {
          "address1": {
            "description": "Address",
            "type": "string"
          },
          "address2": {
            "description": "Address Line 2",
            "type": "string",
            "nullable": true
          },
          "addressType": {
            "$ref": "#/components/schemas/AddressType"
          },
          "city": {
            "description": "City",
            "type": "string"
          },
          "company": {
            "description": "Company",
            "type": "string"
          },
          "country": {
            "description": "ISO 2 letter code only",
            "type": "string"
          },
          "email": {
            "description": "email",
            "type": "string"
          },
          "firstName": {
            "description": "First Name",
            "type": "string"
          },
          "lastName": {
            "description": "Last Name",
            "type": "string"
          },
          "phone": {
            "description": "Phone",
            "type": "string"
          },
          "stateOrProvince": {
            "description": "If within the US, required 2 letter State Code",
            "type": "string"
          },
          "zipCodeOrPostalCode": {
            "description": "zipcode or postal code",
            "type": "string"
          }
        }
      },
      "AddressType": {
        "type": "string",
        "enum": [
          "residential",
          "commercial",
          "institutional",
          "military",
          "pobox",
          "other"
        ]
      },
      "AddressUpdateData": {
        "type": "object",
        "properties": {
          "address1": {
            "description": "Address",
            "type": "string"
          },
          "address2": {
            "description": "Address Line 2",
            "type": "string"
          },
          "addressType": {
            "$ref": "#/components/schemas/AddressType",
            "nullable": true
          },
          "city": {
            "description": "City",
            "type": "string"
          },
          "company": {
            "description": "Company",
            "type": "string"
          },
          "country": {
            "description": "ISO 2 letter code only",
            "type": "string"
          },
          "email": {
            "description": "email",
            "type": "string"
          },
          "firstName": {
            "description": "First Name",
            "type": "string"
          },
          "lastName": {
            "description": "Last Name",
            "type": "string"
          },
          "phone": {
            "description": "Phone",
            "type": "string"
          },
          "stateOrProvince": {
            "description": "If within the US, required 2 letter State Code",
            "type": "string"
          },
          "zipCodeOrPostalCode": {
            "description": "zipcode or postal code",
            "type": "string"
          }
        }
      },
      "Any": {
        "type": "object"
      },
      "AnyValue": {},
      "ApiKey": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "apikeyId": {
                "type": "string",
                "description": "API key Id"
              },
              "key_type": {
                "$ref": "#/components/schemas/ApiKeyType"
              },
              "userId": {
                "type": "string",
                "description": "User ID of the key creator, if known"
              }
            }
          },
          {
            "$ref": "#/components/schemas/ApiKeyCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "ApiKeyCreateData": {
        "type": "object",
        "required": [
          "name",
          "methods",
          "allowedIPs"
        ],
        "properties": {
          "allowedIPs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "IP/CIDR Whitelist"
          },
          "methods": {
            "$ref": "#/components/schemas/Methods"
          },
          "name": {
            "type": "string",
            "description": "API Key Name"
          },
          "connector": {
            "type": "string",
            "description": "Connector ID"
          },
          "description": {
            "type": "string",
            "description": "API Key Description"
          },
          "environment": {
            "$ref": "#/components/schemas/Env"
          },
          "integration": {
            "type": "string",
            "description": "Integration ID"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "tier": {
            "$ref": "#/components/schemas/Tier"
          },
          "type": {
            "type": "string",
            "enum": [
              "regular",
              "temporary"
            ],
            "description": "API Key type (default - `regular`)"
          }
        }
      },
      "ApiKeyCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "ApiKeyCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ApiKeyCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "ApiKeyCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "required": [
              "apikey"
            ],
            "properties": {
              "apikey": {
                "type": "string",
                "description": "New Api Key"
              },
              "apikeyId": {
                "type": "string",
                "description": "New Api Key ID"
              }
            }
          }
        ]
      },
      "ApiKeyFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "ApiKeyFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "apikey": {
                "$ref": "#/components/schemas/ApiKey"
              }
            }
          }
        ]
      },
      "ApiKeyRotateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "apikey": {
                "type": "string",
                "description": "New Api Key"
              },
              "apikeyId": {
                "type": "string",
                "description": "Api Key ID"
              }
            }
          }
        ]
      },
      "ApiKeyType": {
        "type": "string",
        "enum": [
          "masterkey",
          "signupkey",
          "portalkey",
          "customkey",
          "connectorkey",
          "integrationkey",
          "multiorgkey"
        ]
      },
      "ApiKeyUpdateData": {
        "type": "object",
        "properties": {
          "allowedIPs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "IP/CIDR Whitelist"
          },
          "description": {
            "type": "string",
            "description": "API Key Description"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "methods": {
            "$ref": "#/components/schemas/MethodsUpdateData"
          },
          "name": {
            "type": "string",
            "description": "API Key Name"
          },
          "tier": {
            "type": "string",
            "description": "Usage plan"
          }
        }
      },
      "ApiKeyUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "apikey": {
                "$ref": "#/components/schemas/ApiKeyUpdateData"
              }
            }
          }
        ]
      },
      "ApiKeyUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ApiKeyUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "ApiKeyUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "apikey": {
                "$ref": "#/components/schemas/ApiKey"
              }
            }
          }
        ]
      },
      "ApiKeyValue": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "apikey": {
                "type": "string",
                "description": "API key value"
              },
              "apikeyId": {
                "type": "string",
                "description": "API key Id"
              },
              "key_type": {
                "$ref": "#/components/schemas/ApiKeyType"
              },
              "userId": {
                "type": "string",
                "description": "User ID of the key creator, if known"
              }
            }
          },
          {
            "$ref": "#/components/schemas/ApiKeyCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "ApiKeyValueFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "apikey": {
                "$ref": "#/components/schemas/ApiKeyValue"
              }
            }
          }
        ]
      },
      "ApiKeysDeleteError": {
        "type": "object",
        "xml": {
          "name": "response"
        },
        "required": [
          "success",
          "code"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "description": "Copy of HTTP status",
            "format": "int32",
            "minimum": 400,
            "example": 404
          },
          "success": {
            "type": "boolean",
            "description": "Always false",
            "enum": [
              false
            ],
            "example": false
          },
          "conflict": {
            "type": "object",
            "description": "Details of the conflicting state, when the failure is a 409. The shape depends on the endpoint — a duplicate-key failure carries the offending keys, while /shipping_requests/{id}/request-labels carries `labels` (the labels the shipment already holds), `existingExtLabelIds` (the extLabelIds already claimed) or `refundedExtLabelIds` (extLabelIds belonging to refunded labels, which cannot be reused)."
          },
          "errors": {
            "type": "array",
            "description": "Error detail",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "string",
            "description": "Error message"
          },
          "vendorCode": {
            "type": "string",
            "description": "Vendor-specific error code passed through from a downstream connector/carrier (e.g. EasyPost \"SHIPMENT.REFUND.UNAVAILABLE\"). Present only when the failure originated at the vendor."
          }
        }
      },
      "ApiKeysDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "message": {
                "type": "string",
                "example": "OK (but NYI)"
              }
            }
          }
        ]
      },
      "ApiKeysFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "API Keys Filter",
            "properties": {
              "apikeyId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "API Keys by list of apikey ids"
              },
              "connector": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "List API Keys by matching connector id(s)"
              },
              "integration": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "List API Keys by matching integration id(s)"
              },
              "name": {
                "type": "string",
                "description": "List API Keys by matching name(s)"
              },
              "type": {
                "type": "string",
                "enum": [
                  "regular",
                  "temporary"
                ]
              }
            }
          }
        ]
      },
      "ApiKeysListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/ApiKeysListFilter"
              }
            }
          }
        ]
      },
      "ApiKeysListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ApiKeysFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys",
            "description": "List API Keys Filter"
          }
        ]
      },
      "ApiKeysListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "apikeys": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ApiKey"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/ApiKeysListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "Appeasement": {
        "type": "object",
        "properties": {
          "appeasementId": {
            "type": "string",
            "description": "Appeasement ID"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string",
            "description": "userId of the creator"
          },
          "currency": {
            "type": "string",
            "description": "Currency code from the order"
          },
          "extOrderId": {
            "type": "string",
            "description": "External order ID"
          },
          "note": {
            "type": "string",
            "description": "Note"
          },
          "orderId": {
            "type": "string",
            "description": "Order ID"
          },
          "orgKey": {
            "type": "string"
          },
          "refunds": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AppeasementRefund"
            }
          },
          "status": {
            "$ref": "#/components/schemas/AppeasementStatus"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "AppeasementCode": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "Refund amount"
          },
          "appeasementCodeId": {
            "type": "string",
            "description": "Appeasement Code ID"
          },
          "authorizedRoles": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "string",
            "description": "userId of the creator"
          },
          "description": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "Unique name within the org"
          },
          "orgKey": {
            "type": "string"
          },
          "placement": {
            "type": "number",
            "description": "Display order"
          },
          "refundType": {
            "$ref": "#/components/schemas/AppeasementCodeRefundType"
          },
          "scope": {
            "$ref": "#/components/schemas/AppeasementCodeScope"
          },
          "status": {
            "$ref": "#/components/schemas/AppeasementCodeStatus"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "version": {
            "type": "number",
            "description": "Current version number"
          }
        }
      },
      "AppeasementCodeCreateData": {
        "type": "object",
        "required": [
          "name",
          "scope",
          "refundType"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Unique name within the org (among non-deleted codes)"
          },
          "refundType": {
            "$ref": "#/components/schemas/AppeasementCodeRefundType"
          },
          "scope": {
            "$ref": "#/components/schemas/AppeasementCodeScope"
          },
          "amount": {
            "type": "number",
            "description": "Refund amount (percentage 1-100 for percent, fixed currency amount for flat, not required for manualEntry)"
          },
          "authorizedRoles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Role names that can use this code. Empty array means all users can use it."
          },
          "description": {
            "type": "string",
            "description": "Description of this appeasement code"
          },
          "placement": {
            "type": "number",
            "description": "Display order in the CSR selection list"
          }
        }
      },
      "AppeasementCodeCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "appeasementCode": {
                "$ref": "#/components/schemas/AppeasementCodeCreateData"
              }
            }
          }
        ]
      },
      "AppeasementCodeCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AppeasementCodeCreateData"
          }
        ]
      },
      "AppeasementCodeCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "appeasementCode": {
                "$ref": "#/components/schemas/AppeasementCode"
              }
            }
          }
        ]
      },
      "AppeasementCodeFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "AppeasementCodeFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "appeasementCode": {
                "$ref": "#/components/schemas/AppeasementCode"
              }
            }
          }
        ]
      },
      "AppeasementCodeRefundType": {
        "type": "string",
        "description": "How the refund amount is determined.\n\n`percent` -- a percentage (1-100) of the scope's value.\n\n`flat` -- a fixed currency amount.\n\n`manualEntry` -- an arbitrary amount supplied per appeasement.\n\n`cancelation` -- cancels the refund's `quantity` on the order line item and\nrefunds that quantity's share of the line, net of the line's own discount.\nThe canceled quantity is subtracted from the line's `quantity` and added to\nits `canceled` counter, `ordered` retains the original quantity, and\n`requiresShipping` becomes false once the whole line is canceled. Unshipped\nunits already committed to a shipping request are released, and a request\nleft with nothing to ship is canceled. Requires scope `lineItem`; the code's\n`amount` is not used.\n",
        "enum": [
          "percent",
          "flat",
          "manualEntry",
          "cancelation"
        ]
      },
      "AppeasementCodeScope": {
        "type": "string",
        "description": "Scope of the appeasement code",
        "enum": [
          "lineItem",
          "shipping",
          "order"
        ]
      },
      "AppeasementCodeStatus": {
        "type": "string",
        "description": "Appeasement code status",
        "enum": [
          "active",
          "inactive"
        ]
      },
      "AppeasementCodeUpdateData": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "nullable": true,
            "description": "Refund amount. Send null to clear it, which a cancelation refundType requires."
          },
          "authorizedRoles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Role names that can use this code",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Description of this appeasement code",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Unique name within the org (among non-deleted codes)"
          },
          "placement": {
            "type": "number",
            "description": "Display order in the CSR selection list"
          },
          "refundType": {
            "$ref": "#/components/schemas/AppeasementCodeRefundType"
          },
          "status": {
            "$ref": "#/components/schemas/AppeasementCodeStatus"
          }
        }
      },
      "AppeasementCodeUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "appeasementCode": {
                "$ref": "#/components/schemas/AppeasementCodeUpdateData"
              }
            }
          }
        ]
      },
      "AppeasementCodeUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AppeasementCodeUpdateData"
          }
        ]
      },
      "AppeasementCodeUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "appeasementCode": {
                "$ref": "#/components/schemas/AppeasementCode"
              }
            }
          }
        ]
      },
      "AppeasementCodesListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/AppeasementCodesListFilter"
              }
            }
          }
        ]
      },
      "AppeasementCodesListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "description": "Appeasement Codes Filter",
            "properties": {
              "appeasementCodeId": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "createdBy": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "name": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "refundType": {
                "$ref": "#/components/schemas/AppeasementCodeRefundType"
              },
              "scope": {
                "$ref": "#/components/schemas/AppeasementCodeScope"
              },
              "status": {
                "$ref": "#/components/schemas/AppeasementCodeStatus"
              }
            }
          }
        ]
      },
      "AppeasementCodesListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "appeasementCodes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AppeasementCode"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/AppeasementCodesListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "AppeasementCreateData": {
        "type": "object",
        "required": [
          "orderId",
          "refunds"
        ],
        "properties": {
          "orderId": {
            "type": "string",
            "description": "ID of the order this appeasement applies to"
          },
          "refunds": {
            "type": "array",
            "description": "List of refunds in this appeasement",
            "items": {
              "$ref": "#/components/schemas/AppeasementRefundInput"
            }
          },
          "extOrderId": {
            "type": "string",
            "description": "External order ID"
          },
          "note": {
            "type": "string",
            "description": "Optional note for this appeasement"
          }
        }
      },
      "AppeasementCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "appeasement": {
                "$ref": "#/components/schemas/AppeasementCreateData"
              }
            }
          }
        ]
      },
      "AppeasementCreatePartialResponse": {
        "type": "object",
        "required": [
          "success",
          "code"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32",
            "description": "Copy of HTTP status",
            "enum": [
              207
            ],
            "example": 207
          },
          "success": {
            "type": "boolean",
            "description": "Always true - the appeasement itself was created",
            "enum": [
              true
            ],
            "example": true
          },
          "appeasement": {
            "$ref": "#/components/schemas/Appeasement"
          },
          "errors": {
            "type": "array",
            "description": "One entry per cancelation that could not be applied",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "string",
            "example": "Created, but the cancelation could not be fully applied"
          }
        }
      },
      "AppeasementCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AppeasementCreateData"
          }
        ]
      },
      "AppeasementCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "appeasement": {
                "$ref": "#/components/schemas/Appeasement"
              }
            }
          }
        ]
      },
      "AppeasementFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "AppeasementFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "appeasement": {
                "$ref": "#/components/schemas/Appeasement"
              }
            }
          }
        ]
      },
      "AppeasementRefund": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number"
          },
          "appeasementCodeId": {
            "type": "string"
          },
          "appeasementType": {
            "type": "string",
            "enum": [
              "lineItem",
              "shipping",
              "order"
            ]
          },
          "codeVersion": {
            "type": "number",
            "description": "Version of the appeasement code at time of creation"
          },
          "itemId": {
            "type": "string"
          },
          "quantity": {
            "type": "integer",
            "description": "Whole number of units of the line item canceled by this refund"
          },
          "refundType": {
            "$ref": "#/components/schemas/AppeasementCodeRefundType",
            "description": "refundType of the appeasement code at time of creation"
          }
        }
      },
      "AppeasementRefundInput": {
        "type": "object",
        "required": [
          "appeasementType",
          "appeasementCodeId",
          "amount"
        ],
        "properties": {
          "amount": {
            "type": "number",
            "description": "Currency amount to refund (must be > 0)"
          },
          "appeasementCodeId": {
            "type": "string",
            "description": "ID of the appeasement code to apply"
          },
          "appeasementType": {
            "type": "string",
            "description": "Type of refund",
            "enum": [
              "lineItem",
              "shipping",
              "order"
            ]
          },
          "itemId": {
            "type": "string",
            "description": "Line item uniqueId (required when appeasementType is lineItem)"
          },
          "quantity": {
            "type": "integer",
            "description": "Whole number of units of the line item to cancel. Required when the\nappeasement code's `refundType` is `cancelation`, and not permitted for\nany other `refundType`.\n"
          }
        }
      },
      "AppeasementStatus": {
        "type": "string",
        "description": "Appeasement status",
        "enum": [
          "approved"
        ]
      },
      "AppeasementUpdateData": {
        "type": "object",
        "properties": {
          "note": {
            "type": "string",
            "description": "Updated note for the appeasement"
          }
        }
      },
      "AppeasementUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "appeasement": {
                "$ref": "#/components/schemas/AppeasementUpdateData"
              }
            }
          }
        ]
      },
      "AppeasementUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AppeasementUpdateData"
          }
        ]
      },
      "AppeasementUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "appeasement": {
                "$ref": "#/components/schemas/Appeasement"
              }
            }
          }
        ]
      },
      "AppeasementsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/AppeasementsListFilter"
              }
            }
          }
        ]
      },
      "AppeasementsListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "description": "Appeasements Filter",
            "properties": {
              "appeasementId": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "createdBy": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "extOrderId": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "orderId": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "status": {
                "$ref": "#/components/schemas/AppeasementStatus"
              }
            }
          }
        ]
      },
      "AppeasementsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "appeasements": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Appeasement"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/AppeasementsListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "Arrival": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "arrivalId": {
                "type": "string",
                "description": "Arrival notification ID"
              },
              "exceptionCategories": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "References to categories of exceptions related to the arrival"
              },
              "exceptions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Types of exceptions related to the arrival"
              },
              "integration": {
                "type": "string",
                "description": "Reference to integration that created arrival"
              },
              "orderIntegration": {
                "type": "string",
                "description": "Reference to integration that created order tied to arrival"
              },
              "status": {
                "$ref": "#/components/schemas/ArrivalStatus"
              },
              "timeline": {
                "description": "Timeline of updates",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ArrivalChangelogEntry"
                }
              }
            }
          },
          {
            "$ref": "#/components/schemas/ArrivalCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "ArrivalChangelogEntry": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "arrivalId": {
                "type": "string",
                "description": "Arrival Id"
              },
              "purchaseId": {
                "type": "string",
                "description": "Purchase order Id"
              },
              "transferId": {
                "type": "string",
                "description": "Transfer order Id"
              }
            }
          },
          {
            "$ref": "#/components/schemas/ChangelogEntryBase"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "ArrivalCreateData": {
        "type": "object",
        "xml": {
          "name": "arrival"
        },
        "required": [
          "senderName",
          "toLocationId"
        ],
        "properties": {
          "senderName": {
            "type": "string",
            "description": "Sender's Name"
          },
          "toLocationId": {
            "type": "string",
            "description": "Arrival Location ID"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "expectedArrivalDate": {
            "type": "string",
            "format": "date-time",
            "description": "Expected Arrival Date"
          },
          "extArrivalApiId": {
            "type": "string",
            "description": "External System Arrival API ID"
          },
          "extArrivalId": {
            "type": "string",
            "description": "Reference to arrival on external system (vendor)"
          },
          "extOrderId": {
            "type": "string",
            "description": "External TO or PO ID"
          },
          "extReferenceId": {
            "type": "string",
            "description": "Reference ID"
          },
          "extShipmentId": {
            "type": "string",
            "description": "External shipment ID"
          },
          "extStatus": {
            "type": "string",
            "description": "Arrival status on external system"
          },
          "fromAddress": {
            "$ref": "#/components/schemas/Address"
          },
          "fromLocationId": {
            "type": "string",
            "description": "Sender Location ID (for TO)"
          },
          "fulfillmentId": {
            "type": "string",
            "description": "Fulfillment ID"
          },
          "holdUntil": {
            "type": "string",
            "format": "date-time"
          },
          "incoterms": {
            "type": "string",
            "description": "International Commercial Terms"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ArrivalLineItem"
            }
          },
          "purchaseId": {
            "type": "string",
            "description": "Purchase Order ID"
          },
          "shippingCarrier": {
            "type": "string",
            "description": "Shipping Carrier"
          },
          "shippingMethod": {
            "type": "string",
            "description": "Shipping Method"
          },
          "shippingNote": {
            "type": "string",
            "description": "Shipping Note"
          },
          "sourceDoc": {
            "$ref": "#/components/schemas/SourceDoc"
          },
          "status": {
            "$ref": "#/components/schemas/ArrivalStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "totalWeight": {
            "type": "string",
            "description": "Total Weight"
          },
          "trackingNumber": {
            "type": "string",
            "description": "Tracking number"
          },
          "transferId": {
            "type": "string",
            "description": "Transfer Order ID"
          },
          "transport": {
            "$ref": "#/components/schemas/ArrivalTransport"
          },
          "weightUnit": {
            "type": "string",
            "description": "Weight Unit"
          }
        }
      },
      "ArrivalCreateResult": {
        "type": "object",
        "properties": {
          "arrival": {
            "$ref": "#/components/schemas/Arrival"
          },
          "conflict": {
            "type": "object",
            "description": "Duplicate key error details, if failed"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Error details if failed"
          },
          "message": {
            "type": "string",
            "description": "Error message if failed"
          },
          "status": {
            "type": "string",
            "enum": [
              "submitted",
              "failed"
            ]
          }
        }
      },
      "ArrivalFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "ArrivalFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "arrival": {
                "$ref": "#/components/schemas/Arrival"
              }
            }
          }
        ]
      },
      "ArrivalLineItem": {
        "type": "object",
        "required": [
          "uniqueId",
          "sku",
          "quantity"
        ],
        "properties": {
          "quantity": {
            "type": "number",
            "format": "float",
            "description": "Item Quantity"
          },
          "sku": {
            "type": "string",
            "description": "Item SKU"
          },
          "uniqueId": {
            "type": "string",
            "description": "Item unique Id (within an order)"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "expirationDate": {
            "description": "Item expirationDate provided by fulfillment channel",
            "type": "string",
            "format": "date-time"
          },
          "extOrderId": {
            "type": "string",
            "description": "extOrderId if different than arrival.extOrderId"
          },
          "lotNumber": {
            "type": "string",
            "description": "Item lotNumber provided by fulfillment channel"
          },
          "name": {
            "type": "string",
            "description": "Item Name"
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "palletQuantity": {
            "type": "number",
            "format": "integer"
          },
          "purchaseId": {
            "type": "string",
            "description": "purchaseId if different than arrival.purchaseId"
          },
          "quantityUnit": {
            "$ref": "#/components/schemas/ItemQuantityUnit"
          },
          "receivedQuantity": {
            "type": "number",
            "format": "float",
            "description": "Item Arrived Quantity"
          },
          "serialNumbers": {
            "description": "Item serial numbers provided by fulfillment channel. Each entry is either a single serial (e.g. \"10105\") or an inclusive alphanumeric range \"FROM..TO\" using the \"..\" separator (e.g. \"10120..10199\" or \"SN-00100..SN-00199\"). Range endpoints must share an identical prefix and end with a numeric tail. Single serials may contain hyphens; only \"..\" denotes a range.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "transferId": {
            "type": "string",
            "description": "transferId if different than arrival.purchaseId"
          },
          "upc": {
            "type": "string",
            "description": "Item UPC"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Channel SKU for this item. On a write made with withSKUMapping, the channel SKU that 'sku' was resolved from is recorded here.\n"
          }
        }
      },
      "ArrivalStatus": {
        "type": "string",
        "description": "Arrival notification Status",
        "enum": [
          "draft",
          "shipped",
          "expected",
          "partialReceived",
          "received",
          "canceled",
          "failed"
        ]
      },
      "ArrivalTransport": {
        "type": "object",
        "properties": {
          "BOL": {
            "type": "string"
          },
          "containerNumber": {
            "type": "string"
          },
          "containerSize": {
            "type": "string"
          },
          "containerType": {
            "type": "string"
          },
          "seal": {
            "type": "string"
          },
          "trailerNumber": {
            "type": "string"
          },
          "trailerSize": {
            "type": "string"
          },
          "trailerType": {
            "type": "string"
          }
        }
      },
      "ArrivalUpdateData": {
        "type": "object",
        "properties": {
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "expectedArrivalDate": {
            "type": "string",
            "format": "date-time",
            "description": "Expected Arrival Date"
          },
          "extArrivalId": {
            "type": "string",
            "description": "Reference to arrival on external system (vendor)"
          },
          "extReferenceId": {
            "type": "string",
            "description": "Reference ID"
          },
          "extStatus": {
            "type": "string",
            "nullable": true,
            "description": "Arrival status on external system"
          },
          "fromAddress": {
            "$ref": "#/components/schemas/Address"
          },
          "fromLocationId": {
            "type": "string",
            "description": "Sender Location ID (for TO)"
          },
          "holdUntil": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "incoterms": {
            "type": "string",
            "description": "International Commercial Terms"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ArrivalLineItem"
            }
          },
          "senderName": {
            "type": "string",
            "description": "Sender's Name"
          },
          "shippingCarrier": {
            "type": "string",
            "description": "Shipping Carrier"
          },
          "shippingMethod": {
            "type": "string",
            "description": "Shipping Method"
          },
          "shippingNote": {
            "type": "string",
            "description": "Shipping Note"
          },
          "sourceDoc": {
            "nullable": true,
            "$ref": "#/components/schemas/SourceDoc"
          },
          "status": {
            "$ref": "#/components/schemas/ArrivalStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "toLocationId": {
            "type": "string",
            "description": "Arrival Location ID"
          },
          "totalWeight": {
            "type": "string",
            "description": "Total Weight"
          },
          "trackingNumber": {
            "type": "string",
            "description": "Tracking number"
          },
          "transport": {
            "nullable": true,
            "$ref": "#/components/schemas/ArrivalTransport"
          },
          "weightUnit": {
            "type": "string",
            "description": "Weight Unit"
          }
        }
      },
      "ArrivalUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "arrival": {
                "$ref": "#/components/schemas/ArrivalUpdateData"
              }
            }
          }
        ]
      },
      "ArrivalUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ArrivalUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "ArrivalUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "arrival": {
                "$ref": "#/components/schemas/Arrival"
              }
            }
          }
        ]
      },
      "ArrivalsCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "arrivals": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ArrivalCreateResult"
                }
              }
            }
          }
        ]
      },
      "ArrivalsCreateRequest": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ArrivalCreateData"
        },
        "xml": {
          "name": "request",
          "wrapped": true
        },
        "maxItems": 10
      },
      "ArrivalsCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "arrivals": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ArrivalCreateResult"
                }
              }
            }
          }
        ]
      },
      "ArrivalsDeleteError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/ArrivalsDeleteFilter"
              }
            }
          }
        ]
      },
      "ArrivalsDeleteFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ArrivalsFilter"
          },
          {
            "type": "object",
            "description": "Delete Arrivals Filter",
            "properties": {
              "orgMode": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrganizationMode"
                },
                "description": "Arrivals assigned these orgModes"
              }
            }
          }
        ]
      },
      "ArrivalsDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "arrivals": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Arrival"
                }
              },
              "deleted": {
                "type": "integer",
                "description": "Number of deleted arrivals"
              },
              "filters": {
                "$ref": "#/components/schemas/ArrivalsDeleteFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "ArrivalsFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Arrivals Filter",
            "properties": {
              "arrivalId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Arrivals by list of arrivalId"
              },
              "deleted": {
                "type": "boolean",
                "description": "Soft deleted arrivals"
              },
              "extArrivalId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Arrivals by list extArrivalId"
              },
              "extOrderId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Arrivals by list external orders (PO or TO)"
              },
              "extReferenceId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Arrivals by `extReferenceId` list"
              },
              "fromLocationId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Arrivals by list fromLocationId"
              },
              "fulfillmentId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Arrivals by list fulfillmentId"
              },
              "hasSourceDoc": {
                "type": "boolean",
                "description": "Arrivals containing a source document"
              },
              "integration": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Arrivals of these integrations"
              },
              "purchaseId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Arrivals by list purchase orders"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ArrivalStatus"
                },
                "description": "Arrivals in specific status"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              },
              "toLocationId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Arrivals by list toLocationId"
              },
              "transferId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Arrivals by list transfer orders"
              }
            }
          }
        ]
      },
      "ArrivalsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/ArrivalsListFilter"
              }
            }
          }
        ]
      },
      "ArrivalsListFilter": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "exceptionCategoryId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Arrivals by list of categories of the arrival related exceptions"
              },
              "exceptionType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Arrivals by list of types of the arrival related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)"
              }
            }
          },
          {
            "$ref": "#/components/schemas/ArrivalsFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys",
            "description": "List Arrivals Filter"
          }
        ]
      },
      "ArrivalsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "required": [
              "arrivals"
            ],
            "properties": {
              "arrivals": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Arrival"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/ArrivalsListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "AssignShipmentToWaveRequest": {
        "type": "object",
        "required": [
          "shipmentId",
          "waveType"
        ],
        "properties": {
          "shipmentId": {
            "type": "string",
            "description": "Shipment Request ID to assign to a wave"
          },
          "waveType": {
            "$ref": "#/components/schemas/WaveType"
          }
        }
      },
      "AssignShipmentToWaveResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "action": {
                "type": "string",
                "enum": [
                  "added_to_existing_wave",
                  "created_new_wave"
                ],
                "description": "Action taken (added to existing wave or created new wave)"
              },
              "wave": {
                "$ref": "#/components/schemas/Wave"
              }
            }
          }
        ]
      },
      "AssignToteRequest": {
        "type": "object",
        "required": [
          "toteBarcode",
          "userId"
        ],
        "properties": {
          "toteBarcode": {
            "type": "string",
            "description": "Tote barcode identifier"
          },
          "userId": {
            "type": "string",
            "description": "Associate user ID"
          },
          "stagingLocation": {
            "type": "string",
            "description": "Staging location identifier"
          }
        }
      },
      "AssignToteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "shipment": {
                "$ref": "#/components/schemas/Shipment"
              }
            }
          }
        ]
      },
      "AutoEngUpdateStatus": {
        "type": "string",
        "enum": [
          "initialPending",
          "pending",
          "updated",
          "none",
          "disabled",
          "failed"
        ],
        "description": "A status that indicates whether or not the automation engine may update the entity sometime in the future.\nOnly set internally. Useful for services such as the order routing engine where the user intended order state is critical before action.\nUsed for orders and shipments.\n\nStatus definitions:\n- initialPending: the automation engine will process this entity in the first time.\n- pending: the automation engine will make an update to this entity in the future.\n- updated: the automation engine has successfully made an update to this entity.\n- none: No status to set because the org did not have an enabled automation at the time of create/update.\n- disabled: The automation engine will ignore this entity.\n- failed: the automation engine attempted to update this entity but was unable to. The entity will not be picked up again unless it is set back to pending, which can be done via the entity's sync endpoint.\n"
      },
      "AutoEngUpdateStatusUpdatedAt": {
        "type": "string",
        "format": "date-time",
        "description": "When the autoEngUpdateStatus was last updated"
      },
      "Automation": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "automationId": {
                "type": "string",
                "description": "The unique identifier of the automation."
              }
            }
          },
          {
            "$ref": "#/components/schemas/AutomationCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "AutomationAction": {
        "type": "object",
        "description": "'The action to be performed by the automation. Properties: type, config, and isEnabled. type is required'\n",
        "required": [
          "type"
        ],
        "properties": {
          "type": {
            "$ref": "#/components/schemas/AutomationActionType"
          },
          "config": {
            "$ref": "#/components/schemas/AutomationActionConfig"
          },
          "isEnabled": {
            "$ref": "#/components/schemas/AutomationActionIsEnabled"
          }
        }
      },
      "AutomationActionConfig": {
        "type": "object",
        "description": "'The configuration for the action. Will be dependent on the action type\n",
        "additionalProperties": true
      },
      "AutomationActionIsEnabled": {
        "type": "boolean",
        "description": "Determines whether or not the action is enabled."
      },
      "AutomationActionType": {
        "type": "string",
        "description": "The type of action to be performed by the automation rule.",
        "enum": [
          "UPDATE_EXCEPTION_PROP",
          "HOLD_ORDER",
          "CONDITIONAL_HOLD_ORDER",
          "CANCEL_ORDER",
          "ARCHIVE_ORDER",
          "UPDATE_ORDER_PROP",
          "UPDATE_SHIPMENT_PROP",
          "UPDATE_FULFILLMENT_PROP",
          "HOLD_SHIPMENT",
          "SET_ORDER_TO_DRAFT",
          "CREATE_EXCEPTION",
          "UPDATE_EXCEPTION_STATUS",
          "CODE_UPDATE_ENTITY",
          "TRIGGER_ORDER_ROUTING",
          "TRIGGER_ENTITY_SYNC",
          "UPDATE_PRODUCT_PROP",
          "ADJUST_SHIPMENT_INVENTORY",
          "ADJUST_FULFILLMENT_INVENTORY",
          "ADJUST_SHIPMENT_INVENTORY_LEVEL",
          "ADJUST_FULFILLMENT_INVENTORY_LEVEL",
          "RECONNECT_INTEGRATION",
          "UPDATE_LOCATION_PROP"
        ]
      },
      "AutomationCreateData": {
        "type": "object",
        "required": [
          "trigger",
          "entityType"
        ],
        "properties": {
          "trigger": {
            "$ref": "#/components/schemas/AutomationTrigger"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "isEnabled": {
            "type": "boolean",
            "description": "Whether the automation is enabled or not.",
            "default": true
          },
          "isPublic": {
            "type": "boolean",
            "description": "If set to true, the automation will be visible to all users. Public automations are maintained by the internal team.",
            "default": false,
            "x-p17Private": true
          }
        }
      },
      "AutomationCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "automation": {
                "$ref": "#/components/schemas/AutomationCreateData"
              }
            }
          }
        ]
      },
      "AutomationCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AutomationCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "AutomationCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "automation": {
                "$ref": "#/components/schemas/Automation"
              }
            }
          }
        ]
      },
      "AutomationFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "AutomationFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "automation": {
                "$ref": "#/components/schemas/Automation"
              }
            }
          }
        ]
      },
      "AutomationListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/AutomationsListFilter"
              }
            }
          }
        ]
      },
      "AutomationListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "automations": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Automation"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/AutomationsListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "AutomationRule": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "assessmentOrder": {
                "type": "integer",
                "description": "The order that the automation rule gets assessed. The default rule's order will be -1.",
                "minimum": -1
              },
              "automationRuleId": {
                "type": "string",
                "description": "The unique identifier of the automation rule"
              },
              "createdBy": {
                "type": "string",
                "description": "ID of the user who created the automation rule"
              },
              "isPublic": {
                "type": "boolean",
                "description": "True if the automation rule is associated with a public automation. Otherwise undefined."
              },
              "updatedBy": {
                "type": "string",
                "description": "ID of the user who last updated the automation rule"
              }
            }
          },
          {
            "$ref": "#/components/schemas/AutomationRuleCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "AutomationRuleActions": {
        "type": "array",
        "description": "The actions to be performed by the automation rule. An automation rule must contain at least one action.",
        "items": {
          "$ref": "#/components/schemas/AutomationAction",
          "minItems": 1
        }
      },
      "AutomationRuleAutomationId": {
        "type": "string",
        "description": "The ID of the parent automation"
      },
      "AutomationRuleCreateData": {
        "type": "object",
        "required": [
          "name",
          "filter",
          "automationId"
        ],
        "properties": {
          "automationId": {
            "$ref": "#/components/schemas/AutomationRuleAutomationId"
          },
          "filter": {
            "$ref": "#/components/schemas/AutomationRuleFilter"
          },
          "name": {
            "$ref": "#/components/schemas/AutomationRuleName"
          },
          "actions": {
            "$ref": "#/components/schemas/AutomationRuleActions"
          },
          "description": {
            "$ref": "#/components/schemas/AutomationRuleDescription"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "isDefault": {
            "$ref": "#/components/schemas/AutomationRuleIsDefault"
          },
          "isEnabled": {
            "$ref": "#/components/schemas/AutomationRuleIsEnabled"
          },
          "originAutomationRuleId": {
            "$ref": "#/components/schemas/AutomationRuleOriginAutomationRuleId"
          }
        }
      },
      "AutomationRuleCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "automationRule": {
                "$ref": "#/components/schemas/AutomationRuleCreateData"
              }
            }
          }
        ]
      },
      "AutomationRuleCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AutomationRuleCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "AutomationRuleCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "automationRule": {
                "$ref": "#/components/schemas/AutomationRule"
              }
            }
          }
        ]
      },
      "AutomationRuleDescription": {
        "type": "string",
        "description": "The description of the automation rule. A good place to note a rule's when, where and why.\n"
      },
      "AutomationRuleFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "AutomationRuleFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "automationRule": {
                "$ref": "#/components/schemas/AutomationRule"
              }
            }
          }
        ]
      },
      "AutomationRuleFilter": {
        "type": "object",
        "description": "Determines whether or not the automation rule is applied to the entity.",
        "properties": {
          "dependencies": {
            "description": "Additional dependencies the filter requires to evaluate.",
            "type": "array",
            "default": [],
            "items": {
              "$ref": "#/components/schemas/EvaluationDependency"
            }
          },
          "entityFilter": {
            "nullable": true,
            "type": "object",
            "required": [
              "name",
              "query",
              "entity"
            ],
            "properties": {
              "name": {
                "$ref": "#/components/schemas/EntityFilterName"
              },
              "query": {
                "$ref": "#/components/schemas/EntityFilterQuery"
              },
              "entity": {
                "$ref": "#/components/schemas/EntityName"
              }
            }
          },
          "entityTypes": {
            "description": "Filter by entity type, used by rules that handle multiple entity types (eg. exception rules)",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExceptionEntityName"
            }
          },
          "integrationIds": {
            "description": "The integration IDs to filter by.",
            "type": "array",
            "nullable": true,
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "relatedFilters": {
            "type": "object",
            "description": "'The related filters for the automation rule. Only present on exception related rules\n",
            "additionalProperties": true
          },
          "runOncePerEntity": {
            "description": "Whether the automation rule should run only once per entity. We'll check the runs history to determine if the rule has already run for an entity.",
            "type": "boolean",
            "nullable": true
          },
          "statuses": {
            "description": "The statuses of the entity to filter by.",
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        }
      },
      "AutomationRuleIsDefault": {
        "type": "boolean",
        "description": "Whether or not this is the default rule for the automation. There can only be one default rule within an automation rule and it must be enabled.\nThe default automation rule is something that's managed by the platform and will always execute last if no other rules that terminate the automation run are applied.\n",
        "default": false
      },
      "AutomationRuleIsEnabled": {
        "type": "boolean",
        "description": "Whether the automation rule is enabled or not. Disabled rules will not be assesesed when their parent automation is triggered.",
        "default": true
      },
      "AutomationRuleName": {
        "type": "string",
        "description": "The name of the automation rule. Must be unique within the automation."
      },
      "AutomationRuleOrderRequest": {
        "type": "object",
        "description": "Set Automation Rule Order Request",
        "properties": {
          "automationRuleIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of automation rule ids in the order they should be evaluated.\nMust include all automation rule ids for the automation, excluding that of the default automation rule.\n"
          }
        }
      },
      "AutomationRuleOriginAutomationRuleId": {
        "type": "string",
        "description": "The ID of the public automation rule that this rule was cloned from."
      },
      "AutomationRuleUpdateData": {
        "type": "object",
        "properties": {
          "actions": {
            "$ref": "#/components/schemas/AutomationRuleActions"
          },
          "description": {
            "$ref": "#/components/schemas/AutomationRuleDescription"
          },
          "filter": {
            "$ref": "#/components/schemas/AutomationRuleFilter"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "isEnabled": {
            "$ref": "#/components/schemas/AutomationRuleIsEnabled"
          },
          "name": {
            "$ref": "#/components/schemas/AutomationRuleName"
          },
          "originAutomationRuleId": {
            "$ref": "#/components/schemas/AutomationRuleOriginAutomationRuleId",
            "nullable": true
          }
        }
      },
      "AutomationRuleUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "AutomationRuleUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AutomationRuleUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "AutomationRuleUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          }
        ]
      },
      "AutomationRulesListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/AutomationRulesListFilter"
              }
            }
          }
        ]
      },
      "AutomationRulesListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "description": "Automation Rules Filter",
            "properties": {
              "automationId": {
                "$ref": "#/components/schemas/AutomationRulesListFilterAutomationId"
              },
              "automationRuleId": {
                "$ref": "#/components/schemas/AutomationRulesListFilterAutomationRuleId"
              },
              "deleted": {
                "type": "boolean",
                "description": "Filter by deleted status"
              },
              "isEnabled": {
                "$ref": "#/components/schemas/AutomationRuleIsEnabled"
              },
              "isPublic": {
                "type": "boolean",
                "description": "If true, only automation rules associated with a public automation will be returned"
              }
            }
          }
        ]
      },
      "AutomationRulesListFilterAutomationId": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Filter by matching automationId"
      },
      "AutomationRulesListFilterAutomationRuleId": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Filter by matching automationRuleId"
      },
      "AutomationRulesListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "automationRules": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AutomationRule"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/AutomationRulesListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "AutomationRun": {
        "allOf": [
          {
            "type": "object",
            "required": [
              "automationRunId",
              "status"
            ],
            "properties": {
              "automationRunId": {
                "type": "string",
                "description": "The unique identifier of the automation."
              },
              "status": {
                "type": "string",
                "description": "Status of the automation run"
              },
              "execCount": {
                "$ref": "#/components/schemas/AutomationRunExecCount"
              }
            }
          },
          {
            "$ref": "#/components/schemas/AutomationRunCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "AutomationRunAction": {
        "type": "object",
        "description": "An automation action captures something that the user wants done in the Automation run.\nAn automation action can consist of multiple steps.\n",
        "required": [
          "type"
        ],
        "properties": {
          "type": {
            "$ref": "#/components/schemas/AutomationActionType"
          },
          "config": {
            "$ref": "#/components/schemas/AutomationActionConfig"
          }
        }
      },
      "AutomationRunCreateData": {
        "type": "object",
        "required": [
          "entityId",
          "entityType",
          "automationId"
        ],
        "properties": {
          "automationId": {
            "type": "string",
            "description": "The type of the entity being operated on"
          },
          "entityId": {
            "type": "string",
            "description": "The id of the entity being operated on"
          },
          "entityType": {
            "type": "string",
            "enum": [
              "orders",
              "shipments",
              "fulfillments",
              "exceptions",
              "products"
            ]
          },
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AutomationRunAction"
            },
            "description": "Required. The actions that were planned out for the automation run.\n"
          },
          "automationRuleIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "IDs of the automation rules that matched the filter and had actions that were used.\nSome rules may have a passing filter but won't be used if a preceding rule had a terminal action.\nIn this case, those rule ids should not be included in this array.\n"
          },
          "completedAt": {
            "type": "string",
            "format": "date-time",
            "description": "The time the automation run was completed"
          },
          "errorMessage": {
            "type": "string",
            "description": "The error message if the automation run failed"
          },
          "failedAt": {
            "type": "string",
            "format": "date-time",
            "description": "The time the automation run failed"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "jobId": {
            "type": "string",
            "description": "The id of the job that created the automation run, it is only present if the automation run was created by a job"
          },
          "status": {
            "$ref": "#/components/schemas/AutomationRunStatus"
          },
          "steps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AutomationStep"
            },
            "description": "Required. The steps that were planned out for the automation run.\n"
          },
          "trigger": {
            "type": "string",
            "enum": [
              "event",
              "manual"
            ],
            "description": "event: (default) The run was created due to an event that triggered the automation\nmanual: The run was manually created by an user\n"
          }
        }
      },
      "AutomationRunCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "automationRun": {
                "$ref": "#/components/schemas/AutomationRunCreateData"
              }
            }
          }
        ]
      },
      "AutomationRunCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AutomationRunCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "AutomationRunCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "automationRun": {
                "$ref": "#/components/schemas/AutomationRun"
              }
            }
          }
        ]
      },
      "AutomationRunExecCount": {
        "minimum": 1,
        "type": "integer",
        "description": "The number of times the automation run has been executed. If a job fails and is retried, this number will increase."
      },
      "AutomationRunFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "AutomationRunFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "automationRun": {
                "$ref": "#/components/schemas/AutomationRun"
              }
            }
          }
        ]
      },
      "AutomationRunStatus": {
        "type": "string",
        "enum": [
          "IN_PROGRESS",
          "FAILED",
          "COMPLETED",
          "CANCELED"
        ]
      },
      "AutomationRunUpdateData": {
        "type": "object",
        "properties": {
          "automationRuleIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "IDs of the automation rules that matched the filter and had actions that were used.\nSome rules may have a passing filter but won't be used if a preceding rule had a terminal action.\nIn this case, those rule ids should not be included in this array.\n"
          },
          "completedAt": {
            "type": "string",
            "format": "date-time",
            "description": "The time the automation run was completed"
          },
          "errorMessage": {
            "type": "string",
            "description": "The error message if the automation run failed"
          },
          "execCount": {
            "$ref": "#/components/schemas/AutomationRunExecCount"
          },
          "failedAt": {
            "type": "string",
            "format": "date-time",
            "description": "The time the automation run failed"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/AutomationRunStatus"
          },
          "steps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AutomationStep"
            },
            "description": "The steps that the automation run will take.\n"
          }
        }
      },
      "AutomationRunUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "automationRun": {
                "$ref": "#/components/schemas/AutomationRunUpdateData"
              }
            }
          }
        ]
      },
      "AutomationRunUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AutomationRunUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "AutomationRunUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "automationRun": {
                "$ref": "#/components/schemas/AutomationRun"
              }
            }
          }
        ]
      },
      "AutomationRunsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/AutomationRunsListFilter"
              }
            }
          }
        ]
      },
      "AutomationRunsListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "description": "Automation runs list filter",
            "properties": {
              "automationId": {
                "$ref": "#/components/schemas/AutomationRunsListFilterAutomationId"
              },
              "automationRuleId": {
                "$ref": "#/components/schemas/AutomationRunsListFilterAutomationRuleId"
              },
              "automationRunId": {
                "$ref": "#/components/schemas/AutomationRunsListFilterAutomationRunId"
              },
              "entityId": {
                "$ref": "#/components/schemas/AutomationRunsListFilterEntityId"
              },
              "status": {
                "$ref": "#/components/schemas/AutomationRunsListFilterStatus"
              }
            }
          }
        ]
      },
      "AutomationRunsListFilterAutomationId": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Filter by matching automationId"
      },
      "AutomationRunsListFilterAutomationRuleId": {
        "description": "Filter by matching automationRuleId",
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "AutomationRunsListFilterAutomationRunId": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Filter by matching automationRunId"
      },
      "AutomationRunsListFilterEntityId": {
        "description": "Filter by matching entityid",
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "AutomationRunsListFilterStatus": {
        "description": "Filter by matching status",
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "AutomationRunsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "automationRuns": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AutomationRun"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/AutomationRunsListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "AutomationStep": {
        "type": "object",
        "description": "An automation step is derived from an AutomationRunAction and is a contains 2 types of information:\n1. A description of an atomic action for the system to execute. This is almost always going to be some kind of request to the Pipe17API or AWS.\n2. A status of the action\nThe system can combine multiple steps into a single step where appropriate. An example of this is the UPDATE_ORDER\nAutomationStep. If there are two adjacent steps that are both UPDATE_ORDER, the system will combine them into a single\nstep so that the effects occur in a single order update request. This consolidation will occur in the Automation engine\nand isn't something the API needs to worry about.\n",
        "required": [
          "type",
          "status"
        ],
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "PENDING",
              "FAILED",
              "COMPLETED"
            ]
          },
          "type": {
            "type": "string",
            "description": "The type of the step",
            "enum": [
              "UPDATE_ORDER",
              "UPDATE_SHIPMENT",
              "UPDATE_EXCEPTION",
              "UPDATE_FULFILLMENT",
              "SCHEDULE_ORDER_HOLD",
              "ASSESS_ENTITY_HOLD_CONDITION",
              "RELEASE_CONDITIONAL_HOLD",
              "CREATE_EXCEPTION",
              "UPDATE_EXCEPTION_STATUS",
              "SCHEDULE_SHIPMENT_HOLD",
              "TRIGGER_ENTITY_SYNC",
              "UPDATE_PRODUCT",
              "UPDATE_INVENTORY",
              "RECONNECT_INTEGRATION",
              "UPDATE_LOCATION"
            ]
          },
          "automationRuleId": {
            "type": "string",
            "description": "The id of the automation rule that created this step"
          },
          "completedAt": {
            "type": "string",
            "format": "date-time",
            "description": "The time the step was completed"
          },
          "config": {
            "type": "object",
            "description": "Configuration that's specific to the step type",
            "additionalProperties": true
          },
          "errorMessage": {
            "type": "string",
            "description": "The reason the step failed"
          },
          "failedAt": {
            "type": "string",
            "format": "date-time",
            "description": "The time the step failed."
          }
        }
      },
      "AutomationTrigger": {
        "type": "string",
        "description": "The name of the event that starts the automation.",
        "enum": [
          "NEW_ORDER",
          "ORDER_UPDATED",
          "SHIPMENT_UPDATED",
          "FULFILLMENT_CREATED",
          "MANUAL_ORDER",
          "MANUAL_SHIPMENT",
          "MANUAL_FULFILLMENT",
          "EXCEPTION_MODIFIED",
          "PRODUCT_UPDATED",
          "MANUAL_PRODUCT",
          "EXCEPTION_RESOLUTION"
        ]
      },
      "AutomationUpdateData": {
        "type": "object",
        "properties": {
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "isEnabled": {
            "type": "boolean",
            "description": "Whether the automation is enabled or not."
          }
        }
      },
      "AutomationUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "AutomationUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AutomationUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "AutomationUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "automation": {
                "$ref": "#/components/schemas/Automation"
              }
            }
          }
        ]
      },
      "AutomationsListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "description": "Automations Filter",
            "properties": {
              "automationId": {
                "$ref": "#/components/schemas/AutomationsListFilterAutomationId"
              },
              "deleted": {
                "type": "boolean",
                "description": "Filter by deleted status"
              },
              "trigger": {
                "$ref": "#/components/schemas/AutomationsListFilterTrigger"
              }
            }
          }
        ]
      },
      "AutomationsListFilterAutomationId": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Filter by matching automationId"
      },
      "AutomationsListFilterTrigger": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/AutomationTrigger"
        },
        "description": "Filter by matching automation trigger"
      },
      "BaseFilter": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int32",
            "description": "Return at most this many items"
          },
          "pagination": {
            "type": "string",
            "enum": [
              "disabled"
            ],
            "description": "Exclude pagination info from the response"
          },
          "since": {
            "type": "string",
            "format": "date-time",
            "description": "Items created after this date-time"
          },
          "skip": {
            "type": "integer",
            "format": "int32",
            "description": "Skip this many items"
          },
          "until": {
            "type": "string",
            "format": "date-time",
            "description": "Items created before this date-time"
          },
          "updatedSince": {
            "type": "string",
            "format": "date-time",
            "description": "Items updated after this date-time"
          },
          "updatedUntil": {
            "type": "string",
            "format": "date-time",
            "description": "Items updated before this date-time"
          }
        }
      },
      "BatchUpdatePickStatusRequest": {
        "type": "object",
        "required": [
          "shipmentIds",
          "pickStatus"
        ],
        "properties": {
          "pickStatus": {
            "$ref": "#/components/schemas/ShipmentPickStatus"
          },
          "shipmentIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "BatchUpdatePickStatusResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "results": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "shipmentId": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "updated",
                        "failed"
                      ]
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        ]
      },
      "Branding": {
        "type": "object",
        "description": "Branding information",
        "properties": {
          "copyright": {
            "type": "string",
            "description": "Copyright information"
          },
          "helpRequestURL": {
            "type": "string",
            "description": "Customer help desk URL"
          },
          "helpRequestURLExcludedDomains": {
            "type": "array",
            "nullable": true,
            "description": "Email domains whose users bypass branding.helpRequestURL and fall back to the default Pipe17 help request form. Each entry is a lowercase bare domain (no scheme, no path, e.g. \"pipe17.com\"). Empty or missing means no exemption.",
            "items": {
              "type": "string",
              "pattern": "^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+$"
            }
          },
          "logoURL": {
            "type": "string",
            "description": "Logo URL"
          },
          "privacyURL": {
            "type": "string",
            "description": "Privacy policy URL"
          }
        }
      },
      "CancelLabelBody": {
        "type": "object",
        "required": [
          "userId",
          "labelId"
        ],
        "properties": {
          "labelId": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          }
        }
      },
      "CancelLabelResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "labelId": {
                "type": "string"
              },
              "refundStatus": {
                "type": "string",
                "enum": [
                  "pending",
                  "accepted",
                  "rejected"
                ],
                "description": "Carrier refund state. `pending` is the typical 200 response (refund submitted, awaiting carrier confirmation via webhook). When the carrier later rejects the refund, the reason is recorded as an Exception on the label rather than returned here.\n"
              },
              "refundStatusRaw": {
                "type": "string",
                "description": "Raw vendor refund status."
              },
              "shipmentStatus": {
                "type": "string"
              }
            }
          }
        ]
      },
      "CapacityLimits": {
        "type": "object",
        "description": "Order routing capacity limits for BOSS + BOPIS",
        "nullable": true,
        "properties": {
          "effectiveDate": {
            "type": "string",
            "format": "date-time",
            "description": "When these limits take effect"
          },
          "maxNewOrdersPerDay": {
            "type": "integer",
            "minimum": 0,
            "description": "Max new BOSS + BOPIS orders to be routed per day",
            "default": 100
          },
          "maxOpenOrders": {
            "type": "integer",
            "minimum": 0,
            "description": "Max open BOSS + BOPIS orders at any given time",
            "default": 50
          }
        }
      },
      "CarrierConfig": {
        "type": "object",
        "description": "A carrier and its pickup windows at this store",
        "required": [
          "carrierCode",
          "enabled",
          "pickupSchedules"
        ],
        "properties": {
          "carrierCode": {
            "type": "string",
            "description": "Lowercase carrier identifier (e.g., ups, fedex, usps)"
          },
          "enabled": {
            "type": "boolean",
            "default": true,
            "description": "When false, this carrier's pickups are ignored"
          },
          "pickupSchedules": {
            "type": "array",
            "minItems": 1,
            "description": "Pickup windows for this carrier",
            "items": {
              "$ref": "#/components/schemas/CarrierPickupWindow"
            }
          },
          "isDefault": {
            "type": "boolean",
            "default": false,
            "description": "Marks the store's default carrier; at most one carrier per store may set this to true"
          }
        }
      },
      "CarrierCoordination": {
        "type": "object",
        "description": "Per-carrier pickup schedules; referenced by carrier_cutoff wave schedules",
        "required": [
          "carriers"
        ],
        "properties": {
          "carriers": {
            "type": "array",
            "description": "One entry per carrier serving the store",
            "items": {
              "$ref": "#/components/schemas/CarrierConfig"
            }
          }
        }
      },
      "CarrierPickupWindow": {
        "type": "object",
        "description": "A set of weekdays and the pickup time on those days",
        "required": [
          "days",
          "time"
        ],
        "properties": {
          "days": {
            "type": "array",
            "minItems": 1,
            "description": "Weekdays on which the pickup occurs at `time`",
            "items": {
              "$ref": "#/components/schemas/DayOfWeek"
            }
          },
          "time": {
            "type": "string",
            "description": "Pickup time (HH:mm) in the store's local timezone",
            "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$"
          }
        }
      },
      "Catalog": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "catalogId": {
                "type": "string",
                "description": "Auto Generated"
              },
              "exceptionCategories": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "References to categories of exceptions related to the catalog"
              },
              "exceptions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Types of exceptions related to the catalog"
              },
              "integration": {
                "type": "string",
                "description": "Reference to integration that created the catalog"
              }
            }
          },
          {
            "$ref": "#/components/schemas/CatalogCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "CatalogCreateData": {
        "type": "object",
        "xml": {
          "name": "catalog"
        },
        "required": [
          "name",
          "currency"
        ],
        "properties": {
          "currency": {
            "type": "string",
            "description": "Currency code"
          },
          "name": {
            "type": "string"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "description": {
            "type": "string"
          },
          "extCatalogId": {
            "type": "string"
          },
          "includeAll": {
            "type": "boolean"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "priceRule": {
            "$ref": "#/components/schemas/CatalogPriceRule"
          },
          "sourceDoc": {
            "$ref": "#/components/schemas/SourceDoc"
          },
          "status": {
            "$ref": "#/components/schemas/CatalogStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "type": {
            "$ref": "#/components/schemas/CatalogType"
          }
        }
      },
      "CatalogCreateResult": {
        "type": "object",
        "properties": {
          "catalog": {
            "$ref": "#/components/schemas/Catalog"
          },
          "conflict": {
            "type": "object",
            "description": "Duplicate key error details, if failed"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Error details if failed"
          },
          "message": {
            "type": "string",
            "description": "Error message if failed"
          },
          "status": {
            "type": "string",
            "enum": [
              "submitted",
              "failed"
            ]
          }
        }
      },
      "CatalogFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "CatalogFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "catalog": {
                "$ref": "#/components/schemas/Catalog"
              }
            }
          }
        ]
      },
      "CatalogPriceRule": {
        "type": "object",
        "required": [
          "type",
          "value"
        ],
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "fixed",
              "increment",
              "decrement"
            ]
          },
          "value": {
            "type": "number"
          }
        }
      },
      "CatalogProduct": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "catalogProductId": {
                "type": "string",
                "description": "Auto Generated"
              },
              "exceptionCategories": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "References to categories of exceptions related to the catalog product"
              },
              "exceptions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Types of exceptions related to the catalog product"
              },
              "integration": {
                "type": "string",
                "description": "Reference to integration that created the catalog product"
              }
            }
          },
          {
            "$ref": "#/components/schemas/CatalogProductCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "CatalogProductCreateData": {
        "type": "object",
        "xml": {
          "name": "catalog"
        },
        "required": [
          "catalogId",
          "sku",
          "status"
        ],
        "properties": {
          "catalogId": {
            "type": "string"
          },
          "sku": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/CatalogProductStatus"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "priceRule": {
            "$ref": "#/components/schemas/CatalogProductPriceRule"
          },
          "quantityRule": {
            "$ref": "#/components/schemas/CatalogProductQuantityRule"
          },
          "sourceDoc": {
            "$ref": "#/components/schemas/SourceDoc"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Channel SKU for this item. On a write made with withSKUMapping, the channel SKU that 'sku' was resolved from is recorded here.\n"
          },
          "volumePricing": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CatalogProductVolumePricing"
            }
          }
        }
      },
      "CatalogProductCreateResult": {
        "type": "object",
        "properties": {
          "catalog_product": {
            "$ref": "#/components/schemas/CatalogProduct"
          },
          "conflict": {
            "type": "object",
            "description": "Duplicate key error details, if failed"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Error details if failed"
          },
          "message": {
            "type": "string",
            "description": "Error message if failed"
          },
          "status": {
            "type": "string",
            "enum": [
              "submitted",
              "failed"
            ]
          }
        }
      },
      "CatalogProductFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "CatalogProductFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "catalog_product": {
                "$ref": "#/components/schemas/CatalogProduct"
              }
            }
          }
        ]
      },
      "CatalogProductPriceRule": {
        "type": "object",
        "required": [
          "type",
          "value"
        ],
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "fixed",
              "increment",
              "decrement"
            ]
          },
          "value": {
            "type": "number"
          }
        }
      },
      "CatalogProductQuantityRule": {
        "type": "object",
        "required": [
          "increment",
          "min"
        ],
        "properties": {
          "increment": {
            "type": "integer"
          },
          "min": {
            "type": "integer"
          },
          "max": {
            "type": "integer"
          }
        }
      },
      "CatalogProductStatus": {
        "type": "string",
        "description": "Catalog Product Status",
        "enum": [
          "included",
          "excluded"
        ]
      },
      "CatalogProductUpdateData": {
        "type": "object",
        "properties": {
          "catalogId": {
            "type": "string"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "priceRule": {
            "$ref": "#/components/schemas/CatalogProductPriceRule"
          },
          "quantityRule": {
            "$ref": "#/components/schemas/CatalogProductQuantityRule"
          },
          "sku": {
            "type": "string"
          },
          "sourceDoc": {
            "$ref": "#/components/schemas/SourceDoc"
          },
          "status": {
            "$ref": "#/components/schemas/CatalogProductStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Channel SKU for this item. On a write made with withSKUMapping, the channel SKU that 'sku' was resolved from is recorded here.\n"
          },
          "volumePricing": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CatalogProductVolumePricing"
            }
          }
        }
      },
      "CatalogProductUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "catalog_product": {
                "$ref": "#/components/schemas/CatalogProductUpdateData"
              }
            }
          }
        ]
      },
      "CatalogProductUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CatalogProductUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "CatalogProductUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "catalog_product": {
                "$ref": "#/components/schemas/CatalogProduct"
              }
            }
          }
        ]
      },
      "CatalogProductVolumePricing": {
        "type": "object",
        "required": [
          "quantity",
          "value"
        ],
        "properties": {
          "quantity": {
            "type": "integer"
          },
          "value": {
            "type": "number"
          }
        }
      },
      "CatalogProductsCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "catalog_products": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CatalogProductCreateResult"
                }
              }
            }
          }
        ]
      },
      "CatalogProductsCreateRequest": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CatalogProductCreateData"
        },
        "xml": {
          "name": "request",
          "wrapped": true
        },
        "maxItems": 10
      },
      "CatalogProductsCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "catalog_products": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CatalogProductCreateResult"
                }
              }
            }
          }
        ]
      },
      "CatalogProductsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/CatalogProductsListFilter"
              }
            }
          }
        ]
      },
      "CatalogProductsListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Catalog Products Filter",
            "properties": {
              "catalogId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select catalog products by catalogId list"
              },
              "catalogProductId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select catalog products by catalogProductId list"
              },
              "deleted": {
                "type": "boolean",
                "description": "Select the soft deleted catalog products"
              },
              "exceptionCategoryId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by list of categories of the product related exceptions"
              },
              "exceptionType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by list of types of the product related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)"
              },
              "hasSourceDoc": {
                "type": "boolean",
                "description": "Select catalog products containing a source document"
              },
              "integration": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select catalog products of these integrations"
              },
              "sku": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select catalog products by sku list"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CatalogProductStatus"
                },
                "description": "Select catalog products by status list"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              }
            }
          }
        ]
      },
      "CatalogProductsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "catalog_products": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CatalogProduct"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/CatalogProductsListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "CatalogStatus": {
        "type": "string",
        "description": "Catalog Status",
        "enum": [
          "draft",
          "active",
          "inactive"
        ],
        "default": "draft"
      },
      "CatalogType": {
        "type": "string",
        "description": "Catalog Type",
        "enum": [
          "b2b",
          "market",
          "collection",
          "other"
        ],
        "default": "other"
      },
      "CatalogUpdateData": {
        "type": "object",
        "properties": {
          "currency": {
            "type": "string",
            "description": "Currency code"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "description": {
            "type": "string"
          },
          "extCatalogId": {
            "type": "string"
          },
          "includeAll": {
            "type": "boolean"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "name": {
            "type": "string"
          },
          "priceRule": {
            "$ref": "#/components/schemas/CatalogPriceRule"
          },
          "sourceDoc": {
            "$ref": "#/components/schemas/SourceDoc"
          },
          "status": {
            "$ref": "#/components/schemas/CatalogStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "type": {
            "$ref": "#/components/schemas/CatalogType"
          }
        }
      },
      "CatalogUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "catalog": {
                "$ref": "#/components/schemas/CatalogUpdateData"
              }
            }
          }
        ]
      },
      "CatalogUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CatalogUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "CatalogUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "catalog": {
                "$ref": "#/components/schemas/Catalog"
              }
            }
          }
        ]
      },
      "CatalogsCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "catalogs": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CatalogCreateResult"
                }
              }
            }
          }
        ]
      },
      "CatalogsCreateRequest": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CatalogCreateData"
        },
        "xml": {
          "name": "request",
          "wrapped": true
        },
        "maxItems": 10
      },
      "CatalogsCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "catalogs": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CatalogCreateResult"
                }
              }
            }
          }
        ]
      },
      "CatalogsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/CatalogsListFilter"
              }
            }
          }
        ]
      },
      "CatalogsListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Catalogs Filter",
            "properties": {
              "catalogId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select catalogs by catalogId list"
              },
              "deleted": {
                "type": "boolean",
                "description": "Select the soft deleted catalogs"
              },
              "exceptionCategoryId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by list of categories of the catalog related exceptions"
              },
              "exceptionType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by list of types of the catalog related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)"
              },
              "extCatalogId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select catalogs by extCatalogId list"
              },
              "hasSourceDoc": {
                "type": "boolean",
                "description": "Select catalogs containing a source document"
              },
              "integration": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select catalogs of these integrations"
              },
              "name": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select catalogs by name list"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CatalogStatus"
                },
                "description": "Select catalogs by status list"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              },
              "type": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CatalogType"
                },
                "description": "Select catalogs by type list"
              }
            }
          }
        ]
      },
      "CatalogsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "catalogs": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Catalog"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/CatalogsListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "ChangelogEntry": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/ArrivalChangelogEntry"
          },
          {
            "$ref": "#/components/schemas/FulfillmentChangelogEntry"
          },
          {
            "$ref": "#/components/schemas/IntegrationChangelogEntry"
          },
          {
            "$ref": "#/components/schemas/InvoiceChangelogEntry"
          },
          {
            "$ref": "#/components/schemas/OrderChangelogEntry"
          },
          {
            "$ref": "#/components/schemas/PurchaseChangelogEntry"
          },
          {
            "$ref": "#/components/schemas/ReceiptChangelogEntry"
          },
          {
            "$ref": "#/components/schemas/ReturnChangelogEntry"
          },
          {
            "$ref": "#/components/schemas/ShipmentChangelogEntry"
          },
          {
            "$ref": "#/components/schemas/TransferChangelogEntry"
          },
          {
            "$ref": "#/components/schemas/ExceptionChangelogEntry"
          }
        ]
      },
      "ChangelogEntryBase": {
        "type": "object",
        "properties": {
          "apikeyId": {
            "type": "string",
            "description": "Id of the change request API key"
          },
          "eventId": {
            "type": "string",
            "description": "Event Id in the API Event Log"
          },
          "integrationId": {
            "type": "string",
            "description": "Integration that created/updated entity"
          },
          "logId": {
            "type": "string",
            "description": "Log entry Id"
          },
          "operation": {
            "type": "string",
            "enum": [
              "create",
              "update"
            ]
          },
          "status": {
            "type": "string",
            "description": "Entity status after change"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "description": "Time the entity created/updated"
          },
          "userId": {
            "type": "string",
            "description": "Author Id"
          }
        }
      },
      "ChangelogFilter": {
        "type": "object",
        "properties": {
          "apikeyId": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "arrivalId": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "createdSince": {
            "type": "string",
            "format": "date-time"
          },
          "createdUntil": {
            "type": "string",
            "format": "date-time"
          },
          "eventId": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "exceptionId": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "fulfillmentId": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "integration": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "integrationId": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "invoiceId": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "keys": {
            "type": "string"
          },
          "logId": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "order": {
            "type": "string"
          },
          "orderId": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "pagination": {
            "type": "string",
            "enum": [
              "disabled"
            ]
          },
          "purchaseId": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "receiptId": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "shipmentId": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "since": {
            "type": "string",
            "format": "date-time"
          },
          "skip": {
            "type": "integer",
            "format": "int32"
          },
          "status": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "transferId": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "until": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ChangelogListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/ChangelogFilter"
              }
            }
          }
        ]
      },
      "ChangelogListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "changelog": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ChangelogEntry"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/ChangelogFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "CheckerError": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32",
            "enum": [
              500
            ]
          },
          "errors": {
            "type": "array",
            "description": "Error details",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "string",
            "description": "Error message"
          },
          "success": {
            "type": "boolean",
            "enum": [
              false
            ]
          }
        }
      },
      "CheckerResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32",
            "enum": [
              200
            ]
          },
          "output": {
            "type": "object",
            "description": "dry-run-lambda output (- RouteOrderOutput or error object)"
          },
          "success": {
            "type": "boolean",
            "enum": [
              true
            ]
          }
        }
      },
      "CompletePickupRequest": {
        "type": "object",
        "required": [
          "userId"
        ],
        "properties": {
          "userId": {
            "type": "string",
            "description": "Associate user ID completing the handoff"
          },
          "idVerified": {
            "type": "boolean",
            "description": "Whether photo ID was verified"
          },
          "notes": {
            "type": "string",
            "description": "Additional handoff notes"
          },
          "pickupCode": {
            "type": "string",
            "description": "Pickup verification code (optional — not currently enforced)"
          },
          "signatureData": {
            "type": "string",
            "description": "Base64 encoded signature image (if required)"
          }
        }
      },
      "CompletePickupResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "shipment": {
                "$ref": "#/components/schemas/Shipment"
              }
            }
          }
        ]
      },
      "CompleteShipmentRequest": {
        "type": "object",
        "required": [
          "userId"
        ],
        "properties": {
          "userId": {
            "type": "string",
            "description": "Associate user ID completing the handoff"
          },
          "carrier": {
            "type": "string",
            "description": "Shipping carrier name"
          },
          "labelUrl": {
            "type": "string",
            "description": "URL to the shipping label"
          },
          "notes": {
            "type": "string",
            "description": "Additional handoff notes"
          },
          "trackingNumber": {
            "type": "string",
            "description": "Carrier tracking number"
          }
        }
      },
      "CompleteShipmentResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "shipment": {
                "$ref": "#/components/schemas/Shipment"
              }
            }
          }
        ]
      },
      "CompositeCandidateLocations": {
        "type": "object",
        "description": "The locations the composite engine may route to. `locationIds` and\n`groupNames` are merged and de-duplicated; supply at least one of them.\n",
        "properties": {
          "groupNames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Named static location groups whose members are eligible for routing"
          },
          "locationIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Individual location IDs eligible for routing"
          }
        }
      },
      "CompositeScoringConfig": {
        "type": "object",
        "description": "Configuration for the deterministic composite scoring engine. Only read\nwhen `routingStrategy` is `COMPOSITE_SCORING`; stored but dormant\notherwise, so a routing can be switched back and forth without losing\neither configuration.\n",
        "properties": {
          "allowPartialLineItems": {
            "type": "boolean",
            "description": "Allows a location to partially fill a line item (ship 3 of a\nquantity of 5). Defaults to true; both plan-level split search and\nnow/future splits depend on partial fills. Set false only when a\nlocation must cover a whole line item or ship nothing.\n"
          },
          "beamWidth": {
            "type": "integer",
            "description": "Number of partial plans retained at each step of the plan search.\nHigher values search more thoroughly at a higher cost. Defaults to 3.\n"
          },
          "candidateLocations": {
            "$ref": "#/components/schemas/CompositeCandidateLocations"
          },
          "maxDistanceMiles": {
            "type": "number",
            "description": "Hard constraint excluding any candidate location farther than this\ndistance from the destination. Optional; no limit when absent.\n"
          },
          "maxShipments": {
            "type": "integer",
            "description": "Maximum number of shipments a routing plan may contain. `1` means\nthe order is never split. Defaults to 3.\n"
          },
          "priorities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CompositeVariableConfig"
            },
            "description": "Scoring variables and their relative weights. Weights are relative\nand normalized by the engine. The order of this array does not\naffect scoring.\n"
          },
          "requiresInventory": {
            "type": "boolean",
            "description": "Requires available inventory at a candidate location before it may\nbe assigned units. Defaults to true. Setting false disables the\ninventory guard and can oversell.\n"
          },
          "routeWithFutureInventory": {
            "type": "boolean",
            "description": "Allows units to be assigned against incoming (future) inventory.\nDefaults to false.\n"
          },
          "sendFutureImmediately": {
            "type": "boolean",
            "description": "Releases shipments assigned from future inventory immediately\ninstead of holding them until the inventory arrives. Defaults to\nfalse.\n"
          },
          "skipLocation": {
            "type": "boolean",
            "description": "Allows the engine to skip a candidate location that cannot serve an\nitem rather than failing the plan. Defaults to true.\n"
          }
        }
      },
      "CompositeVariableConfig": {
        "type": "object",
        "description": "One scoring variable and how it is weighted and normalized",
        "properties": {
          "bad": {
            "type": "number",
            "description": "Raw value that scores as the worst possible (penalty 1)"
          },
          "depthAggregation": {
            "type": "string",
            "enum": [
              "min",
              "unitWeightedMean"
            ],
            "description": "`inventoryDepth` only. How to aggregate per-SKU inventory headroom:\n`min` reads stranding risk (default), `unitWeightedMean` weights each\nSKU's headroom by the units assigned to it.\n"
          },
          "depthReference": {
            "type": "number",
            "description": "`inventoryHealth` only. The stock level \"thin\" is measured against.\nMust be a positive finite number: the engine drops a weighted\n`inventoryHealth` that lacks one, because without a reference every\ncandidate whose stock covers the order scores identically and dead\nstock ranks alongside a same-day shipment.\n"
          },
          "good": {
            "type": "number",
            "description": "Raw value that scores as the best possible (penalty 0)"
          },
          "lookbackDays": {
            "type": "number",
            "description": "`inventoryHealth` only. Stagnancy window in days used to judge\nwhether stock is moving. Defaults to 90; a non-positive or\nnon-finite value reads as absent.\n"
          },
          "onMissing": {
            "type": "string",
            "enum": [
              "neutral",
              "worst",
              "exclude"
            ],
            "description": "How to score a candidate whose raw value is unavailable. Defaults to\n`neutral`.\n"
          },
          "variable": {
            "type": "string",
            "enum": [
              "distance",
              "inventoryDepth",
              "locationPriority",
              "splitCount",
              "futureInventory",
              "exceptionRate",
              "fulfillmentCost",
              "capacityHeadroom",
              "inventoryHealth",
              "fulfillmentSpeed",
              "slaFit"
            ],
            "description": "The signal being scored. `distance`, `inventoryDepth`,\n`locationPriority`, `exceptionRate`, `fulfillmentCost`,\n`capacityHeadroom`, `inventoryHealth` and `fulfillmentSpeed` are\nscored per shipment; `splitCount` and `futureInventory` are scored\nonce per plan. `slaFit` is reserved for a planned variable and is\naccepted but not yet scored by the engine.\n"
          },
          "weight": {
            "type": "number",
            "description": "Relative weight of this variable; normalized by the engine"
          }
        }
      },
      "Connector": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "availabilityStatus": {
                "$ref": "#/components/schemas/ConnectorAvailabilityStatus"
              },
              "capability": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/IntegrationCapability"
                }
              },
              "connectorId": {
                "type": "string",
                "description": "Connector ID"
              },
              "disableAutoProvision": {
                "type": "boolean",
                "description": "Disables plugin connector from being auto-provisioned to new orgs"
              },
              "intentName": {
                "type": "string",
                "description": "Connector intent label"
              },
              "intentRank": {
                "type": "number",
                "description": "Connector intent rank (higher ranks indicate better match)"
              },
              "intentShow": {
                "type": "boolean",
                "description": "Indicates whether to show connector on intent"
              },
              "isPublic": {
                "type": "boolean",
                "description": "Public connector indicator"
              },
              "rank": {
                "type": "number",
                "description": "Connector rank in category (higher ranks indicate better match)"
              },
              "scope": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Restricts the audience of a public connector (honored only when isPublic is true). Empty/omitted or containing \"*\" means visible to all organizations; otherwise visibility is limited to the home organization plus the listed account ids and/or org keys."
              },
              "selfServiceMode": {
                "$ref": "#/components/schemas/ConnectorSelfServiceMode"
              },
              "status": {
                "$ref": "#/components/schemas/ConnectorStatus"
              },
              "visibility": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ConnectorVisibility"
                  }
                ],
                "readOnly": true
              }
            }
          },
          {
            "$ref": "#/components/schemas/ConnectorCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "ConnectorAction": {
        "type": "object",
        "description": "Connector specific action",
        "properties": {
          "actionName": {
            "type": "string",
            "description": "Action label"
          },
          "actionType": {
            "type": "string",
            "description": "Connector specific action type"
          },
          "description": {
            "type": "string",
            "description": "Action description"
          },
          "fields": {
            "nullable": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConnectorSettingsField"
            },
            "description": "connection action arguments"
          },
          "verb": {
            "type": "string",
            "description": "Actionable item label"
          }
        }
      },
      "ConnectorAvailabilityStatus": {
        "type": "string",
        "description": "Connector availability status",
        "enum": [
          "general",
          "limited",
          "future",
          "beta",
          "deprecated"
        ]
      },
      "ConnectorConnection": {
        "type": "object",
        "description": "3rd party's credentials",
        "properties": {
          "fields": {
            "nullable": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConnectorSettingsField"
            },
            "description": "correspond to ui fields"
          },
          "type": {
            "type": "string",
            "description": "Connection Type",
            "enum": [
              "basic",
              "apikey",
              "appid",
              "oauth2"
            ]
          },
          "url": {
            "type": "string",
            "description": "Connection redirect URL"
          }
        }
      },
      "ConnectorCreateData": {
        "type": "object",
        "required": [
          "connectorName",
          "connectorType"
        ],
        "properties": {
          "connectorName": {
            "type": "string",
            "description": "Connector Name"
          },
          "connectorType": {
            "$ref": "#/components/schemas/ConnectorType"
          },
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConnectorAction"
            },
            "description": "List of actions supported by connector"
          },
          "capability": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "connection": {
            "$ref": "#/components/schemas/ConnectorConnection"
          },
          "description": {
            "type": "string",
            "description": "Connector description"
          },
          "displayName": {
            "type": "string",
            "description": "Connector Display Name"
          },
          "documentationURLs": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "entities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConnectorEntity"
            }
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "linkedConnectorId": {
            "type": "string",
            "description": "Link connector with parent connectorId to allow parent accessing all integrations of this connector"
          },
          "linkedConnectorName": {
            "type": "string",
            "description": "Link connector with parent by name to allow parent accessing all integrations of this connector"
          },
          "logoUrl": {
            "type": "string",
            "description": "Logo URL"
          },
          "orgUnique": {
            "type": "boolean",
            "description": "Indicates whether only one integration is allowed to be created in org"
          },
          "orgWideAccess": {
            "type": "boolean",
            "description": "Indicates whether connector/integration should have access to all declared entity types"
          },
          "pricingCategory": {
            "type": "string",
            "description": "Connector pricing category"
          },
          "privacyPolicy": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrivacyPolicy"
            }
          },
          "readme": {
            "type": "string",
            "description": "Connector readme markup"
          },
          "settings": {
            "$ref": "#/components/schemas/ConnectorSettings"
          },
          "slug": {
            "type": "string",
            "description": "Connector Slug"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "version": {
            "type": "string",
            "description": "Connector version"
          },
          "webhook": {
            "nullable": true,
            "$ref": "#/components/schemas/ConnectorWebhook"
          }
        }
      },
      "ConnectorCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "connector": {
                "$ref": "#/components/schemas/ConnectorCreateData"
              }
            }
          }
        ]
      },
      "ConnectorCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ConnectorCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "ConnectorCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "connector": {
                "$ref": "#/components/schemas/Connector"
              }
            }
          }
        ]
      },
      "ConnectorEntity": {
        "type": "object",
        "description": "Mapping or Routing Entity",
        "required": [
          "name",
          "direction"
        ],
        "properties": {
          "direction": {
            "$ref": "#/components/schemas/Direction"
          },
          "name": {
            "$ref": "#/components/schemas/ConnectorEntityName"
          },
          "mappingUuid": {
            "type": "string",
            "description": "Mapping Id"
          },
          "restrictions": {
            "nullable": true,
            "$ref": "#/components/schemas/EntityRestrictionsList"
          },
          "routingUuid": {
            "description": "Routing Id",
            "type": "string"
          }
        }
      },
      "ConnectorEntityName": {
        "type": "string",
        "description": "Entity Name",
        "enum": [
          "arrivals",
          "catalogs",
          "catalog_products",
          "connectors",
          "customers",
          "custom_objects",
          "contacts",
          "entity_filters",
          "exceptions",
          "fulfillments",
          "inventory",
          "invoices",
          "labels",
          "locations",
          "payments",
          "orders",
          "order_routings",
          "products",
          "purchases",
          "receipts",
          "refunds",
          "returns",
          "schedules",
          "shipments",
          "shipment_boxes",
          "shipping_methods",
          "statements",
          "statement_transactions",
          "cycle_counts",
          "cycle_count_entries",
          "stores",
          "suppliers",
          "transfers",
          "waves"
        ]
      },
      "ConnectorFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "ConnectorFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "connector": {
                "$ref": "#/components/schemas/Connector"
              }
            }
          }
        ]
      },
      "ConnectorRotateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "apikey": {
                "type": "string",
                "description": "New connector api key"
              },
              "apikeyId": {
                "type": "string",
                "description": "Connector api key ID"
              }
            }
          }
        ]
      },
      "ConnectorSelfServiceMode": {
        "type": "string",
        "description": "Connector self service mode status",
        "enum": [
          "full",
          "assisted",
          "disabled"
        ]
      },
      "ConnectorSettings": {
        "type": "object",
        "description": "Connector specific settings",
        "properties": {
          "fields": {
            "nullable": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConnectorSettingsField"
            },
            "description": "correspond to ui fields"
          }
        }
      },
      "ConnectorSettingsField": {
        "type": "object",
        "properties": {
          "group": {
            "type": "string",
            "description": "Setting defines a group"
          },
          "options": {
            "$ref": "#/components/schemas/ConnectorSettingsOptions"
          },
          "path": {
            "type": "string",
            "description": "Option Name"
          },
          "secret": {
            "type": "boolean",
            "description": "Setting Option is secret"
          },
          "type": {
            "type": "string",
            "description": "Option Type",
            "enum": [
              "string",
              "number",
              "boolean",
              "date",
              "array",
              "object",
              "json"
            ]
          },
          "validation": {
            "$ref": "#/components/schemas/ConnectorSettingsFieldValidation"
          }
        }
      },
      "ConnectorSettingsFieldValidation": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "required",
                "minimum",
                "maximum",
                "minLength",
                "maxLength",
                "regex"
              ]
            },
            "value": {
              "type": "string"
            },
            "message": {
              "type": "string"
            }
          }
        }
      },
      "ConnectorSettingsOptions": {
        "type": "object",
        "properties": {
          "common": {
            "type": "boolean",
            "description": "Indicates that field should be presented in common setting section"
          },
          "component": {
            "type": "string"
          },
          "defaultValue": {
            "type": "object",
            "description": "Option initial variable value"
          },
          "endAdornment": {
            "type": "string"
          },
          "extra": {
            "type": "object"
          },
          "fields": {
            "nullable": true,
            "type": "array",
            "description": "Nested fields",
            "items": {
              "type": "object"
            }
          },
          "genkey": {
            "type": "string",
            "description": "Option random initial value",
            "enum": [
              "apikey",
              "nonce"
            ]
          },
          "group": {
            "type": "string",
            "description": "Option group"
          },
          "helperText": {
            "type": "string"
          },
          "hidden": {
            "type": "boolean",
            "description": "Option not displayed to user"
          },
          "internal": {
            "type": "boolean",
            "description": "Option allowing Pipe17 employees to view and edit"
          },
          "label": {
            "type": "string",
            "description": "Option user readable label"
          },
          "placeholder": {
            "type": "string"
          },
          "readme": {
            "type": "string"
          },
          "readonly": {
            "type": "boolean",
            "description": "Option user cannot edit value"
          },
          "startAdornment": {
            "type": "string"
          },
          "values": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "label": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          },
          "wizard": {
            "type": "boolean",
            "description": "Indicates that field should be presented in onboarding wizard"
          }
        }
      },
      "ConnectorSetupData": {
        "type": "object",
        "properties": {
          "availabilityStatus": {
            "type": "string",
            "nullable": true,
            "enum": [
              "general",
              "limited",
              "future",
              "beta",
              "deprecated"
            ],
            "description": "Connector availability status"
          },
          "disableAutoProvision": {
            "type": "boolean",
            "nullable": true,
            "description": "Disables plugin connector from being auto-provisioned to new orgs"
          },
          "intentName": {
            "type": "string",
            "nullable": true,
            "description": "Connector intent label"
          },
          "intentRank": {
            "type": "number",
            "nullable": true,
            "description": "Connector intent rank (higher ranks indicate better match)"
          },
          "intentShow": {
            "type": "boolean",
            "nullable": true,
            "description": "Indicates whether to show connector on intent"
          },
          "isPublic": {
            "type": "boolean",
            "description": "Public connector indicator"
          },
          "linkedConnectorId": {
            "type": "string",
            "nullable": true,
            "description": "Link connector with parent connectorId to allow parent accessing all integrations of this connector"
          },
          "linkedConnectorName": {
            "type": "string",
            "nullable": true,
            "description": "Link connector with parent by name to allow parent accessing all integrations of this connector"
          },
          "orgUnique": {
            "type": "boolean",
            "description": "Indicates whether only one integration is allowed to be created in org"
          },
          "rank": {
            "type": "number",
            "description": "Connector rank in category (higher ranks indicate better match)"
          },
          "scope": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            },
            "description": "Restricts the audience of a public connector. Honored only when isPublic is true. When omitted, empty, or containing the \"*\" marker, a public connector is visible to all organizations. Otherwise the connector is visible only to its home organization plus the listed entries; an entry may be an account id (exposes that account's primary and all of its secondary organizations) or an organization key (exposes that single organization). The literal \"*\" means all organizations."
          },
          "selfServiceMode": {
            "type": "string",
            "nullable": true,
            "enum": [
              "full",
              "assisted",
              "disabled"
            ],
            "description": "Connector availability status"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags",
            "nullable": true
          }
        }
      },
      "ConnectorSetupError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "options": {
                "$ref": "#/components/schemas/ConnectorSetupData"
              }
            }
          }
        ]
      },
      "ConnectorSetupRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ConnectorSetupData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "ConnectorSetupResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          }
        ]
      },
      "ConnectorStatus": {
        "type": "string",
        "description": "Connector Status",
        "enum": [
          "created",
          "active",
          "inactive",
          "deleted"
        ]
      },
      "ConnectorType": {
        "type": "string",
        "enum": [
          "ecommerce",
          "finance",
          "logistics",
          "plugin",
          "other"
        ],
        "description": "Connector Type"
      },
      "ConnectorUpdateData": {
        "type": "object",
        "properties": {
          "actions": {
            "nullable": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConnectorAction"
            },
            "description": "List of actions supported by connector"
          },
          "capability": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "connection": {
            "nullable": true,
            "$ref": "#/components/schemas/ConnectorConnection"
          },
          "connectorType": {
            "$ref": "#/components/schemas/ConnectorType"
          },
          "description": {
            "type": "string",
            "description": "Connector description"
          },
          "displayName": {
            "type": "string",
            "description": "Connector Display Name"
          },
          "documentationURLs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "entities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConnectorEntity"
            }
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "linkedConnectorId": {
            "type": "string",
            "nullable": true,
            "description": "Link connector with parent connectorId to allow parent accessing all integrations of this connector"
          },
          "linkedConnectorName": {
            "type": "string",
            "nullable": true,
            "description": "Link connector with parent by name to allow parent accessing all integrations of this connector"
          },
          "logoUrl": {
            "type": "string",
            "nullable": true,
            "description": "Logo URL"
          },
          "orgUnique": {
            "type": "boolean",
            "description": "Indicates whether only one integration is allowed to be created in org"
          },
          "orgWideAccess": {
            "type": "boolean",
            "description": "Indicates whether connector/integration should have access to all declared entity types"
          },
          "pricingCategory": {
            "type": "string",
            "description": "Connector pricing category"
          },
          "privacyPolicy": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrivacyPolicy"
            },
            "nullable": true
          },
          "readme": {
            "type": "string",
            "description": "Connector readme markup"
          },
          "settings": {
            "nullable": true,
            "$ref": "#/components/schemas/ConnectorSettings"
          },
          "slug": {
            "type": "string",
            "description": "Connector Slug"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "inactive"
            ],
            "description": "Connector Status"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags",
            "nullable": true
          },
          "version": {
            "type": "string",
            "description": "Connector version"
          },
          "webhook": {
            "nullable": true,
            "description": "Connector Webhook",
            "type": "object",
            "properties": {
              "url": {
                "type": "string",
                "description": "Webhook URL"
              },
              "apikey": {
                "type": "string",
                "description": "Webhook api key"
              },
              "topics": {
                "type": "array",
                "description": "Webhook topics",
                "items": {
                  "$ref": "#/components/schemas/WebhookTopics"
                }
              }
            }
          }
        }
      },
      "ConnectorUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "connector": {
                "$ref": "#/components/schemas/ConnectorUpdateData"
              }
            }
          }
        ]
      },
      "ConnectorUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ConnectorUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "ConnectorUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "connector": {
                "$ref": "#/components/schemas/Connector"
              }
            }
          }
        ]
      },
      "ConnectorVisibility": {
        "type": "string",
        "description": "Computed visibility. private = home org only; public = all organizations; oem = restricted to the connector's own account (primary and/or secondaries); mixed = reaches organizations outside the own account.",
        "enum": [
          "private",
          "public",
          "oem",
          "mixed"
        ]
      },
      "ConnectorWebhook": {
        "type": "object",
        "required": [
          "url",
          "apikey",
          "topics"
        ],
        "properties": {
          "apikey": {
            "type": "string",
            "description": "Webhook api key"
          },
          "topics": {
            "type": "array",
            "description": "Webhook topics",
            "items": {
              "$ref": "#/components/schemas/WebhookTopics"
            }
          },
          "url": {
            "type": "string",
            "description": "Webhook URL"
          }
        }
      },
      "ConnectorsDeleteError": {
        "type": "object",
        "xml": {
          "name": "response"
        },
        "required": [
          "success",
          "code"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "description": "Copy of HTTP status",
            "format": "int32",
            "minimum": 400,
            "example": 404
          },
          "success": {
            "type": "boolean",
            "description": "Always false",
            "enum": [
              false
            ],
            "example": false
          },
          "conflict": {
            "type": "object",
            "description": "Details of the conflicting state, when the failure is a 409. The shape depends on the endpoint — a duplicate-key failure carries the offending keys, while /shipping_requests/{id}/request-labels carries `labels` (the labels the shipment already holds), `existingExtLabelIds` (the extLabelIds already claimed) or `refundedExtLabelIds` (extLabelIds belonging to refunded labels, which cannot be reused)."
          },
          "errors": {
            "type": "array",
            "description": "Error detail",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "string",
            "description": "Error message"
          },
          "vendorCode": {
            "type": "string",
            "description": "Vendor-specific error code passed through from a downstream connector/carrier (e.g. EasyPost \"SHIPMENT.REFUND.UNAVAILABLE\"). Present only when the failure originated at the vendor."
          }
        }
      },
      "ConnectorsDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "message": {
                "type": "string",
                "example": "OK (but NYI)"
              }
            }
          }
        ]
      },
      "ConnectorsFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Connectors Filter",
            "properties": {
              "availabilityStatus": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ConnectorAvailabilityStatus"
                }
              },
              "capability": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve connectors by list of capabilities"
              },
              "connectorId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve connectors by list of connectorId"
              },
              "connectorName": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve connectors by list of connector names"
              },
              "connectorType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve connectors by list of connector types"
              },
              "intentShow": {
                "type": "boolean",
                "description": "Retrieve connectors by intent show attribute"
              },
              "selfServiceMode": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ConnectorSelfServiceMode"
                }
              },
              "slug": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve connectors by list of connector slugs"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ConnectorStatus"
                }
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              },
              "visibility": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ConnectorVisibility"
                },
                "description": "Retrieve connectors by computed visibility"
              }
            }
          }
        ]
      },
      "ConnectorsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/ConnectorsListFilter"
              }
            }
          }
        ]
      },
      "ConnectorsListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ConnectorsFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys",
            "description": "List Connectors Filter"
          }
        ]
      },
      "ConnectorsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "connectors": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Connector"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/ConnectorsListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "Contact": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "contactId": {
                "type": "string",
                "description": "Contact ID"
              },
              "exceptionCategories": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "References to categories of exceptions related to the contact"
              },
              "exceptions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Types of exceptions related to the contact"
              },
              "status": {
                "$ref": "#/components/schemas/ContactStatus"
              }
            }
          },
          {
            "$ref": "#/components/schemas/ContactCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "ContactCreateData": {
        "type": "object",
        "required": [
          "shippingAddress"
        ],
        "properties": {
          "shippingAddress": {
            "$ref": "#/components/schemas/Address"
          },
          "customFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactCustomField"
            }
          },
          "extContactId": {
            "type": "string",
            "description": "Contact external ID"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "name": {
            "type": "string",
            "description": "Contact name"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          }
        }
      },
      "ContactCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "contact": {
                "$ref": "#/components/schemas/ContactCreateData"
              }
            }
          }
        ]
      },
      "ContactCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ContactCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "ContactCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "contact": {
                "$ref": "#/components/schemas/Contact"
              }
            }
          }
        ]
      },
      "ContactCustomField": {
        "type": "object",
        "properties": {
          "compliance": {
            "type": "string",
            "enum": [
              "none",
              "pii",
              "pci",
              "hippa"
            ]
          },
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        }
      },
      "ContactFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "ContactFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "contact": {
                "$ref": "#/components/schemas/Contact"
              }
            }
          }
        ]
      },
      "ContactStatus": {
        "type": "string",
        "description": "Contact status",
        "enum": [
          "active",
          "deleted"
        ]
      },
      "ContactUpdateData": {
        "type": "object",
        "properties": {
          "customFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactCustomField"
            },
            "nullable": true
          },
          "extContactId": {
            "type": "string",
            "description": "Contact external ID"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Contact name"
          },
          "shippingAddress": {
            "$ref": "#/components/schemas/AddressUpdateData"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags",
            "nullable": true
          }
        }
      },
      "ContactUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "contact": {
                "$ref": "#/components/schemas/ContactUpdateData"
              }
            }
          }
        ]
      },
      "ContactUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ContactUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "ContactUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "contact": {
                "$ref": "#/components/schemas/Contact"
              }
            }
          }
        ]
      },
      "ContactsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/ContactsListFilter"
              }
            }
          }
        ]
      },
      "ContactsListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "description": "Contacts Filter",
            "properties": {
              "contactId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve contacts by list of contactId"
              },
              "emailAddr": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve contacts by list of shippingAddress.email"
              },
              "exceptionCategoryId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve contacts by list of categories of the contact related exceptions"
              },
              "exceptionType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve contacts by list of types of the contact related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)"
              },
              "extContactId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve contacts by list of extContactId"
              },
              "status": {
                "$ref": "#/components/schemas/ContactStatus"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              }
            }
          }
        ]
      },
      "ContactsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "contacts": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Contact"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/ContactsListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "ConvertRequest": {
        "type": "object",
        "required": [
          "rules",
          "source"
        ],
        "properties": {
          "rules": {
            "type": "object",
            "properties": {
              "mappings": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/MappingRule"
                },
                "description": "Mapping Rules"
              },
              "mappingId": {
                "type": "string",
                "description": "Mapping ID (- ignored if mappings specified)"
              }
            }
          },
          "source": {
            "type": "object",
            "description": "Source object to convert"
          }
        }
      },
      "ConvertResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "result": {
            "type": "object",
            "properties": {
              "status": {
                "type": "number",
                "format": "int32",
                "description": "200 - Ok, otherwise - failure",
                "example": 200
              },
              "body": {
                "type": "object",
                "description": "Conversion result"
              }
            }
          }
        }
      },
      "ConverterRequest": {
        "type": "object",
        "required": [
          "rules",
          "source"
        ],
        "properties": {
          "rules": {
            "type": "object",
            "properties": {
              "mappings": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/MappingRule"
                },
                "description": "Mapping Rules (- required if mappingUuid is not specified, otherwise must be missing)"
              },
              "mappingUuid": {
                "type": "string",
                "description": "Mapping UUID (- required if mapping rules are not specified, otherwise must be missing)"
              }
            }
          },
          "source": {
            "type": "object",
            "description": "Source object to convert"
          },
          "debug": {
            "type": "boolean",
            "description": "Return detailed mapping errors on a per-rule basis"
          }
        }
      },
      "ConverterResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "info": {
                "type": "object"
              },
              "message": {
                "type": "string"
              },
              "result": {
                "type": "object",
                "description": "Conversion result",
                "properties": {
                  "status": {
                    "type": "number",
                    "format": "int32",
                    "example": [
                      200
                    ]
                  },
                  "body": {
                    "type": "object"
                  }
                }
              }
            }
          }
        ]
      },
      "CoreObject": {
        "type": "object",
        "properties": {
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "description": "When the object was created within Pipe17"
          },
          "orgKey": {
            "type": "string",
            "readOnly": true,
            "description": "Organization this object belong to"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "description": "When the object was updated within Pipe17"
          }
        }
      },
      "CustomObject": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "customObjectId": {
                "type": "string",
                "description": "Custom Object ID",
                "readOnly": true
              },
              "exceptionCategories": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "References to categories of exceptions related to the object"
              },
              "exceptions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Types of exceptions related to the object"
              },
              "integration": {
                "type": "string",
                "description": "ID of integration that created the object",
                "readOnly": true
              }
            }
          },
          {
            "$ref": "#/components/schemas/CustomObjectCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "CustomObjectCreateData": {
        "type": "object",
        "required": [
          "extEntityId",
          "type"
        ],
        "properties": {
          "extEntityId": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "description": "Type of the object"
          },
          "data": {
            "type": "object",
            "description": "Custom data"
          },
          "relatedEntityId": {
            "type": "string"
          },
          "relatedEntityType": {
            "$ref": "#/components/schemas/EntityName"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          }
        }
      },
      "CustomObjectCreateResult": {
        "type": "object",
        "properties": {
          "conflict": {
            "type": "object",
            "description": "Duplicate key error details, if failed"
          },
          "customObject": {
            "$ref": "#/components/schemas/CustomObject"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Error details if failed"
          },
          "message": {
            "type": "string",
            "description": "Error message if failed"
          },
          "status": {
            "type": "string",
            "enum": [
              "submitted",
              "failed"
            ]
          }
        }
      },
      "CustomObjectFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "CustomObjectFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "customObject": {
                "$ref": "#/components/schemas/CustomObject"
              }
            }
          }
        ]
      },
      "CustomObjectListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/CustomObjectListFilter"
              }
            }
          }
        ]
      },
      "CustomObjectListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "description": "CustomObjects Filter",
            "properties": {
              "customObjectId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by 'customObjectId' list"
              },
              "exceptionCategoryId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by list of categories of the object related exceptions"
              },
              "exceptionType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by list of types of the object related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)"
              },
              "extEntityId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by 'extEntityId' list"
              },
              "integration": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by 'integration' list"
              },
              "relatedEntityId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by 'relatedEntityId' list"
              },
              "relatedEntityType": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EntityName"
                },
                "description": "Select by 'relatedEntityType' list"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              },
              "type": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by 'type' list"
              }
            }
          }
        ]
      },
      "CustomObjectListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "customObjects": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CustomObject"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/CustomObjectListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "CustomObjectUpdateData": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "description": "Custom data",
            "nullable": true
          },
          "extEntityId": {
            "type": "string"
          },
          "relatedEntityId": {
            "type": "string"
          },
          "relatedEntityType": {
            "$ref": "#/components/schemas/EntityName"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "type": {
            "type": "string",
            "description": "Type of the object"
          }
        }
      },
      "CustomObjectUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "customObject": {
                "$ref": "#/components/schemas/CustomObjectUpdateData"
              }
            }
          }
        ]
      },
      "CustomObjectUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomObjectUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "CustomObjectUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "customObject": {
                "$ref": "#/components/schemas/CustomObject"
              }
            }
          }
        ]
      },
      "CustomObjectsCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "customObjects": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CustomObjectCreateResult"
                }
              }
            }
          }
        ]
      },
      "CustomObjectsCreateRequest": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CustomObjectCreateData"
        },
        "xml": {
          "name": "request",
          "wrapped": true
        },
        "maxItems": 10
      },
      "CustomObjectsCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "customObjects": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CustomObjectCreateResult"
                }
              }
            }
          }
        ]
      },
      "Customer": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "customerId": {
                "type": "string",
                "description": "Customer ID"
              },
              "exceptionCategories": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "References to categories of exceptions related to the customer"
              },
              "exceptions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Types of exceptions related to the customer"
              },
              "status": {
                "$ref": "#/components/schemas/CustomerStatus"
              }
            }
          },
          {
            "$ref": "#/components/schemas/CustomerCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "CustomerAddress": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomerShippingAddress"
          },
          {
            "type": "object",
            "description": "Delete Customers Filter",
            "properties": {
              "type": {
                "$ref": "#/components/schemas/CustomerAddressType"
              }
            }
          }
        ]
      },
      "CustomerAddressType": {
        "type": "string",
        "description": "Customer address type",
        "enum": [
          "billing",
          "shipping",
          "other"
        ]
      },
      "CustomerBillingAddress": {
        "type": "object",
        "properties": {
          "address1": {
            "description": "Address",
            "type": "string"
          },
          "address2": {
            "description": "Address Line 2",
            "type": "string"
          },
          "addressType": {
            "$ref": "#/components/schemas/AddressType"
          },
          "city": {
            "description": "City",
            "type": "string"
          },
          "country": {
            "description": "Country",
            "type": "string"
          },
          "email": {
            "description": "Email",
            "type": "string"
          },
          "phone": {
            "description": "Phone",
            "type": "string"
          },
          "stateOrProvince": {
            "description": "State or Province",
            "type": "string"
          },
          "zipCodeOrPostalCode": {
            "description": "Zipcode or postal code",
            "type": "string"
          }
        }
      },
      "CustomerCheckoutSettings": {
        "type": "object",
        "description": "Customer checkout settings",
        "properties": {
          "checkoutToDraft": {
            "type": "boolean"
          },
          "editableShippingAddress": {
            "type": "boolean"
          },
          "payNowOnly": {
            "type": "boolean"
          }
        }
      },
      "CustomerCreateData": {
        "type": "object",
        "properties": {
          "addresses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerAddress"
            }
          },
          "billingAddress": {
            "$ref": "#/components/schemas/CustomerBillingAddress"
          },
          "catalogIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "checkoutSettings": {
            "$ref": "#/components/schemas/CustomerCheckoutSettings"
          },
          "company": {
            "type": "string",
            "description": "Customer company name"
          },
          "customFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerCustomField"
            }
          },
          "displayName": {
            "type": "string",
            "description": "Customer display name"
          },
          "email": {
            "type": "string",
            "description": "Customer email"
          },
          "extCustomerId": {
            "type": "string",
            "description": "Customer external ID"
          },
          "firstName": {
            "type": "string",
            "description": "Customer first name"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "lastName": {
            "type": "string",
            "description": "Customer last name"
          },
          "linkedCustomers": {
            "description": "References to parent customer objects(s) and assigned role(s) of individual in parent customer",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerLink"
            }
          },
          "notes": {
            "type": "string"
          },
          "paymentTerms": {
            "$ref": "#/components/schemas/CustomerPaymentTerms"
          },
          "phone": {
            "type": "string",
            "description": "Customer phone"
          },
          "shippingAddress": {
            "$ref": "#/components/schemas/CustomerShippingAddress"
          },
          "sourceDoc": {
            "$ref": "#/components/schemas/SourceDoc"
          },
          "status": {
            "$ref": "#/components/schemas/CustomerStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "taxOptions": {
            "$ref": "#/components/schemas/CustomerTaxOptions"
          },
          "type": {
            "$ref": "#/components/schemas/CustomerType"
          }
        }
      },
      "CustomerCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "customer": {
                "$ref": "#/components/schemas/CustomerCreateData"
              }
            }
          }
        ]
      },
      "CustomerCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomerCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "CustomerCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "customer": {
                "$ref": "#/components/schemas/Customer"
              }
            }
          }
        ]
      },
      "CustomerCustomField": {
        "type": "object",
        "properties": {
          "compliance": {
            "type": "string",
            "enum": [
              "none",
              "pii",
              "pci",
              "hippa"
            ]
          },
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        }
      },
      "CustomerFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "CustomerFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "customer": {
                "$ref": "#/components/schemas/Customer"
              }
            }
          }
        ]
      },
      "CustomerLink": {
        "required": [
          "customerId",
          "roles"
        ],
        "type": "object",
        "description": "Customer link",
        "properties": {
          "customerId": {
            "description": "reference to customerId e.g. company or company_location",
            "type": "string"
          },
          "roles": {
            "description": "roles of current customer within linked customer",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerRole"
            }
          }
        }
      },
      "CustomerPaymentTerm": {
        "type": "string",
        "description": "Customer payment term",
        "enum": [
          "net",
          "fixed",
          "fulfillment",
          "receipt",
          "unknown",
          "other"
        ]
      },
      "CustomerPaymentTerms": {
        "required": [
          "term"
        ],
        "type": "object",
        "description": "Customer payment terms",
        "properties": {
          "term": {
            "$ref": "#/components/schemas/CustomerPaymentTerm"
          },
          "depositPercentage": {
            "type": "number"
          },
          "dueInDays": {
            "type": "number"
          },
          "note": {
            "type": "string"
          }
        }
      },
      "CustomerRole": {
        "type": "string",
        "description": "Customer type",
        "enum": [
          "main_contact",
          "allow_ordering",
          "admin",
          "assigned"
        ]
      },
      "CustomerShippingAddress": {
        "type": "object",
        "properties": {
          "address1": {
            "description": "Address",
            "type": "string"
          },
          "address2": {
            "description": "Address Line 2",
            "type": "string"
          },
          "addressType": {
            "$ref": "#/components/schemas/AddressType"
          },
          "city": {
            "description": "City",
            "type": "string"
          },
          "country": {
            "description": "Country",
            "type": "string"
          },
          "email": {
            "description": "Email",
            "type": "string"
          },
          "phone": {
            "description": "Phone",
            "type": "string"
          },
          "stateOrProvince": {
            "description": "State or Province",
            "type": "string"
          },
          "zipCodeOrPostalCode": {
            "description": "Zipcode or postal code",
            "type": "string"
          }
        }
      },
      "CustomerStatus": {
        "type": "string",
        "description": "Customer status",
        "enum": [
          "active",
          "inactive",
          "deleted"
        ]
      },
      "CustomerTaxOptions": {
        "type": "object",
        "description": "Customer tax options",
        "properties": {
          "taxExempt": {
            "type": "boolean"
          },
          "taxId": {
            "type": "string"
          },
          "taxRules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerTaxRule"
            }
          }
        }
      },
      "CustomerTaxRule": {
        "required": [
          "type",
          "name"
        ],
        "type": "object",
        "description": "Customer tax rules",
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/CustomerTaxRuleType"
          }
        }
      },
      "CustomerTaxRuleType": {
        "type": "string",
        "description": "Customer tax rule type",
        "enum": [
          "exempt"
        ]
      },
      "CustomerType": {
        "type": "string",
        "description": "Customer type",
        "enum": [
          "individual",
          "company",
          "company_location",
          "other"
        ]
      },
      "CustomerUpdateData": {
        "type": "object",
        "properties": {
          "addresses": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CustomerAddress"
            }
          },
          "billingAddress": {
            "$ref": "#/components/schemas/CustomerBillingAddress"
          },
          "catalogIds": {
            "nullable": true,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "checkoutSettings": {
            "nullable": true,
            "$ref": "#/components/schemas/CustomerCheckoutSettings"
          },
          "company": {
            "type": "string",
            "description": "Customer company name"
          },
          "customFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerCustomField"
            }
          },
          "displayName": {
            "type": "string",
            "description": "Customer display name"
          },
          "email": {
            "type": "string",
            "description": "Customer email"
          },
          "extCustomerId": {
            "type": "string",
            "description": "Customer external ID"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "linkedCustomers": {
            "description": "References to parent customer objects(s) and assigned role(s) of individual in parent customer",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CustomerLink"
            }
          },
          "notes": {
            "type": "string"
          },
          "paymentTerms": {
            "nullable": true,
            "$ref": "#/components/schemas/CustomerPaymentTerms"
          },
          "phone": {
            "type": "string",
            "description": "Customer phone"
          },
          "shippingAddress": {
            "$ref": "#/components/schemas/CustomerShippingAddress"
          },
          "sourceDoc": {
            "nullable": true,
            "$ref": "#/components/schemas/SourceDoc"
          },
          "status": {
            "$ref": "#/components/schemas/CustomerStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "taxOptions": {
            "nullable": true,
            "$ref": "#/components/schemas/CustomerTaxOptions"
          }
        }
      },
      "CustomerUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "customer": {
                "$ref": "#/components/schemas/CustomerUpdateData"
              }
            }
          }
        ]
      },
      "CustomerUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomerUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "CustomerUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "customer": {
                "$ref": "#/components/schemas/Customer"
              }
            }
          }
        ]
      },
      "CustomersDeleteError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/CustomersDeleteFilter"
              }
            }
          }
        ]
      },
      "CustomersDeleteFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomersFilter"
          },
          {
            "type": "object",
            "description": "Delete Customers Filter",
            "properties": {
              "orgMode": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrganizationMode"
                },
                "description": "Customers assigned these orgModes"
              }
            }
          }
        ]
      },
      "CustomersDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "customers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Customer"
                }
              },
              "deleted": {
                "type": "integer",
                "description": "Number of deleted customers"
              },
              "filters": {
                "$ref": "#/components/schemas/CustomersDeleteFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "CustomersFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Customers Filter",
            "properties": {
              "catalogIds": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve customers by list of assigned catalog Ids"
              },
              "customerId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve customers by list of customerId"
              },
              "deleted": {
                "type": "boolean",
                "description": "Soft deleted customers"
              },
              "extCustomerId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve customers by list of extCustomerId"
              },
              "linkedCustomerId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve customers by list of linked customerId"
              },
              "status": {
                "$ref": "#/components/schemas/CustomerStatus"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              },
              "type": {
                "$ref": "#/components/schemas/CustomerType"
              }
            }
          }
        ]
      },
      "CustomersListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/CustomersListFilter"
              }
            }
          }
        ]
      },
      "CustomersListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomersFilter"
          },
          {
            "type": "object",
            "properties": {
              "company": {
                "type": "string",
                "description": "Retrieve customers by company name (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
              },
              "displayName": {
                "type": "string",
                "description": "Retrieve customers by displayName (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
              },
              "email": {
                "type": "string",
                "description": "Retrieve customers by email (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
              },
              "emailAddr": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve customers by list of billing/shippingAddress.email (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
              },
              "exceptionCategoryId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve customers by list of categories of the customer related exceptions"
              },
              "exceptionType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve customers by list of types of the customer related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)"
              },
              "firstName": {
                "type": "string",
                "description": "Retrieve customers by firstName (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
              },
              "hasSourceDoc": {
                "type": "boolean",
                "description": "Retrieve customers containing a source document"
              },
              "lastName": {
                "type": "string",
                "description": "Retrieve customers by lastName (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
              },
              "phone": {
                "type": "string",
                "description": "Retrieve customers by phone (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
              }
            }
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          }
        ]
      },
      "CustomersListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "customers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Customer"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/CustomersListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "CycleCount": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "cycleCountId": {
                "type": "string",
                "description": "Cycle count ID"
              },
              "status": {
                "$ref": "#/components/schemas/CycleCountStatus"
              }
            }
          },
          {
            "$ref": "#/components/schemas/CycleCountOpenData"
          },
          {
            "type": "object",
            "properties": {
              "approvalNotes": {
                "type": "string"
              },
              "approvedAt": {
                "type": "string",
                "format": "date-time",
                "description": "'approve' request submission time"
              },
              "approvedBy": {
                "type": "string",
                "description": "userId|apikeyId from the 'approve' request"
              },
              "cancelReason": {
                "type": "string"
              },
              "canceledAt": {
                "type": "string",
                "format": "date-time",
                "description": "'cancel' request submission time"
              },
              "canceledBy": {
                "type": "string",
                "description": "userId|apikeyId from the 'cancel' request"
              },
              "commitNotes": {
                "type": "string"
              },
              "committedAt": {
                "type": "string",
                "format": "date-time",
                "description": "'commit' request submission time"
              },
              "committedBy": {
                "type": "string",
                "description": "userId|apikeyId from the 'commit' request"
              },
              "postNotes": {
                "type": "string"
              },
              "postedAt": {
                "type": "string",
                "format": "date-time",
                "description": "'post' request submission time"
              },
              "postedBy": {
                "type": "string",
                "description": "userId|apikeyId from the 'post' request"
              },
              "reopenHistory": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "reopenedBy": {
                      "type": "string",
                      "description": "userId|apikeyId from the 'reopen' request"
                    },
                    "reopenedAt": {
                      "type": "string",
                      "format": "date-time",
                      "description": "'reopen' request submission time"
                    },
                    "reopenReason": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "CycleCountApproveData": {
        "type": "object",
        "properties": {
          "approvalNotes": {
            "type": "string"
          }
        }
      },
      "CycleCountApproveError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "parameters": {
                "$ref": "#/components/schemas/CycleCountApproveData"
              }
            }
          }
        ]
      },
      "CycleCountApproveRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CycleCountApproveData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "CycleCountApproveResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "cycle_count": {
                "$ref": "#/components/schemas/CycleCount"
              }
            }
          }
        ]
      },
      "CycleCountCancelData": {
        "type": "object",
        "required": [
          "cancelReason"
        ],
        "properties": {
          "cancelReason": {
            "type": "string"
          }
        }
      },
      "CycleCountCancelError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "parameters": {
                "$ref": "#/components/schemas/CycleCountCancelData"
              }
            }
          }
        ]
      },
      "CycleCountCancelRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CycleCountCancelData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "CycleCountCancelResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "cycle_count": {
                "$ref": "#/components/schemas/CycleCount"
              }
            }
          }
        ]
      },
      "CycleCountCommitData": {
        "type": "object",
        "properties": {
          "commitNotes": {
            "type": "string"
          }
        }
      },
      "CycleCountCommitError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "parameters": {
                "$ref": "#/components/schemas/CycleCountCommitData"
              }
            }
          }
        ]
      },
      "CycleCountCommitRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CycleCountCommitData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "CycleCountCommitResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "cycle_count": {
                "$ref": "#/components/schemas/CycleCount"
              }
            }
          }
        ]
      },
      "CycleCountEntriesCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "cycle_count_entries": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CycleCountEntryCreateResult"
                }
              }
            }
          }
        ]
      },
      "CycleCountEntriesCreateRequest": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CycleCountEntryCreateData"
        },
        "xml": {
          "name": "request",
          "wrapped": true
        }
      },
      "CycleCountEntriesCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "cycle_count_entries": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CycleCountEntryCreateResult"
                }
              }
            }
          }
        ]
      },
      "CycleCountEntriesListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/CycleCountEntriesListFilter"
              }
            }
          }
        ]
      },
      "CycleCountEntriesListFilter": {
        "allOf": [
          {
            "type": "object",
            "description": "Cycle-count entries filter",
            "properties": {
              "cycleCountEntryId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by cycleCountEntryId list"
              },
              "cycleCountId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by cycleCountId list"
              },
              "sku": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by sku list"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CycleCountEntryStatus"
                }
              }
            }
          },
          {
            "$ref": "#/components/schemas/BaseFilter"
          }
        ]
      },
      "CycleCountEntriesListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "cycle_count_entries": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CycleCountEntry"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/CycleCountEntriesListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "CycleCountEntriesRegisterData": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CycleCountEntryAdjustment"
        }
      },
      "CycleCountEntriesRegisterError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "cycle_count_entries": {
                "$ref": "#/components/schemas/CycleCountEntriesRegisterData"
              }
            }
          }
        ]
      },
      "CycleCountEntriesRegisterRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CycleCountEntriesRegisterData"
          }
        ],
        "xml": {
          "name": "request",
          "wrapped": true
        }
      },
      "CycleCountEntriesRegisterResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "cycle_count_entries": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CycleCountEntryRegisterResult"
                }
              }
            }
          }
        ]
      },
      "CycleCountEntry": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "cycleCountEntryId": {
                "type": "string",
                "description": "Cycle-count entry ID"
              },
              "status": {
                "$ref": "#/components/schemas/CycleCountEntryStatus"
              }
            }
          },
          {
            "$ref": "#/components/schemas/CycleCountEntryBase"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "CycleCountEntryAdjustment": {
        "type": "object",
        "required": [
          "cycleCountEntryId",
          "adjustmentId"
        ],
        "properties": {
          "adjustmentId": {
            "type": "string",
            "description": "ID of added ledger record (-`inventoryId`)"
          },
          "cycleCountEntryId": {
            "type": "string",
            "description": "Count entry ID"
          },
          "adjustedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Time when the correction record was added"
          }
        }
      },
      "CycleCountEntryBase": {
        "type": "object",
        "properties": {
          "adjustedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Time when the correction record was added to the ledger"
          },
          "adjustmentId": {
            "type": "string",
            "description": "ID of ledger record (-`inventoryId`) added to correct the detected variance"
          },
          "cycleCountId": {
            "type": "string",
            "description": "Cycle-count ID"
          },
          "ledgerRecordId": {
            "type": "string",
            "description": "ID of ledger record (-`inventoryId`) from which the `onHandRecorded` is taken"
          },
          "onHandCounted": {
            "type": "number",
            "format": "float",
            "description": "Physical on hand quantity at the onHandCountedAt time calculated by the \"counter\""
          },
          "onHandCountedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Time point for which the `onHandCounted` was calculated"
          },
          "onHandRecorded": {
            "type": "number",
            "format": "float",
            "description": "On hand quantity at the entry submission time recorded in the ledger"
          },
          "onHandVariance": {
            "type": "number",
            "format": "float",
            "description": "Difference between the `onHandCounted` value and the `onHandRecorded`"
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "sku": {
            "type": "string",
            "description": "Product SKU"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Channel SKU for this item. On a write made with withSKUMapping, the channel SKU that 'sku' was resolved from is recorded here.\n"
          }
        }
      },
      "CycleCountEntryCreateData": {
        "type": "object",
        "required": [
          "cycleCountId",
          "sku",
          "onHandCounted"
        ],
        "properties": {
          "cycleCountId": {
            "type": "string",
            "description": "Cycle-count ID"
          },
          "onHandCounted": {
            "type": "number",
            "format": "float",
            "description": "Physical on hand quantity the \"counter\" found"
          },
          "sku": {
            "type": "string",
            "description": "Product SKU"
          },
          "onHandCountedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Time point for which the `onHandCounted` was calculated"
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Channel SKU for this item. On a write made with withSKUMapping, the channel SKU that 'sku' was resolved from is recorded here.\n"
          }
        }
      },
      "CycleCountEntryCreateResult": {
        "type": "object",
        "properties": {
          "conflict": {
            "type": "object",
            "description": "Duplicate key error details, if any"
          },
          "cycle_count_entry": {
            "$ref": "#/components/schemas/CycleCountEntry"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Error details if any"
          },
          "message": {
            "type": "string",
            "description": "Error message if failed"
          },
          "status": {
            "type": "string",
            "enum": [
              "submitted",
              "failed"
            ]
          }
        }
      },
      "CycleCountEntryFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "CycleCountEntryFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "cycle_count_entry": {
                "$ref": "#/components/schemas/CycleCountEntry"
              }
            }
          }
        ]
      },
      "CycleCountEntryRegisterResult": {
        "type": "object",
        "properties": {
          "cycle_count_entry": {
            "$ref": "#/components/schemas/CycleCountEntryAdjustment"
          },
          "message": {
            "type": "string",
            "description": "Error message if failed"
          },
          "status": {
            "type": "string",
            "enum": [
              "submitted",
              "failed"
            ]
          }
        }
      },
      "CycleCountEntryStatus": {
        "type": "string",
        "description": "Cycle-count entry status (`correct` - zero deviation, `incorrect` - adjustment required, `corrected` - adjustment done)",
        "enum": [
          "correct",
          "incorrect",
          "corrected"
        ]
      },
      "CycleCountEntryUpdateData": {
        "type": "object",
        "properties": {
          "adjustedAt": {
            "type": "string",
            "format": "date-time"
          },
          "adjustmentId": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/CycleCountEntryStatus"
          }
        }
      },
      "CycleCountEntryUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "cycle_count_entry": {
                "$ref": "#/components/schemas/CycleCountEntryUpdateData"
              }
            }
          }
        ]
      },
      "CycleCountEntryUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CycleCountEntryUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "CycleCountEntryUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "cycle_count_entry": {
                "$ref": "#/components/schemas/CycleCountEntry"
              }
            }
          }
        ]
      },
      "CycleCountFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "CycleCountFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "cycle_count": {
                "$ref": "#/components/schemas/CycleCount"
              }
            }
          }
        ]
      },
      "CycleCountOpenData": {
        "type": "object",
        "required": [
          "locationId"
        ],
        "properties": {
          "locationId": {
            "type": "string"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "extCycleCountId": {
            "type": "string"
          },
          "glAccount": {
            "type": "string"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "reasonCode": {
            "type": "string"
          },
          "storeId": {
            "type": "string"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          }
        }
      },
      "CycleCountOpenError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "cycle_count": {
                "$ref": "#/components/schemas/CycleCountOpenData"
              }
            }
          }
        ]
      },
      "CycleCountOpenRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CycleCountOpenData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "CycleCountOpenResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "cycle_count": {
                "$ref": "#/components/schemas/CycleCount"
              }
            }
          }
        ]
      },
      "CycleCountPostData": {
        "type": "object",
        "properties": {
          "postNotes": {
            "type": "string"
          }
        }
      },
      "CycleCountPostError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "parameters": {
                "$ref": "#/components/schemas/CycleCountPostData"
              }
            }
          }
        ]
      },
      "CycleCountPostRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CycleCountPostData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "CycleCountPostResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "cycle_count": {
                "$ref": "#/components/schemas/CycleCount"
              }
            }
          }
        ]
      },
      "CycleCountReopenData": {
        "type": "object",
        "required": [
          "reopenReason"
        ],
        "properties": {
          "reopenReason": {
            "type": "string"
          }
        }
      },
      "CycleCountReopenError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "parameters": {
                "$ref": "#/components/schemas/CycleCountReopenData"
              }
            }
          }
        ]
      },
      "CycleCountReopenRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CycleCountReopenData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "CycleCountReopenResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "cycle_count": {
                "$ref": "#/components/schemas/CycleCount"
              }
            }
          }
        ]
      },
      "CycleCountStatus": {
        "type": "string",
        "description": "Cycle count status",
        "enum": [
          "open",
          "counted",
          "approved",
          "posted",
          "processing",
          "completed",
          "canceled"
        ]
      },
      "CycleCountUpdateData": {
        "type": "object",
        "properties": {
          "customFields": {
            "type": "array",
            "nullable": true,
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "extCycleCountId": {
            "type": "string"
          },
          "glAccount": {
            "type": "string"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "reasonCode": {
            "type": "string"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags",
            "nullable": true
          }
        }
      },
      "CycleCountUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "cycle_count": {
                "$ref": "#/components/schemas/CycleCountUpdateData"
              }
            }
          }
        ]
      },
      "CycleCountUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CycleCountUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "CycleCountUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "cycle_count": {
                "$ref": "#/components/schemas/CycleCount"
              }
            }
          }
        ]
      },
      "CycleCountsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/CycleCountsListFilter"
              }
            }
          }
        ]
      },
      "CycleCountsListFilter": {
        "allOf": [
          {
            "type": "object",
            "description": "Cycle counts filter",
            "properties": {
              "cycleCountId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by cycleCountId list"
              },
              "extCycleCountId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by extCycleCountId list"
              },
              "locationId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by locationId list"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CycleCountStatus"
                }
              },
              "storeId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by storeId list"
              }
            }
          },
          {
            "$ref": "#/components/schemas/BaseFilter"
          }
        ]
      },
      "CycleCountsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "cycle_counts": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CycleCount"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/CycleCountsListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "DDQueriesListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/DDQueriesListFilter"
              }
            }
          }
        ]
      },
      "DDQueriesListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Query Filter",
            "properties": {
              "name": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select queries by `name` list"
              },
              "queryId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select queries by `queryId` list"
              },
              "type": {
                "$ref": "#/components/schemas/DDQueryType",
                "description": "Select queries of specified type (default - any)"
              }
            }
          }
        ]
      },
      "DDQueriesListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "required": [
              "queries"
            ],
            "properties": {
              "queries": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DDQuery"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/DDQueriesListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "DDQuery": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "queryId": {
                "type": "string",
                "description": "Auto Generated"
              }
            }
          },
          {
            "$ref": "#/components/schemas/DDQueryCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "DDQueryBodyTemplate": {
        "type": "object",
        "description": "Query body template object with parameter placeholders. \nTwo schemes of the objects are supported:\n  - https://docs.datadoghq.com/api/latest/logs/#aggregate-events\n  - https://docs.datadoghq.com/api/latest/logs/#search-logs\nPlaceholder format: \"${paramName}\".\n"
      },
      "DDQueryCreateData": {
        "type": "object",
        "required": [
          "name",
          "type",
          "body"
        ],
        "properties": {
          "body": {
            "$ref": "#/components/schemas/DDQueryBodyTemplate"
          },
          "name": {
            "type": "string",
            "description": "Unique name of the query"
          },
          "type": {
            "$ref": "#/components/schemas/DDQueryType"
          },
          "description": {
            "type": "string",
            "description": "Query description"
          },
          "params": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DDQueryParam"
            },
            "description": "Descriptors of the dd-query parameters that are required or \ncan be passed in query-string of the 'exec' request.\n"
          }
        }
      },
      "DDQueryCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "query": {
                "$ref": "#/components/schemas/DDQueryCreateData"
              }
            }
          }
        ]
      },
      "DDQueryCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DDQueryCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "DDQueryCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "query": {
                "$ref": "#/components/schemas/DDQuery"
              }
            }
          }
        ]
      },
      "DDQueryExecError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "params": {
                "$ref": "#/components/schemas/DDQueryParams"
              }
            }
          }
        ]
      },
      "DDQueryExecResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "params": {
                "$ref": "#/components/schemas/DDQueryParams"
              },
              "result": {
                "$ref": "#/components/schemas/DDQueryResult"
              }
            }
          }
        ]
      },
      "DDQueryFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "DDQueryFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "query": {
                "$ref": "#/components/schemas/DDQuery"
              }
            }
          }
        ]
      },
      "DDQueryParam": {
        "type": "object",
        "required": [
          "name",
          "type"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Parameter name"
          },
          "type": {
            "type": "string",
            "enum": [
              "string",
              "number",
              "time"
            ],
            "description": "Value type"
          },
          "default": {
            "type": "object",
            "nullable": true,
            "description": "Default value convertible to the param type"
          },
          "description": {
            "type": "string",
            "description": "Parameter description"
          },
          "required": {
            "type": "boolean"
          }
        }
      },
      "DDQueryParams": {
        "type": "object",
        "description": "Values of parameters that were passed to execute query"
      },
      "DDQueryResult": {
        "type": "object",
        "description": "Result of the query execution received from the DD \n(- a data set or error info; see Datadog API docs for details).\n"
      },
      "DDQueryType": {
        "type": "string",
        "enum": [
          "agg",
          "search"
        ],
        "description": "Query type (identifies the target DD endpoint).\n- `agg`: \"Aggregate events\" queries\n- `search`: \"Search logs\" queries\n"
      },
      "DDQueryUpdateData": {
        "type": "object",
        "properties": {
          "body": {
            "$ref": "#/components/schemas/DDQueryBodyTemplate"
          },
          "description": {
            "type": "string",
            "description": "Query description"
          },
          "name": {
            "type": "string",
            "description": "Unique name of the query"
          },
          "params": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DDQueryParam"
            },
            "description": "Descriptors of the dd-query parameters that are required or \ncan be passed in query-string of the 'exec' request.\n"
          },
          "type": {
            "$ref": "#/components/schemas/DDQueryType"
          }
        }
      },
      "DDQueryUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "query": {
                "$ref": "#/components/schemas/DDQueryUpdateData"
              }
            }
          }
        ]
      },
      "DDQueryUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DDQueryUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "DDQueryUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "query": {
                "$ref": "#/components/schemas/DDQuery"
              }
            }
          }
        ]
      },
      "DayOfWeek": {
        "type": "string",
        "description": "Day of the week (lowercase, matching pipe17api-v3 enum convention)",
        "enum": [
          "monday",
          "tuesday",
          "wednesday",
          "thursday",
          "friday",
          "saturday",
          "sunday"
        ]
      },
      "DeleteAction": {
        "type": "string",
        "description": "Action for delete operation",
        "enum": [
          "soft",
          "hard"
        ]
      },
      "DeliveryMethod": {
        "type": "string",
        "enum": [
          "shipping",
          "pickUp",
          "local",
          "retail",
          "warehouse",
          "none",
          "other"
        ]
      },
      "DeliveryProfile": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "deliveryAfter": {
            "type": "string",
            "format": "date-time"
          },
          "deliveryBefore": {
            "type": "string",
            "format": "date-time"
          },
          "deliveryPromiseAfter": {
            "type": "string",
            "format": "date-time"
          },
          "deliveryPromiseBefore": {
            "type": "string",
            "format": "date-time"
          },
          "name": {
            "type": "string"
          },
          "notes": {
            "type": "string"
          },
          "profileId": {
            "type": "string"
          },
          "reference": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/DeliveryMethod"
          }
        }
      },
      "DeliveryPromise": {
        "description": "An immutable Pipe17 record of one delivery option from an Estimated Delivery Date evaluation for an order.",
        "allOf": [
          {
            "type": "object",
            "properties": {
              "carrierServiceLevelCode": {
                "type": "string",
                "description": "Carrier service level this option is estimated against."
              },
              "contextExpiresAt": {
                "type": "string",
                "format": "date-time",
                "readOnly": true,
                "description": "Server-generated expiry, 400 days after createdAt. The API provides no decision-context URLs after this time."
              },
              "contextS3Path": {
                "type": "string",
                "readOnly": true,
                "description": "Server-generated S3 path for the decision context."
              },
              "contextStatus": {
                "$ref": "#/components/schemas/DeliveryPromiseContextStatus"
              },
              "deliveryPromiseId": {
                "type": "string",
                "readOnly": true,
                "description": "Pipe17-generated delivery-promise ID."
              },
              "estimatedDays": {
                "type": "integer",
                "minimum": 0,
                "description": "Days from evaluation to promiseDate."
              },
              "extDeliveryPromiseId": {
                "type": "string",
                "minLength": 1,
                "description": "Delivery-estimate ID of this delivery option at the delivery-estimate source."
              },
              "fulfillmentStrategy": {
                "type": "string",
                "enum": [
                  "shipNow",
                  "waitForConsolidation"
                ],
                "description": "Whether this option ships as inventory becomes available or holds until the order can ship together."
              },
              "isSplit": {
                "type": "boolean",
                "description": "Whether this option fulfills the order from more than one location."
              },
              "locations": {
                "type": "array",
                "minItems": 1,
                "items": {
                  "$ref": "#/components/schemas/DeliveryPromiseLocation"
                },
                "description": "Fulfillment locations this option ships from."
              },
              "orderId": {
                "type": "string",
                "description": "Pipe17 order ID associated with this promise."
              },
              "promiseDate": {
                "type": "string",
                "format": "date-time",
                "description": "Date the whole order is expected to be delivered under this option."
              },
              "rank": {
                "type": "integer",
                "minimum": 1,
                "description": "Position of this option among the options offered for the order, 1 being the best ranked."
              },
              "shipments": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DeliveryPromiseShipment"
                },
                "description": "Shipments planned for this option."
              }
            }
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "DeliveryPromiseActionRequest": {
        "type": "object",
        "additionalProperties": false,
        "description": "Send an empty JSON object (`{}`)."
      },
      "DeliveryPromiseCompleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "deliveryPromise": {
                "$ref": "#/components/schemas/DeliveryPromise"
              }
            }
          }
        ]
      },
      "DeliveryPromiseContextStatus": {
        "type": "string",
        "enum": [
          "pending",
          "available",
          "expired"
        ],
        "description": "Whether the decision context is pending, available for download, or expired."
      },
      "DeliveryPromiseCreateData": {
        "type": "object",
        "description": "Delivery-promise data supplied by the delivery-estimate source.",
        "required": [
          "extDeliveryPromiseId",
          "orderId",
          "rank",
          "locations",
          "promiseDate",
          "estimatedDays",
          "isSplit",
          "fulfillmentStrategy",
          "carrierServiceLevelCode"
        ],
        "properties": {
          "carrierServiceLevelCode": {
            "type": "string",
            "description": "Carrier service level this option is estimated against."
          },
          "estimatedDays": {
            "type": "integer",
            "minimum": 0,
            "description": "Days from evaluation to promiseDate."
          },
          "extDeliveryPromiseId": {
            "type": "string",
            "minLength": 1,
            "description": "Delivery-estimate ID of this delivery option at the delivery-estimate source."
          },
          "fulfillmentStrategy": {
            "type": "string",
            "enum": [
              "shipNow",
              "waitForConsolidation"
            ],
            "description": "Whether this option ships as inventory becomes available or holds until the order can ship together."
          },
          "isSplit": {
            "type": "boolean",
            "description": "Whether this option fulfills the order from more than one location."
          },
          "locations": {
            "type": "array",
            "minItems": 1,
            "items": {
              "$ref": "#/components/schemas/DeliveryPromiseLocation"
            },
            "description": "Fulfillment locations this option ships from."
          },
          "orderId": {
            "type": "string",
            "description": "Pipe17 order ID associated with this promise."
          },
          "promiseDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date the whole order is expected to be delivered under this option."
          },
          "rank": {
            "type": "integer",
            "minimum": 1,
            "description": "Position of this option among the options offered for the order, 1 being the best ranked."
          },
          "shipments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeliveryPromiseShipment"
            },
            "description": "Shipments planned for this option."
          }
        }
      },
      "DeliveryPromiseCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "deliveryPromise": {
                "$ref": "#/components/schemas/DeliveryPromiseCreateData"
              }
            }
          }
        ]
      },
      "DeliveryPromiseCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DeliveryPromiseCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "DeliveryPromiseCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "contextS3UploadHeaders": {
                "type": "object",
                "readOnly": true,
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Required headers for the upload URL. Send `if-none-match: *` to prevent overwrites."
              },
              "contextS3UploadUrl": {
                "type": "string",
                "readOnly": true,
                "description": "Presigned URL for uploading the decision context. Expires after up to 15 minutes and never after contextExpiresAt."
              },
              "deliveryPromise": {
                "$ref": "#/components/schemas/DeliveryPromise"
              },
              "expiresIn": {
                "type": "integer",
                "readOnly": true,
                "description": "Number of seconds until the upload URL expires."
              }
            }
          }
        ]
      },
      "DeliveryPromiseFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "DeliveryPromiseFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "contextS3DownloadUrl": {
                "type": "string",
                "readOnly": true,
                "description": "Presigned URL for downloading an available decision context. Expires after up to one hour and never after contextExpiresAt."
              },
              "deliveryPromise": {
                "$ref": "#/components/schemas/DeliveryPromise"
              }
            }
          }
        ]
      },
      "DeliveryPromiseInventoryAllocation": {
        "type": "object",
        "description": "Inventory allocated to fulfill an item in the delivery option.",
        "required": [
          "source",
          "quantity"
        ],
        "properties": {
          "quantity": {
            "type": "number",
            "minimum": 0,
            "description": "Allocation quantity. Must not be negative."
          },
          "source": {
            "type": "string",
            "enum": [
              "onHand",
              "arrival"
            ],
            "description": "Arrival allocations require arrivalId, expectedArrivalDate, and inventoryReadyDate."
          },
          "arrivalId": {
            "type": "string",
            "description": "Required when source is arrival."
          },
          "expectedArrivalDate": {
            "type": "string",
            "format": "date-time",
            "description": "Required when source is arrival."
          },
          "inventoryReadyDate": {
            "type": "string",
            "format": "date-time",
            "description": "Required when source is arrival."
          }
        }
      },
      "DeliveryPromiseItem": {
        "type": "object",
        "description": "An order item fulfilled by a location in the delivery option.",
        "required": [
          "sku",
          "quantity",
          "inventoryAllocations"
        ],
        "properties": {
          "inventoryAllocations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeliveryPromiseInventoryAllocation"
            }
          },
          "quantity": {
            "type": "integer",
            "minimum": 1
          },
          "sku": {
            "type": "string"
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Channel SKU for this item. On a write made with withSKUMapping, the channel SKU that 'sku' was resolved from is recorded here.\n"
          }
        }
      },
      "DeliveryPromiseLocation": {
        "type": "object",
        "description": "A fulfillment location used by the delivery option.",
        "required": [
          "locationId",
          "items"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeliveryPromiseItem"
            }
          },
          "locationId": {
            "type": "string"
          },
          "facilityName": {
            "type": "string"
          }
        }
      },
      "DeliveryPromiseShipment": {
        "type": "object",
        "description": "A shipment planned for the delivery option.",
        "required": [
          "locationId",
          "shipDate",
          "estimatedDeliveryDate",
          "transitDays"
        ],
        "properties": {
          "estimatedDeliveryDate": {
            "type": "string",
            "format": "date-time"
          },
          "locationId": {
            "type": "string"
          },
          "shipDate": {
            "type": "string",
            "format": "date-time"
          },
          "transitDays": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "DeliveryPromiseUploadUrlResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "contextS3UploadHeaders": {
                "type": "object",
                "readOnly": true,
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Required headers for the upload URL. Send `if-none-match: *` to prevent overwrites."
              },
              "contextS3UploadUrl": {
                "type": "string",
                "readOnly": true,
                "description": "Presigned URL for uploading the decision context. Expires after up to 15 minutes and never after contextExpiresAt."
              },
              "expiresIn": {
                "type": "integer",
                "readOnly": true,
                "description": "Number of seconds until the upload URL expires."
              }
            }
          }
        ]
      },
      "DeliveryPromisesListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/DeliveryPromisesListFilter"
              }
            }
          }
        ]
      },
      "DeliveryPromisesListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "properties": {
              "contextStatus": {
                "$ref": "#/components/schemas/DeliveryPromisesListFilterContextStatus"
              },
              "deliveryPromiseId": {
                "$ref": "#/components/schemas/DeliveryPromisesListFilterDeliveryPromiseId"
              },
              "extDeliveryPromiseId": {
                "$ref": "#/components/schemas/DeliveryPromisesListFilterExtDeliveryPromiseId"
              },
              "orderId": {
                "$ref": "#/components/schemas/DeliveryPromisesListFilterOrderId"
              }
            }
          }
        ]
      },
      "DeliveryPromisesListFilterContextStatus": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/DeliveryPromiseContextStatus"
        }
      },
      "DeliveryPromisesListFilterDeliveryPromiseId": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "DeliveryPromisesListFilterExtDeliveryPromiseId": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "DeliveryPromisesListFilterOrderId": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "DeliveryPromisesListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "deliveryPromises": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DeliveryPromise"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/DeliveryPromisesListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "DependencyEntityName": {
        "type": "string",
        "description": "Dependency Entity Name",
        "enum": [
          "entity",
          "exceptions",
          "fulfillments",
          "inventory",
          "locations",
          "payments",
          "orders",
          "products",
          "relatedEntity",
          "shipments",
          "integrations",
          "organizations",
          "location_groups",
          "shipping_methods"
        ]
      },
      "Destination": {
        "type": "object",
        "properties": {
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "extDestinationId": {
            "type": "string",
            "description": "destinationId"
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DestinationLineItem"
            }
          },
          "shippingAddress": {
            "$ref": "#/components/schemas/AddressNullable"
          }
        }
      },
      "DestinationLineItem": {
        "type": "object",
        "properties": {
          "quantity": {
            "type": "number",
            "format": "float",
            "description": "Item Quantity"
          },
          "quantityUnit": {
            "$ref": "#/components/schemas/ItemQuantityUnit"
          },
          "sku": {
            "type": "string",
            "description": "Item SKU"
          },
          "uniqueId": {
            "type": "string",
            "description": "Item unique Id (within an order)"
          }
        }
      },
      "Direction": {
        "type": "string",
        "description": "Route/Mapping Direction",
        "enum": [
          "in",
          "out"
        ]
      },
      "Discount": {
        "type": "object",
        "required": [
          "type",
          "value"
        ],
        "properties": {
          "type": {
            "$ref": "#/components/schemas/DiscountType",
            "description": "Discount type"
          },
          "value": {
            "type": "number",
            "description": "absolute value of discount"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Order discount created at"
          },
          "label": {
            "type": "string",
            "description": "optional discount label"
          },
          "lineItemId": {
            "type": "string",
            "description": "optional reference to lineItems[].uniqueId for lineItem discount"
          },
          "reference": {
            "type": "string",
            "description": "optional id/name of discount source, e.g. coupon code"
          }
        }
      },
      "DiscountType": {
        "type": "string",
        "description": "Discount Type",
        "enum": [
          "coupon",
          "manual",
          "other"
        ]
      },
      "DryRunRequestData": {
        "type": "object",
        "required": [
          "integrationId"
        ],
        "properties": {
          "integrationId": {
            "type": "string",
            "description": "Order Routing Engine Integration ID"
          },
          "filters": {
            "type": "array",
            "items": {
              "type": "object",
              "description": "Pipe17 Order Routing Filters"
            }
          },
          "integrationSettingsMap": {
            "type": "object",
            "description": "ORE Integration Settings"
          },
          "inventories": {
            "type": "array",
            "items": {
              "type": "object",
              "description": "Pipe17 Inventory Objects"
            }
          },
          "locations": {
            "type": "array",
            "items": {
              "type": "object",
              "description": "Pipe17 Location Objects"
            }
          },
          "order": {
            "type": "object",
            "description": "Pipe17 Order Object"
          },
          "orderRouting": {
            "type": "object",
            "description": "Pipe17 Order Routing Object"
          },
          "shipmentsForOrder": {
            "type": "array",
            "items": {
              "type": "object",
              "description": "Pipe17 Shipment Objects"
            }
          }
        },
        "description": "dry-run-lambda input object (- DryrunPayload)"
      },
      "EntityFieldRef": {
        "type": "string",
        "enum": [
          "metrics.name",
          "orders.orderSource",
          "products.sku",
          "products.integration",
          "products.vendor"
        ],
        "description": "Entity field reference, in \"entityType.fieldPath\" format"
      },
      "EntityFilter": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "filterId": {
                "type": "string",
                "description": "Filter ID"
              },
              "status": {
                "type": "string",
                "description": "Filter status"
              }
            }
          },
          {
            "$ref": "#/components/schemas/EntityFilterCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "EntityFilterCondition": {
        "type": "object",
        "description": "An entity filter condition",
        "additionalProperties": true
      },
      "EntityFilterCreateData": {
        "type": "object",
        "properties": {
          "entity": {
            "$ref": "#/components/schemas/FilterEntityName"
          },
          "name": {
            "$ref": "#/components/schemas/EntityFilterName"
          },
          "query": {
            "$ref": "#/components/schemas/EntityFilterQuery"
          },
          "dashboard": {
            "type": "integer",
            "description": "Order parameter of the filter view on dashboard"
          },
          "favorite": {
            "type": "boolean",
            "description": "Favourite filter indicator"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "isPublic": {
            "type": "boolean",
            "description": "Public filter indicator"
          },
          "originId": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "query",
          "entity"
        ]
      },
      "EntityFilterCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "entityFilter": {
                "$ref": "#/components/schemas/EntityFilter"
              }
            }
          }
        ]
      },
      "EntityFilterCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "entityFilter": {
                "$ref": "#/components/schemas/EntityFilter"
              }
            }
          }
        ]
      },
      "EntityFilterFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "EntityFilterFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "entityFilter": {
                "$ref": "#/components/schemas/EntityFilter"
              }
            }
          }
        ]
      },
      "EntityFilterListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/EntityFiltersListFilter"
              }
            }
          }
        ]
      },
      "EntityFilterListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "entityFilters": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EntityFilter"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/EntityFiltersListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "EntityFilterName": {
        "type": "string",
        "description": "Filter name"
      },
      "EntityFilterQuery": {
        "type": "object",
        "description": "Filter query object",
        "additionalProperties": true,
        "required": [
          "operator",
          "conditions"
        ],
        "properties": {
          "conditions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntityFilterCondition"
            }
          },
          "operator": {
            "type": "string",
            "description": "Query operator"
          },
          "inverse": {
            "type": "boolean",
            "description": "Toggles whether the query result is inverted when assessing whether an object passes the filter"
          },
          "version": {
            "type": "string",
            "description": "Version of the query object schema"
          }
        }
      },
      "EntityFilterUpdateData": {
        "type": "object",
        "properties": {
          "dashboard": {
            "type": "integer",
            "description": "Order parameter of the filter view on dashboard",
            "nullable": true
          },
          "favorite": {
            "type": "boolean",
            "description": "Favourite filter indicator"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "isPublic": {
            "type": "boolean",
            "description": "Public filter indicator"
          },
          "name": {
            "type": "string",
            "description": "Filter name"
          },
          "originId": {
            "type": "string"
          },
          "query": {
            "$ref": "#/components/schemas/EntityFilterQuery"
          }
        }
      },
      "EntityFilterUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "EntityFilterUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/EntityFilterUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "EntityFilterUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "entityFilter": {
                "$ref": "#/components/schemas/EntityFilter"
              }
            }
          }
        ]
      },
      "EntityFiltersDeleteError": {
        "type": "object",
        "xml": {
          "name": "response"
        },
        "required": [
          "success",
          "code"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "description": "Copy of HTTP status",
            "format": "int32",
            "minimum": 400,
            "example": 404
          },
          "success": {
            "type": "boolean",
            "description": "Always false",
            "enum": [
              false
            ],
            "example": false
          },
          "conflict": {
            "type": "object",
            "description": "Details of the conflicting state, when the failure is a 409. The shape depends on the endpoint — a duplicate-key failure carries the offending keys, while /shipping_requests/{id}/request-labels carries `labels` (the labels the shipment already holds), `existingExtLabelIds` (the extLabelIds already claimed) or `refundedExtLabelIds` (extLabelIds belonging to refunded labels, which cannot be reused)."
          },
          "errors": {
            "type": "array",
            "description": "Error detail",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "string",
            "description": "Error message"
          },
          "vendorCode": {
            "type": "string",
            "description": "Vendor-specific error code passed through from a downstream connector/carrier (e.g. EasyPost \"SHIPMENT.REFUND.UNAVAILABLE\"). Present only when the failure originated at the vendor."
          }
        }
      },
      "EntityFiltersDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "message": {
                "type": "string",
                "example": "OK (but NYI)"
              }
            }
          }
        ]
      },
      "EntityFiltersFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Entity Filters Filter",
            "properties": {
              "deleted": {
                "type": "boolean",
                "description": "Soft deleted filters"
              },
              "entity": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FilterEntityName"
                },
                "description": "Fetch by list of entity types"
              },
              "filterId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fetch by list of filterId"
              },
              "name": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fetch by list of filter names"
              },
              "originId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fetch by list of originId"
              }
            }
          }
        ]
      },
      "EntityFiltersListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/EntityFiltersFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys",
            "description": "List Entity Filters Filter"
          }
        ]
      },
      "EntityName": {
        "type": "string",
        "description": "Entity Name",
        "enum": [
          "accounts",
          "arrivals",
          "automations",
          "automation_rules",
          "automation_runs",
          "changelog",
          "connectors",
          "customers",
          "custom_objects",
          "contacts",
          "entity_filters",
          "exceptions",
          "fulfillments",
          "fulfillment_rates",
          "functions",
          "inventory",
          "inventory_groups",
          "inventoryrules",
          "invoices",
          "labels",
          "locations",
          "location_groups",
          "lookup_objects",
          "metrics",
          "payments",
          "orders",
          "order_regions",
          "order_routings",
          "catalogs",
          "catalog_products",
          "products",
          "purchases",
          "receipts",
          "refunds",
          "returns",
          "schedules",
          "shipments",
          "shipment_boxes",
          "shipping_methods",
          "statements",
          "statement_transactions",
          "cycle_counts",
          "cycle_count_entries",
          "stores",
          "suppliers",
          "transfers",
          "waves",
          "trackings",
          "usagedata",
          "usageplans",
          "vendor_schemas"
        ]
      },
      "EntityRestrictionsItem": {
        "type": "object",
        "required": [
          "path"
        ],
        "properties": {
          "path": {
            "type": "string",
            "enum": [
              "restricted",
              "since",
              "until",
              "content"
            ]
          }
        }
      },
      "EntityRestrictionsList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/EntityRestrictionsItem"
        }
      },
      "EntityRestrictionsValue": {
        "allOf": [
          {
            "$ref": "#/components/schemas/EntityRestrictionsItem"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "boolean",
                  "date",
                  "array"
                ]
              },
              "value": {
                "type": "object"
              }
            }
          }
        ]
      },
      "EntityRestrictionsValueList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/EntityRestrictionsValue"
        }
      },
      "EntitySchema": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "schemaId": {
                "type": "string",
                "description": "Schema ID"
              }
            }
          },
          {
            "$ref": "#/components/schemas/EntitySchemaCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "EntitySchemaCreateData": {
        "type": "object",
        "properties": {
          "entity": {
            "$ref": "#/components/schemas/EntityName"
          },
          "fields": {
            "$ref": "#/components/schemas/EntitySchemaItems"
          },
          "name": {
            "type": "string",
            "description": "Schema name"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          }
        },
        "required": [
          "name",
          "fields",
          "entity"
        ]
      },
      "EntitySchemaCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "entitySchema": {
                "$ref": "#/components/schemas/EntitySchema"
              }
            }
          }
        ]
      },
      "EntitySchemaCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "entitySchema": {
                "$ref": "#/components/schemas/EntitySchema"
              }
            }
          }
        ]
      },
      "EntitySchemaFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "EntitySchemaFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "entitySchema": {
                "$ref": "#/components/schemas/EntitySchema"
              }
            }
          }
        ]
      },
      "EntitySchemaItem": {
        "type": "object",
        "description": "Entity schema field descriptor"
      },
      "EntitySchemaItems": {
        "type": "array",
        "description": "Entity schema field descriptors",
        "items": {
          "$ref": "#/components/schemas/EntitySchemaItem"
        }
      },
      "EntitySchemaListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/EntitySchemasListFilter"
              }
            }
          }
        ]
      },
      "EntitySchemaListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "entitySchemas": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EntitySchema"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/EntitySchemasListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "EntitySchemaUpdateData": {
        "type": "object",
        "properties": {
          "fields": {
            "$ref": "#/components/schemas/EntitySchemaItems"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Schema name"
          }
        }
      },
      "EntitySchemaUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "EntitySchemaUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/EntitySchemaUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "EntitySchemaUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "entitySchema": {
                "$ref": "#/components/schemas/EntitySchema"
              }
            }
          }
        ]
      },
      "EntitySchemasDeleteError": {
        "type": "object",
        "xml": {
          "name": "response"
        },
        "required": [
          "success",
          "code"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "description": "Copy of HTTP status",
            "format": "int32",
            "minimum": 400,
            "example": 404
          },
          "success": {
            "type": "boolean",
            "description": "Always false",
            "enum": [
              false
            ],
            "example": false
          },
          "conflict": {
            "type": "object",
            "description": "Details of the conflicting state, when the failure is a 409. The shape depends on the endpoint — a duplicate-key failure carries the offending keys, while /shipping_requests/{id}/request-labels carries `labels` (the labels the shipment already holds), `existingExtLabelIds` (the extLabelIds already claimed) or `refundedExtLabelIds` (extLabelIds belonging to refunded labels, which cannot be reused)."
          },
          "errors": {
            "type": "array",
            "description": "Error detail",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "string",
            "description": "Error message"
          },
          "vendorCode": {
            "type": "string",
            "description": "Vendor-specific error code passed through from a downstream connector/carrier (e.g. EasyPost \"SHIPMENT.REFUND.UNAVAILABLE\"). Present only when the failure originated at the vendor."
          }
        }
      },
      "EntitySchemasDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "message": {
                "type": "string",
                "example": "OK (but NYI)"
              }
            }
          }
        ]
      },
      "EntitySchemasFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Entity Schemas Filter",
            "properties": {
              "entity": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EntityName"
                },
                "description": "Fetch by list of entity types"
              },
              "name": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fetch by list of schema names"
              },
              "schemaId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fetch by list of schemaId"
              }
            }
          }
        ]
      },
      "EntitySchemasListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/EntitySchemasFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys",
            "description": "List Entity Schemas Filter"
          }
        ]
      },
      "EntityTags": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Tags assigned to entity"
      },
      "Env": {
        "type": "string",
        "description": "Environment ID",
        "enum": [
          "test",
          "prod"
        ]
      },
      "ErasureLogFilter": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int32",
            "description": "Return at most this many records"
          },
          "email": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Select records by email list"
          },
          "keys": {
            "type": "string",
            "default": "recordId,orgKey,email,count,status,createdAt",
            "description": "Return these top-level ields"
          },
          "order": {
            "type": "string",
            "default": "-createdAt",
            "description": "Sort by these top-level fields"
          },
          "pagination": {
            "type": "string",
            "enum": [
              "disabled"
            ],
            "description": "Exclude pagination info from the response"
          },
          "recordId": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Select records by recordId list"
          },
          "rquestId": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Select records by rquestId list"
          },
          "since": {
            "type": "string",
            "format": "date-time",
            "description": "Select records created after this date-time"
          },
          "skip": {
            "type": "integer",
            "format": "int32",
            "description": "Skip this many record"
          },
          "status": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "completed",
                "uncompleted",
                "rejected"
              ]
            },
            "description": "Select records by status list"
          },
          "until": {
            "type": "string",
            "format": "date-time",
            "description": "Select records created before this date-time"
          }
        }
      },
      "ErasureLogRecord": {
        "allOf": [
          {
            "type": "object",
            "required": [
              "email",
              "status"
            ],
            "properties": {
              "email": {
                "type": "string",
                "description": "Email address of data subject"
              },
              "status": {
                "type": "string",
                "enum": [
                  "completed",
                  "uncompleted",
                  "rejected"
                ],
                "description": "Erasure attempt completion status:\n- `completed` - successful completion\n- `uncompleted` - erasure is not completed, a repeat will be done\n- `rejected` - erasure can't be executed\n"
              },
              "before": {
                "type": "string",
                "format": "date-time",
                "description": "The max date of creation of the objects for which the search was performed"
              },
              "count": {
                "type": "number",
                "description": "The number of objects where personal information was found and erased"
              },
              "details": {
                "type": "array",
                "description": "Each element of the array represents cleanup result of an entity collection",
                "items": {
                  "type": "object",
                  "required": [
                    "entity",
                    "status"
                  ],
                  "properties": {
                    "entity": {
                      "description": "Entity collection name",
                      "type": "string",
                      "enum": [
                        "contacts",
                        "customers",
                        "invoices",
                        "orders",
                        "returns",
                        "shipments"
                      ]
                    },
                    "count": {
                      "type": "number",
                      "description": "The number of objects where personal information was found and erased"
                    },
                    "status": {
                      "description": "Cleanup completion status",
                      "type": "string",
                      "enum": [
                        "fulfilled",
                        "rejected"
                      ]
                    },
                    "reason": {
                      "type": "string",
                      "description": "The reason for rejection"
                    }
                  }
                }
              },
              "identity": {
                "type": "string",
                "description": "Identity of api user who initiated the erasure (- userId|apikeyId)"
              },
              "reason": {
                "type": "string",
                "description": "The reason for rejection"
              },
              "recordId": {
                "type": "string",
                "description": "ID of this log record"
              },
              "requestId": {
                "type": "string",
                "description": "ID of http api request that initiated the erasure"
              }
            }
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "ErasureRecordListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/ErasureLogFilter"
              }
            }
          }
        ]
      },
      "ErasureRecordListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/ErasureLogFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "records": {
                "description": "Each log entry represents an iteration of the erasure process",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ErasureLogRecord"
                }
              }
            }
          }
        ]
      },
      "EvaluationDependency": {
        "type": "object",
        "description": "A dependency required for evaluation.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/EvaluationDependencyRelated"
          },
          {
            "$ref": "#/components/schemas/EvaluationDependencyList"
          }
        ]
      },
      "EvaluationDependencyBase": {
        "type": "object",
        "required": [
          "type",
          "entity"
        ],
        "properties": {
          "entity": {
            "type": "string",
            "description": "The entity to fetch.",
            "allOf": [
              {
                "$ref": "#/components/schemas/DependencyEntityName"
              }
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "related",
              "list"
            ]
          }
        }
      },
      "EvaluationDependencyList": {
        "type": "object",
        "description": "Any dependency required for evaluation which will list entities with supplied param filters.",
        "allOf": [
          {
            "$ref": "#/components/schemas/EvaluationDependencyBase"
          }
        ],
        "properties": {
          "entity": {
            "type": "string",
            "description": "Entity to fetch by list.",
            "$ref": "#/components/schemas/DependencyEntityName"
          },
          "variableName": {
            "type": "string",
            "description": "Variable name to use for the fetched items in evaluation code.  Must not conflict with reserved words or variable names."
          },
          "getParamsByCode": {
            "type": "string",
            "description": "Code that returns params used for fetching the entity by list."
          }
        }
      },
      "EvaluationDependencyRelated": {
        "type": "object",
        "description": "A dependency related to the current context required for evaluation.",
        "allOf": [
          {
            "$ref": "#/components/schemas/EvaluationDependencyBase"
          }
        ]
      },
      "Event": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "eventId": {
                "type": "string",
                "description": "Event ID"
              },
              "keywords": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "source": {
                "$ref": "#/components/schemas/EventRequestSource"
              }
            }
          },
          {
            "$ref": "#/components/schemas/EventCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "EventBase": {
        "type": "object",
        "properties": {
          "direction": {
            "$ref": "#/components/schemas/Direction",
            "description": "operation direction"
          },
          "duration": {
            "type": "number",
            "format": "int32",
            "description": "operation duration"
          },
          "entityId": {
            "type": "string",
            "description": "entityId"
          },
          "entityType": {
            "type": "string",
            "description": "entity type"
          },
          "extEntityId": {
            "type": "string",
            "description": "extEntityId"
          },
          "integration": {
            "type": "string",
            "description": "integration id"
          },
          "isBatch": {
            "type": "boolean",
            "description": "Indicates if the event is for a batch action"
          },
          "operation": {
            "$ref": "#/components/schemas/EventOperation"
          },
          "requestId": {
            "type": "string",
            "description": "API request Id"
          },
          "source": {
            "$ref": "#/components/schemas/EventRequestSourcePublic"
          },
          "status": {
            "$ref": "#/components/schemas/EventRequestStatus"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "description": "When the event was triggered"
          },
          "userId": {
            "type": "string",
            "description": "API user id"
          }
        }
      },
      "EventCreateData": {
        "allOf": [
          {
            "$ref": "#/components/schemas/EventBase"
          },
          {
            "type": "object",
            "properties": {
              "request": {
                "$ref": "#/components/schemas/EventRequestData"
              },
              "response": {
                "$ref": "#/components/schemas/EventResponseData"
              }
            }
          }
        ]
      },
      "EventCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "event": {
                "$ref": "#/components/schemas/Event"
              }
            }
          }
        ]
      },
      "EventCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "event": {
                "$ref": "#/components/schemas/Event"
              }
            }
          }
        ]
      },
      "EventFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "EventFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "event": {
                "$ref": "#/components/schemas/Event"
              }
            }
          }
        ]
      },
      "EventListItem": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "eventId": {
                "type": "string",
                "description": "Event ID"
              },
              "keywords": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "source": {
                "$ref": "#/components/schemas/EventRequestSource"
              }
            }
          },
          {
            "$ref": "#/components/schemas/EventBase"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "EventOperation": {
        "type": "string",
        "enum": [
          "create",
          "update",
          "delete",
          "poll",
          "acknowledge",
          "check",
          "cleanup",
          "detach",
          "download",
          "mode",
          "move",
          "reinvite",
          "replay",
          "reset_password",
          "results",
          "set-rule-order",
          "setup",
          "sync",
          "upgrade",
          "upload",
          "variables"
        ],
        "description": "Name of operation with entity. The following operations are applicable only to particular types of entities:\n- \"acknowledge\" - fulfillments\n- \"check\" - orders\n- \"cleanup\" - organizations\n- \"detach\" - organizations\n- \"download\" - labels\n- \"mode\" - organizations\n- \"move\" - organizations\n- \"reinvite\" - users\n- \"replay\" - events\n- \"reset_password\" - users\n- \"results\" - jobs\n- \"set-rule-order\" - automations\n- \"setup\" - connectors\n- \"sync\" - arrivals, fulfillments, inventory, orders, products, receipts, shipments\n- \"upgrade\" - integrations\n- \"upload\" - labels\n- \"variables\" - integrations\n"
      },
      "EventReplayError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "EventReplayResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          }
        ]
      },
      "EventRequestData": {
        "type": "object",
        "properties": {
          "authobj": {
            "type": "object",
            "description": "Request authorization info"
          },
          "body": {
            "type": "string",
            "description": "Request body"
          },
          "headers": {
            "type": "object",
            "description": "Request headers"
          },
          "method": {
            "type": "string",
            "description": "Request method"
          },
          "url": {
            "type": "string",
            "description": "Request url"
          }
        }
      },
      "EventRequestSource": {
        "type": "string",
        "description": "Event Type",
        "enum": [
          "api",
          "api-webhook",
          "custom"
        ]
      },
      "EventRequestSourcePublic": {
        "type": "string",
        "description": "Event Type",
        "enum": [
          "custom"
        ]
      },
      "EventRequestStatus": {
        "type": "string",
        "description": "Event Status",
        "enum": [
          "pending",
          "acknowledged",
          "completed",
          "failed"
        ]
      },
      "EventResponseData": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string",
            "description": "Response body"
          },
          "headers": {
            "type": "object",
            "description": "Response headers"
          },
          "message": {
            "type": "string",
            "description": "Response message"
          },
          "retries": {
            "type": "number",
            "description": "Number of retries"
          },
          "status": {
            "type": "number",
            "description": "Response status"
          }
        }
      },
      "EventSource": {
        "type": "string",
        "description": "Event source partner type",
        "enum": [
          "wms",
          "ims",
          "oms",
          "portal"
        ]
      },
      "EventType": {
        "type": "string",
        "description": "Type of event triggering inventory change:\n  * `ingest` - Indicates quantities reported by fulfillment channel (warehouse).\n  * `adjust` - Manual inventory update or result of bundle quantities update by Inventory Engine.\n  * `assign` - Partial inventory level reported by a fulfillment channel. Any quantity may be omitted; omitted quantities keep their current value, and the remaining quantity is derived so that `onHand = committed + available + unavailable`. `committed` is never derived, so a supply-only sync cannot disturb demand. Only valid on the inventory create path.\n  * `touch` - Simulated inventory update not tied with quantity changes. Initiates inventory sync and/or recalculation process.\n  * `POSOrder` - Includes quantity updates of inventory item referred in POS order. Reduces `available`, `onHand`.\n  * `virtualCommit` - Includes quantity updates of inventory item referred in sales order or shipping request. Indicates the difference between order quantity and shipment(s) quantity. Used to adjust `available` and `committed` in the virtual location to maintain inventory totals prior to creation of shipping request.\n  * `ship` - Includes quantity updates of inventory item referred in sales order shipping request. Reduces `available`, increases `committed` and `commitShip`.\n  * `shipCancel` - Includes quantity updates of inventory item referred in canceled sales order shipping request (excluding `futureShipCancel` case). Decreases `committed`, adjusts `onHand` and `commitShip`.\n  * `shipCancelRestock` - Includes quantity updates of inventory item referred in canceled sales order shipping request with `canceledRestock` status. Reduces `committed`, increases `available`, adjusts `commitShip`.\n  * `fulfill` - Includes quantity updates of inventory item referred in sales order fulfillment. Reduces `committed`, `onHand`, `commitShip`.\n  * `futureShip` - Includes quantity updates of inventory item referred in sales order shipping request assigned `pendingInventory` status. Increases `committedFuture`.\n  * `release` - Includes quantity updates of inventory item referred in sales order shipping request once it transitions from `pendingInventory` to `readyForFulfillment` status. Transfers quantity from `committedFuture` to `committed`, adjusts `available` and `commitShip`.\n  * `futureShipCancel` - Includes quantity updates of inventory item referred in canceled sales order shipping request which was once assigned `pendingInventory` status. Reduces `committedFuture`.\n  * `xferout` - Includes quantity updates of inventory item referred in transfer order shipping request with `readyForFulfillment` status. Reduces `available`, increases `committed`, adjusts `commitXfer`.\n  * `xferfulfill` - Includes quantity updates of inventory item referred in transfer order fulfillment. Reduces `committed`, `onHand`, `commitXfer`.\n  * `xferin` - Includes quantity updates of inventory item referred in arrival. Increases `incoming` quantity.\n  * `receive` - Includes quantity updates of inventory item referred in receipt. Increases `available`, decreases `incoming`, adjusts `onHand` and `future`.\n  * `cycleCount` - Reconciles inventory to a physical stock count. Only valid on the inventory update path, and the one event there that assigns an absolute quantity: `quantity` carries the **counted on-hand**, not a delta. `onHand` is set to it, `available` absorbs the difference against the previous level, and `committed` is left untouched. The ledger entry records the resulting adjustment in `quantity`. To assign quantities other than `onHand`, or several at once, use the `assign` event on the create path.\n",
        "enum": [
          "ingest",
          "adjust",
          "assign",
          "custom",
          "revise",
          "ship",
          "fulfill",
          "xferin",
          "xferout",
          "return",
          "receive",
          "xferfulfill",
          "futureShip",
          "release",
          "shipCancel",
          "shipCancelRestock",
          "futureShipCancel",
          "virtualCommit",
          "touch",
          "POSOrder",
          "instantTransfer",
          "cycleCount"
        ]
      },
      "EventUpdateData": {
        "type": "object",
        "properties": {
          "duration": {
            "type": "number",
            "format": "int32",
            "description": "operation duration"
          },
          "isBatch": {
            "type": "boolean",
            "description": "Indicates if the event is for a batch action"
          },
          "response": {
            "$ref": "#/components/schemas/EventResponseData",
            "type": "number",
            "description": "Event data response code"
          },
          "status": {
            "$ref": "#/components/schemas/EventRequestStatus"
          }
        }
      },
      "EventUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "EventUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/EventUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "EventUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "event": {
                "$ref": "#/components/schemas/Event"
              }
            }
          }
        ]
      },
      "EventsDeleteError": {
        "type": "object",
        "xml": {
          "name": "response"
        },
        "required": [
          "success",
          "code"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "description": "Copy of HTTP status",
            "format": "int32",
            "minimum": 400,
            "example": 404
          },
          "success": {
            "type": "boolean",
            "description": "Always false",
            "enum": [
              false
            ],
            "example": false
          },
          "conflict": {
            "type": "object",
            "description": "Details of the conflicting state, when the failure is a 409. The shape depends on the endpoint — a duplicate-key failure carries the offending keys, while /shipping_requests/{id}/request-labels carries `labels` (the labels the shipment already holds), `existingExtLabelIds` (the extLabelIds already claimed) or `refundedExtLabelIds` (extLabelIds belonging to refunded labels, which cannot be reused)."
          },
          "errors": {
            "type": "array",
            "description": "Error detail",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "string",
            "description": "Error message"
          },
          "vendorCode": {
            "type": "string",
            "description": "Vendor-specific error code passed through from a downstream connector/carrier (e.g. EasyPost \"SHIPMENT.REFUND.UNAVAILABLE\"). Present only when the failure originated at the vendor."
          }
        }
      },
      "EventsDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "message": {
                "type": "string",
                "example": "OK (but NYI)"
              }
            }
          }
        ]
      },
      "EventsFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Events Filter",
            "properties": {
              "apikeyId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fetch by list of api keys"
              },
              "direction": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Direction"
                },
                "description": "Fetch by list of event directions"
              },
              "entityId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fetch by list of entityId"
              },
              "entityType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fetch by list of entity types"
              },
              "eventId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fetch by list of eventId"
              },
              "extEntityId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fetch by list of extEntityId"
              },
              "identity": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fetch by list of identity ids (- either integration, apikeyId, or userId)"
              },
              "integration": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fetch by list of integrations"
              },
              "keywords": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fetch by keywords"
              },
              "operation": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EventOperation"
                },
                "description": "Fetch by list of event operations"
              },
              "source": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EventRequestSource"
                },
                "description": "Fetch by list of event sources"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EventRequestStatus"
                },
                "description": "Fetch by list of event statuses"
              },
              "userId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fetch by list of userId"
              }
            }
          }
        ]
      },
      "EventsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/EventsListFilter"
              }
            }
          }
        ]
      },
      "EventsListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/EventsFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys",
            "description": "List Events Filter"
          }
        ]
      },
      "EventsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "events": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EventListItem"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/EventsListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "Exception": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "autoEngUpdateStatus": {
                "$ref": "#/components/schemas/AutoEngUpdateStatus"
              },
              "autoEngUpdateStatusUpdatedAt": {
                "$ref": "#/components/schemas/AutoEngUpdateStatusUpdatedAt"
              },
              "categoryId": {
                "type": "string",
                "description": "Exception category ID"
              },
              "exceptionId": {
                "type": "string",
                "description": "Exception ID"
              },
              "integration": {
                "type": "string",
                "description": "Reference to integration that created an item"
              },
              "status": {
                "$ref": "#/components/schemas/ExceptionStatus"
              },
              "timeline": {
                "description": "Timeline of updates",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExceptionChangelogEntry"
                }
              }
            }
          },
          {
            "$ref": "#/components/schemas/ExceptionCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "ExceptionCategoriesListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/ExceptionCategoriesListFilter"
              }
            }
          }
        ]
      },
      "ExceptionCategoriesListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Categories Filter",
            "properties": {
              "categoryId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Categories by categoryId list"
              },
              "entityType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Categories by entityType list"
              },
              "exceptionType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Categories by exceptionType list"
              },
              "isPublic": {
                "type": "boolean",
                "description": "The `true` - public categories only, `false` - only org specific ones. By default, any of them."
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              }
            }
          }
        ]
      },
      "ExceptionCategoriesListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "categories": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExceptionCategory"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/ExceptionCategoriesListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "ExceptionCategory": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "categoryId": {
                "type": "string",
                "description": "Category Id"
              },
              "status": {
                "type": "string"
              }
            }
          },
          {
            "$ref": "#/components/schemas/ExceptionCategoryCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "ExceptionCategoryCreateData": {
        "type": "object",
        "required": [
          "specs"
        ],
        "properties": {
          "specs": {
            "description": "Category exceptions specs",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExceptionCategorySpec"
            }
          },
          "description": {
            "type": "string",
            "description": "Description of category"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "name": {
            "type": "string",
            "description": "Name of category"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          }
        }
      },
      "ExceptionCategoryCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "category": {
                "$ref": "#/components/schemas/ExceptionCategoryCreateData"
              }
            }
          }
        ]
      },
      "ExceptionCategoryCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ExceptionCategoryCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "ExceptionCategoryCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "category": {
                "$ref": "#/components/schemas/ExceptionCategory"
              }
            }
          }
        ]
      },
      "ExceptionCategoryFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "ExceptionCategoryFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "category": {
                "$ref": "#/components/schemas/ExceptionCategory"
              }
            }
          }
        ]
      },
      "ExceptionCategorySpec": {
        "type": "object",
        "description": "Category exceptions spec",
        "required": [
          "exceptionType",
          "entityType"
        ],
        "properties": {
          "entityType": {
            "$ref": "#/components/schemas/ExceptionEntityName"
          },
          "exceptionType": {
            "$ref": "#/components/schemas/ExceptionType"
          },
          "description": {
            "type": "string"
          }
        }
      },
      "ExceptionCategoryUpdateData": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "Description of category"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Name of category"
          },
          "specs": {
            "description": "Category exceptions specs",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExceptionCategorySpec"
            }
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags",
            "nullable": true
          }
        }
      },
      "ExceptionCategoryUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "category": {
                "$ref": "#/components/schemas/ExceptionCategoryUpdateData"
              }
            }
          }
        ]
      },
      "ExceptionCategoryUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ExceptionCategoryUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "ExceptionCategoryUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "category": {
                "$ref": "#/components/schemas/ExceptionCategory"
              }
            }
          }
        ]
      },
      "ExceptionChangelogEntry": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "exceptionId": {
                "type": "string",
                "description": "Exception Id"
              }
            }
          },
          {
            "$ref": "#/components/schemas/ChangelogEntryBase"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "ExceptionCreateData": {
        "type": "object",
        "required": [
          "exceptionType",
          "entityId",
          "entityType"
        ],
        "properties": {
          "entityId": {
            "type": "string",
            "description": "Entity ID, or a comma-separated list of Entity IDs when the exception covers several entities. A Pipe17 ID never contains a comma, so no escaping applies to this field."
          },
          "entityType": {
            "$ref": "#/components/schemas/ExceptionEntityName"
          },
          "exceptionType": {
            "$ref": "#/components/schemas/ExceptionType"
          },
          "aiTip": {
            "type": "string"
          },
          "autoEngUpdateStatus": {
            "$ref": "#/components/schemas/AutoEngUpdateStatus"
          },
          "categoryId": {
            "type": "string",
            "description": "Exception category ID"
          },
          "exceptionDetails": {
            "type": "string",
            "description": "Exception specific error message/details"
          },
          "exceptionPriority": {
            "$ref": "#/components/schemas/ExceptionPriority"
          },
          "exceptionSeverity": {
            "$ref": "#/components/schemas/ExceptionSeverity"
          },
          "extEntityId": {
            "type": "string",
            "description": "External Entity ID, or a comma-separated list of them when the exception covers several entities. Since an external ID may itself contain the separator, both `,` and `\\` are reserved inside a value and escaped as `\\,` and `\\\\` -- on input and in responses alike. Any value can therefore be carried, including one that ends in a backslash. Note that JSON string escaping applies on top, so in a JSON body those become `\\\\,` and `\\\\\\\\`. For example the two IDs `WIDGET,BLUE` and `SKU-C` are sent and returned as `\"extEntityId\": \"WIDGET\\\\,BLUE,SKU-C\"`, and `SKU\\1` with `SKU-2` as `\"extEntityId\": \"SKU\\\\\\\\1,SKU-2\"`."
          },
          "extRelatedEntityId": {
            "type": "string",
            "description": "External ID of the Related Entity, or a comma-separated list of them. Escaping is the same as for extEntityId: `,` and `\\` are reserved inside a value and escaped as `\\,` and `\\\\` -- written `\\\\,` and `\\\\\\\\` in a JSON body, since JSON string escaping applies on top."
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "origin": {
            "type": "string",
            "enum": [
              "external",
              "internal",
              "unknown"
            ],
            "description": "Origin type of the exception"
          },
          "recommendation": {
            "type": "string"
          },
          "relatedEntityId": {
            "type": "string",
            "description": "Related Entity ID, or a comma-separated list of them (e.g. for a shipping request the related entity is a sales order or a transfer order). A Pipe17 ID never contains a comma, so no escaping applies to this field."
          },
          "relatedEntityType": {
            "$ref": "#/components/schemas/ExceptionEntityName"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          }
        }
      },
      "ExceptionCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "exception": {
                "$ref": "#/components/schemas/ExceptionCreateData"
              }
            }
          }
        ]
      },
      "ExceptionCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ExceptionCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "ExceptionCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "exception": {
                "$ref": "#/components/schemas/Exception"
              }
            }
          }
        ]
      },
      "ExceptionEntityName": {
        "type": "string",
        "description": "Exception Entity Name",
        "enum": [
          "accounts",
          "apikey",
          "arrivals",
          "automation_rules",
          "automation_runs",
          "automations",
          "changelog",
          "connectors",
          "customers",
          "custom_objects",
          "contacts",
          "entity_filters",
          "entity_schemas",
          "events",
          "exception_categories",
          "exception_filters",
          "exceptions",
          "fulfillments",
          "functions",
          "integration_actions",
          "integration_state",
          "integrations",
          "inventory",
          "inventory_groups",
          "inventoryrules",
          "invoices",
          "jobs",
          "labels",
          "locations",
          "location_groups",
          "lookup_objects",
          "mappings",
          "metrics",
          "notes",
          "delivery_promises",
          "order_routing_runs",
          "order_routings",
          "payments",
          "orders",
          "organizations",
          "catalogs",
          "catalog_products",
          "pricing",
          "products",
          "purchases",
          "receipts",
          "references",
          "refunds",
          "returns",
          "roles",
          "routings",
          "shipment_boxes",
          "shipments",
          "shipping_methods",
          "statement_transactions",
          "statements",
          "cycle_counts",
          "cycle_count_entries",
          "suppliers",
          "trackings",
          "transfers",
          "usagedata",
          "usageplans",
          "users",
          "vendor_schemas",
          "webhooks"
        ]
      },
      "ExceptionFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "ExceptionFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "exception": {
                "$ref": "#/components/schemas/Exception"
              }
            }
          }
        ]
      },
      "ExceptionFilter": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "filterId": {
                "type": "string",
                "description": "Filter ID"
              }
            }
          },
          {
            "$ref": "#/components/schemas/ExceptionFilterCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "ExceptionFilterCreateData": {
        "type": "object",
        "properties": {
          "exceptionType": {
            "$ref": "#/components/schemas/ExceptionType"
          },
          "blocking": {
            "type": "boolean"
          },
          "enabled": {
            "type": "boolean"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "isPublic": {
            "type": "boolean",
            "description": "Public filter indicator"
          },
          "originId": {
            "type": "string"
          },
          "settings": {
            "type": "object"
          }
        },
        "required": [
          "exceptionType"
        ]
      },
      "ExceptionFilterCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "exceptionFilter": {
                "$ref": "#/components/schemas/ExceptionFilterCreateData"
              }
            }
          }
        ]
      },
      "ExceptionFilterCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "exceptionFilter": {
                "$ref": "#/components/schemas/ExceptionFilter"
              }
            }
          }
        ]
      },
      "ExceptionFilterFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "ExceptionFilterFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "exceptionFilter": {
                "$ref": "#/components/schemas/ExceptionFilter"
              }
            }
          }
        ]
      },
      "ExceptionFilterListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/ExceptionFiltersListFilter"
              }
            }
          }
        ]
      },
      "ExceptionFilterListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "exceptionFilters": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExceptionFilter"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/ExceptionFiltersListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "ExceptionFilterUpdateData": {
        "type": "object",
        "properties": {
          "blocking": {
            "type": "boolean"
          },
          "enabled": {
            "type": "boolean"
          },
          "exceptionType": {
            "$ref": "#/components/schemas/ExceptionType"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "isPublic": {
            "type": "boolean",
            "description": "Public filter indicator"
          },
          "originId": {
            "type": "string"
          },
          "settings": {
            "type": "object"
          }
        }
      },
      "ExceptionFilterUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "ExceptionFilterUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ExceptionFilterUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "ExceptionFilterUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "exceptionFilter": {
                "$ref": "#/components/schemas/ExceptionFilter"
              }
            }
          }
        ]
      },
      "ExceptionFiltersDeleteError": {
        "type": "object",
        "xml": {
          "name": "response"
        },
        "required": [
          "success",
          "code"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "description": "Copy of HTTP status",
            "format": "int32",
            "minimum": 400,
            "example": 404
          },
          "success": {
            "type": "boolean",
            "description": "Always false",
            "enum": [
              false
            ],
            "example": false
          },
          "conflict": {
            "type": "object",
            "description": "Details of the conflicting state, when the failure is a 409. The shape depends on the endpoint — a duplicate-key failure carries the offending keys, while /shipping_requests/{id}/request-labels carries `labels` (the labels the shipment already holds), `existingExtLabelIds` (the extLabelIds already claimed) or `refundedExtLabelIds` (extLabelIds belonging to refunded labels, which cannot be reused)."
          },
          "errors": {
            "type": "array",
            "description": "Error detail",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "string",
            "description": "Error message"
          },
          "vendorCode": {
            "type": "string",
            "description": "Vendor-specific error code passed through from a downstream connector/carrier (e.g. EasyPost \"SHIPMENT.REFUND.UNAVAILABLE\"). Present only when the failure originated at the vendor."
          }
        }
      },
      "ExceptionFiltersDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "message": {
                "type": "string",
                "example": "OK (but NYI)"
              }
            }
          }
        ]
      },
      "ExceptionFiltersFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Exception Filters Filter",
            "properties": {
              "exceptionType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Filters by exceptionType list"
              },
              "filterId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Filters by filterId list"
              },
              "originId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Filters by originId list"
              }
            }
          }
        ]
      },
      "ExceptionFiltersListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ExceptionFiltersFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys",
            "description": "List Exception Filters Filter"
          }
        ]
      },
      "ExceptionPriority": {
        "type": "string",
        "description": "Exception priority",
        "enum": [
          "high",
          "medium",
          "low"
        ]
      },
      "ExceptionSeverity": {
        "type": "string",
        "description": "Exception severity",
        "enum": [
          "high",
          "medium",
          "low"
        ]
      },
      "ExceptionStatus": {
        "type": "string",
        "description": "Exception status",
        "enum": [
          "active",
          "dismissed",
          "resolved"
        ]
      },
      "ExceptionSyncRequest": {
        "type": "object",
        "properties": {
          "syncAE": {
            "type": "boolean",
            "description": "Reset autoEngUpdateStatus"
          }
        }
      },
      "ExceptionType": {
        "type": "string",
        "description": "Exception type",
        "enum": [
          "eAutomation",
          "eAutomationGetParamsByCodeError",
          "eAutomationListDependencyFetchError",
          "eAutomationCodeFilterError",
          "eAutomationCodeActionError",
          "eGeneric",
          "eSyncFailure",
          "eUnacknowledged",
          "eDelayed",
          "eLate",
          "eLateCancel",
          "eEarly",
          "eLost",
          "eToday",
          "eSplit",
          "eStuck",
          "eLarge",
          "eLow",
          "eMissing",
          "eMissingSKU",
          "eMissingLocation",
          "eMismatch",
          "eMismatchTax",
          "eInvalid",
          "eInvalidAddress",
          "eInvalidDate",
          "eInvalidLocation",
          "eInvalidSKU",
          "eInvalidMethod",
          "eIncomplete",
          "eIncompleteAddress",
          "eDuplicate",
          "eDuplicateSKU",
          "eUnexpected",
          "eUnexpectedDate",
          "eUnexpectedRoutingDelay",
          "ePotentialShipByDateDelay",
          "eRestock",
          "eOutOfStock",
          "eFraudSuspected",
          "eApprovalRequired",
          "ePartiallyCanceled",
          "eRouteNotFound",
          "eRouteOutOfStock",
          "eShippingMethod",
          "ePaymentRequired",
          "eUnfulfillable",
          "eTransform",
          "eShipmentMismatch",
          "eUnexpectedSplitShipment",
          "ePotentialOverfulfill",
          "eStuckShippingRequest",
          "eCreditMemoInsufficient",
          "eOrderSyncFailure",
          "eOrderTaxMismatch",
          "eInventoryOutOfStock"
        ]
      },
      "ExceptionUpdateData": {
        "type": "object",
        "properties": {
          "aiTip": {
            "type": "string",
            "nullable": true
          },
          "autoEngUpdateStatus": {
            "$ref": "#/components/schemas/AutoEngUpdateStatus"
          },
          "categoryId": {
            "type": "string",
            "description": "Exception category ID"
          },
          "exceptionPriority": {
            "$ref": "#/components/schemas/ExceptionPriority"
          },
          "exceptionSeverity": {
            "$ref": "#/components/schemas/ExceptionSeverity"
          },
          "extRelatedEntityId": {
            "type": "string",
            "description": "External ID of the Related Entity, or a comma-separated list of them. `,` and `\\` are reserved inside a value and escaped as `\\,` and `\\\\` -- written `\\\\,` and `\\\\\\\\` in a JSON body, since JSON string escaping applies on top."
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "recommendation": {
            "type": "string",
            "nullable": true
          },
          "relatedEntityId": {
            "type": "string",
            "description": "Related Entity ID, or a comma-separated list of them (e.g. for a shipping request the related entity is a sales order or a transfer order). A Pipe17 ID never contains a comma, so no escaping applies to this field."
          },
          "relatedEntityType": {
            "$ref": "#/components/schemas/ExceptionEntityName"
          },
          "status": {
            "$ref": "#/components/schemas/ExceptionStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags",
            "nullable": true
          }
        }
      },
      "ExceptionUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "exception": {
                "$ref": "#/components/schemas/ExceptionUpdateData"
              }
            }
          }
        ]
      },
      "ExceptionUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ExceptionUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "ExceptionUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "exception": {
                "$ref": "#/components/schemas/Exception"
              }
            }
          }
        ]
      },
      "ExceptionsDeleteError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/ExceptionsDeleteFilter"
              }
            }
          }
        ]
      },
      "ExceptionsDeleteFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ExceptionsFilter"
          },
          {
            "type": "object",
            "properties": {
              "action": {
                "type": "string",
                "enum": [
                  "list",
                  "hard"
                ]
              }
            }
          }
        ]
      },
      "ExceptionsDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "deleted": {
                "type": "integer",
                "description": "Number of deleted exceptions"
              },
              "exceptions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Exception"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/ExceptionsDeleteFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "ExceptionsFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Exceptions Filter",
            "properties": {
              "categoryId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Exceptions by categoryId-list"
              },
              "entityId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Exceptions related to this list of entities"
              },
              "entityType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Exceptions related to list of entity types"
              },
              "exceptionId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Exceptions by exceptionId-list"
              },
              "exceptionType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Exceptions by exceptionType-list"
              },
              "integration": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Exceptions created by listed integrations"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              }
            }
          }
        ]
      },
      "ExceptionsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/ExceptionsListFilter"
              }
            }
          }
        ]
      },
      "ExceptionsListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ExceptionsFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "properties": {
              "autoEngUpdateStatus": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AutoEngUpdateStatus"
                }
              },
              "exceptionDetails": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Exceptions with the status `active`, which contain specified terms in the `exceptionDetails` field  (wildcards `*` and `?` are supported in any term, but not as the first character)"
              },
              "exceptionPriority": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExceptionPriority"
                },
                "description": "Exceptions by exceptionPriority-list"
              },
              "exceptionSeverity": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExceptionSeverity"
                },
                "description": "Exceptions by exceptionSeverity-list"
              },
              "extEntityId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Exceptions related to this list of entities. `,` and `\\` are reserved inside a value and escaped as `\\,` and `\\\\` -- written with a single backslash in the URL, since no JSON escaping applies here."
              },
              "extRelatedEntityId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Exceptions related to this list of related entities. `,` and `\\` are reserved inside a value and escaped as `\\,` and `\\\\` -- written with a single backslash in the URL, since no JSON escaping applies here."
              },
              "integrationOwned": {
                "type": "boolean",
                "description": "Exceptions created by current integration only"
              },
              "relatedEntityId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Exceptions related to this list of related entities"
              },
              "relatedEntityType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Exceptions related to list of related entity types"
              },
              "status": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Exceptions by status-list"
              }
            }
          }
        ]
      },
      "ExceptionsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "exceptions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Exception"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/ExceptionsListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "ExceptionsStatusUpdateData": {
        "type": "object",
        "required": [
          "exceptions",
          "status"
        ],
        "properties": {
          "exceptions": {
            "type": "array",
            "items": {
              "type": "string",
              "maxItems": 50
            },
            "description": "exception IDs to be updated"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "dismissed",
              "resolved"
            ],
            "description": "status to which the objects should be updated"
          }
        }
      },
      "ExceptionsStatusUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "params": {
                "$ref": "#/components/schemas/ExceptionsStatusUpdateData"
              }
            }
          }
        ]
      },
      "ExceptionsStatusUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ExceptionsStatusUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "ExceptionsStatusUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "unresolved": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Unresolved IDs (- exceptions not found)"
              },
              "updated": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "IDs of the updated exceptions"
              }
            }
          }
        ]
      },
      "Failure": {
        "type": "object",
        "xml": {
          "name": "response"
        },
        "required": [
          "success",
          "code"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "description": "Copy of HTTP status",
            "format": "int32",
            "minimum": 400,
            "example": 404
          },
          "success": {
            "type": "boolean",
            "description": "Always false",
            "enum": [
              false
            ],
            "example": false
          },
          "conflict": {
            "type": "object",
            "description": "Details of the conflicting state, when the failure is a 409. The shape depends on the endpoint — a duplicate-key failure carries the offending keys, while /shipping_requests/{id}/request-labels carries `labels` (the labels the shipment already holds), `existingExtLabelIds` (the extLabelIds already claimed) or `refundedExtLabelIds` (extLabelIds belonging to refunded labels, which cannot be reused)."
          },
          "errors": {
            "type": "array",
            "description": "Error detail",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "string",
            "description": "Error message"
          },
          "vendorCode": {
            "type": "string",
            "description": "Vendor-specific error code passed through from a downstream connector/carrier (e.g. EasyPost \"SHIPMENT.REFUND.UNAVAILABLE\"). Present only when the failure originated at the vendor."
          }
        }
      },
      "Fee": {
        "type": "object",
        "required": [
          "name",
          "value"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "fee name as defined at source channel, might be composed from several source attributes"
          },
          "value": {
            "type": "number",
            "description": "monetary amount"
          },
          "category": {
            "type": "string",
            "description": "fee category",
            "enum": [
              "charge",
              "fee",
              "refund",
              "dispute",
              "adjustment",
              "payout",
              "reserve",
              "other"
            ]
          },
          "kind": {
            "type": "string",
            "description": "fee balance hint",
            "enum": [
              "credit",
              "debit",
              "neutral",
              "unknown"
            ]
          },
          "ordinal": {
            "type": "number",
            "description": "defines order for presentation (UI)"
          },
          "term": {
            "type": "string",
            "description": "fee term",
            "enum": [
              "gross",
              "net",
              "deduction"
            ]
          }
        }
      },
      "FeedbackInfo": {
        "type": "object",
        "required": [
          "isSatisfactory"
        ],
        "properties": {
          "isSatisfactory": {
            "type": "boolean",
            "description": "Whether the user found the interaction satisfactory"
          },
          "message": {
            "type": "string",
            "description": "User feedback message"
          }
        }
      },
      "FilterEntityName": {
        "type": "string",
        "description": "EntityFilter Entity Name",
        "enum": [
          "accounts",
          "apikey",
          "arrivals",
          "automation_rules",
          "automation_runs",
          "automations",
          "changelog",
          "connectors",
          "customers",
          "custom_objects",
          "contacts",
          "entity_filters",
          "entity_schemas",
          "events",
          "exception_categories",
          "exception_filters",
          "exceptions",
          "fulfillments",
          "functions",
          "integration_actions",
          "integration_state",
          "integrations",
          "inventory",
          "inventory_groups",
          "inventoryrules",
          "invoices",
          "jobs",
          "labels",
          "locations",
          "location_groups",
          "lookup_objects",
          "mappings",
          "metrics",
          "notes",
          "order_regions",
          "delivery_promises",
          "order_routing_runs",
          "order_routings",
          "payments",
          "orders",
          "organizations",
          "catalogs",
          "catalog_products",
          "pricing",
          "products",
          "purchases",
          "receipts",
          "references",
          "refunds",
          "returns",
          "roles",
          "routings",
          "shipment_boxes",
          "shipments",
          "shipping_methods",
          "statement_transactions",
          "statements",
          "cycle_counts",
          "cycle_count_entries",
          "suppliers",
          "trackings",
          "transfers",
          "usagedata",
          "usageplans",
          "users",
          "vendor_schemas",
          "webhooks"
        ]
      },
      "Fulfillment": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "acknowledgement": {
                "type": "array",
                "description": "Integrations acknowledgement info for this fulfillment",
                "items": {
                  "$ref": "#/components/schemas/FulfillmentAcknowledgment"
                }
              },
              "acknowledgementSources": {
                "type": "object",
                "properties": {
                  "erp": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "oms": {
                    "type": "string",
                    "format": "date-time"
                  }
                },
                "description": "fulfillment acknowledgments by integration type"
              },
              "autoEngUpdateStatus": {
                "$ref": "#/components/schemas/AutoEngUpdateStatus"
              },
              "exceptionCategories": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "References to categories of exceptions related to the fulfillment"
              },
              "exceptions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Types of exceptions related to the fulfillment"
              },
              "fulfillmentId": {
                "type": "string",
                "description": "Fulfillment ID"
              },
              "integration": {
                "type": "string",
                "description": "Reference to integration that created an item"
              },
              "lineItems": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FulfillmentItemExt"
                }
              },
              "locationId": {
                "type": "string",
                "description": "locationId of the fulfillment"
              },
              "orderId": {
                "type": "string",
                "description": "Pipe17 Internal Order's ID"
              },
              "orderIntegration": {
                "type": "string",
                "description": "Reference to integration that created order tied to an item"
              },
              "orderSource": {
                "type": "string",
                "description": "The order platform: walmart, etsy, etc"
              },
              "orderType": {
                "type": "string",
                "enum": [
                  "sales",
                  "transfer",
                  "purchase"
                ],
                "description": "Type of Pipe17 Internal Order"
              },
              "priority": {
                "$ref": "#/components/schemas/Priority"
              },
              "shipmentIntegration": {
                "type": "string",
                "description": "Reference to integration that created shipment tied to an item"
              },
              "status": {
                "type": "string",
                "enum": [
                  "submitted",
                  "deleted"
                ]
              },
              "timeline": {
                "description": "Timeline of updates",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FulfillmentChangelogEntry"
                }
              }
            }
          },
          {
            "$ref": "#/components/schemas/FulfillmentCreateGroupProps"
          },
          {
            "$ref": "#/components/schemas/FulfillmentCreateBaseData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "FulfillmentAcknowledgeData": {
        "type": "object",
        "properties": {
          "integration": {
            "type": "string",
            "description": "Acknowledging integration"
          }
        }
      },
      "FulfillmentAcknowledgeError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "options": {
                "$ref": "#/components/schemas/FulfillmentAcknowledgeData"
              }
            }
          }
        ]
      },
      "FulfillmentAcknowledgeRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/FulfillmentAcknowledgeData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "FulfillmentAcknowledgeResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          }
        ]
      },
      "FulfillmentAcknowledgment": {
        "type": "object",
        "properties": {
          "acknowledgedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Acknowledged at"
          },
          "integration": {
            "type": "string"
          }
        }
      },
      "FulfillmentAcknowledgmentSource": {
        "type": "string",
        "enum": [
          "erp",
          "oms"
        ]
      },
      "FulfillmentChangelogEntry": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "fulfillmentId": {
                "type": "string",
                "description": "Fulfillment Id"
              },
              "shipmentId": {
                "type": "string",
                "description": "Shipment Id"
              }
            }
          },
          {
            "$ref": "#/components/schemas/ChangelogEntryBase"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "FulfillmentCreateBaseData": {
        "type": "object",
        "properties": {
          "actualShipDate": {
            "type": "string",
            "format": "date-time",
            "description": "Actual ship date"
          },
          "billOfLading": {
            "type": "string"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "dimensionsUnit": {
            "type": "string",
            "description": "Dimensions UOM",
            "enum": [
              "cm",
              "in",
              "ft"
            ]
          },
          "expectedArrivalDate": {
            "type": "string",
            "format": "date-time",
            "description": "Expected arrival date"
          },
          "extFulfillmentId": {
            "type": "string",
            "description": "Reference to fulfillment on external system (vendor)"
          },
          "extOrderId": {
            "type": "string",
            "description": "External customer friendly ID"
          },
          "fulfillmentType": {
            "$ref": "#/components/schemas/FulfillmentType"
          },
          "height": {
            "type": "number",
            "format": "float",
            "description": "Height"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "length": {
            "type": "number",
            "format": "float",
            "description": "Length"
          },
          "locationId": {
            "type": "string",
            "description": "locationId of the fulfillment"
          },
          "pickupDetails": {
            "type": "object",
            "description": "Pickup completion details (BOPIS/BOPAC only)",
            "nullable": true,
            "properties": {
              "pickedUpBy": {
                "type": "object",
                "description": "Person who picked up the order",
                "properties": {
                  "firstName": {
                    "type": "string"
                  },
                  "lastName": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "idType": {
                    "type": "string",
                    "enum": [
                      "drivers_license",
                      "passport",
                      "state_id",
                      "military_id",
                      "other"
                    ]
                  },
                  "idNumber": {
                    "type": "string",
                    "description": "Last 4 digits of ID number"
                  }
                }
              },
              "pickedUpAt": {
                "type": "string",
                "format": "date-time",
                "description": "When order was picked up"
              },
              "verifiedBy": {
                "type": "string",
                "description": "User ID of store rep who verified pickup"
              },
              "verifiedByName": {
                "type": "string",
                "description": "Name of store rep who verified"
              },
              "verificationMethod": {
                "type": "string",
                "enum": [
                  "pickup_code",
                  "photo_id",
                  "signature",
                  "phone_verification"
                ],
                "description": "How identity was verified"
              },
              "pickupEvidence": {
                "type": "array",
                "description": "Evidence of pickup (photos, signatures)",
                "items": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "signature",
                        "photo",
                        "id_scan"
                      ]
                    },
                    "url": {
                      "type": "string",
                      "description": "URL to evidence file (S3, etc.)"
                    },
                    "capturedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "capturedBy": {
                      "type": "string",
                      "description": "User ID who captured evidence"
                    }
                  }
                }
              },
              "pickupNotes": {
                "type": "string",
                "description": "Additional notes from store rep"
              }
            }
          },
          "sacCode": {
            "type": "string"
          },
          "shipmentId": {
            "type": "string",
            "description": "Internal Pipe17 ID of the Shipment"
          },
          "shippingCarrier": {
            "type": "string",
            "description": "Shipping Carrier"
          },
          "shippingCharge": {
            "type": "number",
            "format": "float",
            "description": "Shipping Charge"
          },
          "shippingClass": {
            "type": "string",
            "description": "Shipping Class"
          },
          "sourceDoc": {
            "$ref": "#/components/schemas/SourceDoc"
          },
          "ssccCode": {
            "type": "string"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "trackedAtSourceChannel": {
            "type": "boolean",
            "description": "Whether tracking number were issued by source channel and thus fulfillment reporting is not required"
          },
          "trackingNumber": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tracking number(s). Not required when `fulfillmentType` is `rejected` or `void`."
          },
          "trackingURLs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tracking url(s)"
          },
          "ucc128": {
            "type": "string"
          },
          "weight": {
            "type": "number",
            "format": "float",
            "description": "Weight"
          },
          "weightUnit": {
            "type": "string",
            "description": "Weight unit",
            "enum": [
              "lb",
              "oz",
              "kg",
              "g"
            ]
          },
          "width": {
            "type": "number",
            "format": "float",
            "description": "Width"
          }
        }
      },
      "FulfillmentCreateData": {
        "allOf": [
          {
            "type": "object",
            "xml": {
              "name": "fulfillment"
            },
            "required": [
              "shipmentId",
              "trackingNumber",
              "lineItems"
            ],
            "properties": {
              "lineItems": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FulfillmentItem"
                }
              },
              "autoEngUpdateStatus": {
                "$ref": "#/components/schemas/AutoEngUpdateStatus"
              },
              "priority": {
                "$ref": "#/components/schemas/Priority"
              }
            }
          },
          {
            "$ref": "#/components/schemas/FulfillmentCreateGroupProps"
          },
          {
            "$ref": "#/components/schemas/FulfillmentCreateBaseData"
          }
        ]
      },
      "FulfillmentCreateGroupProps": {
        "type": "object",
        "properties": {
          "groupComplete": {
            "type": "boolean"
          },
          "groupId": {
            "type": "string"
          },
          "groupItem": {
            "type": "number"
          },
          "groupLength": {
            "type": "number"
          }
        }
      },
      "FulfillmentCreateResult": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32",
            "description": "HTTP status code"
          },
          "conflict": {
            "type": "object",
            "description": "Duplicate key error details, if failed"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Error details if failed"
          },
          "exceptionId": {
            "type": "string",
            "description": "Id of the exception the platform raised for this item. Present only when the item failed and an exception was raised for it."
          },
          "fulfillment": {
            "$ref": "#/components/schemas/Fulfillment"
          },
          "message": {
            "type": "string",
            "description": "Error message if failed"
          },
          "status": {
            "type": "string",
            "enum": [
              "submitted",
              "failed"
            ]
          }
        }
      },
      "FulfillmentFailureException": {
        "type": "object",
        "description": "The exception the platform raised for the failed request. Present only on a single-fulfillment request that failed and for which an exception was raised.",
        "properties": {
          "exceptionId": {
            "type": "string",
            "description": "Id of the raised exception"
          }
        }
      },
      "FulfillmentFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "FulfillmentFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "fulfillment": {
                "$ref": "#/components/schemas/Fulfillment"
              }
            }
          }
        ]
      },
      "FulfillmentItem": {
        "type": "object",
        "required": [
          "sku",
          "quantity"
        ],
        "properties": {
          "quantity": {
            "type": "number",
            "format": "float",
            "description": "Item quantity"
          },
          "sku": {
            "type": "string",
            "description": "Item SKU"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "expirationDate": {
            "description": "Item expirationDate provided by fulfillment channel",
            "type": "string",
            "format": "date-time"
          },
          "lotNumber": {
            "description": "Item lot number provided by fulfillment channel",
            "type": "string"
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "quantityUnit": {
            "$ref": "#/components/schemas/ItemQuantityUnit"
          },
          "serialNumbers": {
            "description": "Item serial numbers provided by fulfillment channel. Each entry is either a single serial (e.g. \"10105\") or an inclusive alphanumeric range \"FROM..TO\" using the \"..\" separator (e.g. \"10120..10199\" or \"SN-00100..SN-00199\"). Range endpoints must share an identical prefix and end with a numeric tail. Single serials may contain hyphens; only \"..\" denotes a range.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "trackedAtSourceChannel": {
            "type": "boolean"
          },
          "uniqueId": {
            "type": "string",
            "description": "Item unique Id (to be matched with shipment line item)"
          },
          "upc": {
            "type": "string",
            "description": "Item UPC"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Channel SKU for this item. On a write made with withSKUMapping, the channel SKU that 'sku' was resolved from is recorded here.\n"
          }
        }
      },
      "FulfillmentItemExt": {
        "allOf": [
          {
            "$ref": "#/components/schemas/FulfillmentItem"
          },
          {
            "type": "object",
            "properties": {
              "bundleQuantity": {
                "type": "number",
                "format": "float",
                "description": "Matching bundle quantity when available"
              },
              "bundleQuantityPartial": {
                "type": "array",
                "items": {
                  "type": "number"
                }
              },
              "bundleSKU": {
                "type": "string",
                "description": "Matching bundle SKU when available"
              },
              "bundleUPC": {
                "type": "string",
                "description": "reference to bundle for bundle components"
              },
              "originalBundleSKU": {
                "type": "string",
                "description": "Canonical Pipe17 SKU that 'bundleSKU' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
              },
              "vendorBundleSKU": {
                "type": "string",
                "description": "Channel SKU for the bundle. On a write made with withSKUMapping, the channel SKU that 'bundleSKU' was resolved from is recorded here.\n"
              }
            }
          }
        ]
      },
      "FulfillmentRate": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "lane": {
                "type": "string",
                "description": "Lane key (`locationId|service`), assigned by the server"
              },
              "rateId": {
                "type": "string",
                "description": "Fulfillment rate ID"
              },
              "specificity": {
                "type": "integer",
                "description": "Match specificity score, computed by the server"
              },
              "status": {
                "$ref": "#/components/schemas/FulfillmentRateStatus"
              }
            }
          },
          {
            "$ref": "#/components/schemas/FulfillmentRateBase"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "FulfillmentRateBase": {
        "type": "object",
        "properties": {
          "boxes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FulfillmentRateBox"
            },
            "description": "The location's box catalog used for packing"
          },
          "country": {
            "type": "string",
            "default": "US",
            "description": "Destination country (US only for now)"
          },
          "fees": {
            "$ref": "#/components/schemas/FulfillmentRateFees"
          },
          "locationId": {
            "type": "string",
            "description": "Location (warehouse) this rate is negotiated for"
          },
          "observations": {
            "type": "integer",
            "description": "Number of observed fulfillments behind this rate (0 for cards and manual rates)"
          },
          "options": {
            "$ref": "#/components/schemas/FulfillmentRateOptions"
          },
          "pickup": {
            "$ref": "#/components/schemas/FulfillmentRatePickup"
          },
          "price": {
            "$ref": "#/components/schemas/FulfillmentRatePrice"
          },
          "service": {
            "type": "string",
            "description": "Carrier service as `carrier/SERVICE` (e.g. `usps/GA`), or a bare carrier code to cover every service of that carrier\n"
          },
          "source": {
            "$ref": "#/components/schemas/FulfillmentRateSource"
          },
          "surcharges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FulfillmentRateSurcharge"
            },
            "description": "Structured surcharges (base-tariff rates only)"
          },
          "transit": {
            "$ref": "#/components/schemas/FulfillmentRateTransit"
          },
          "validFrom": {
            "type": "string",
            "format": "date-time",
            "description": "Start of the period this rate is grounded in"
          },
          "validTo": {
            "type": "string",
            "format": "date-time",
            "description": "End of the period this rate is grounded in"
          },
          "weight": {
            "$ref": "#/components/schemas/FulfillmentRateWeight"
          },
          "zipPrefixes": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^(\\*|[A-Za-z0-9]{1,8})$"
            },
            "description": "Destination postal-code prefixes at any granularity (e.g. `902`, `90210`, `K1A`, `SW1A`); `*` means any destination, and each entry is `*` or 1-8 letters/digits with no spaces. Defaults to `*`\n"
          },
          "zone": {
            "type": "string",
            "description": "Carrier zone label this rate was derived from (e.g. `4`, `Local`). Descriptive only; not used for matching\n"
          }
        }
      },
      "FulfillmentRateBox": {
        "type": "object",
        "required": [
          "boxId",
          "length",
          "width",
          "height"
        ],
        "properties": {
          "boxId": {
            "type": "string",
            "description": "Box identifier within the location's catalog"
          },
          "height": {
            "type": "number",
            "format": "float",
            "description": "Inner height (in)"
          },
          "length": {
            "type": "number",
            "format": "float",
            "description": "Inner length (in)"
          },
          "width": {
            "type": "number",
            "format": "float",
            "description": "Inner width (in)"
          },
          "maxWeight": {
            "type": "number",
            "format": "float",
            "description": "Max total weight incl. contents and tare (lb)"
          },
          "tare": {
            "type": "number",
            "format": "float",
            "description": "Empty box weight (lb)"
          }
        }
      },
      "FulfillmentRateCreateData": {
        "allOf": [
          {
            "type": "object",
            "required": [
              "locationId",
              "service",
              "price"
            ]
          },
          {
            "$ref": "#/components/schemas/FulfillmentRateBase"
          }
        ]
      },
      "FulfillmentRateCreateResult": {
        "type": "object",
        "properties": {
          "conflict": {
            "type": "object",
            "description": "Duplicate rate scope error details, if any"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Error details if any"
          },
          "fulfillment_rate": {
            "$ref": "#/components/schemas/FulfillmentRate"
          },
          "message": {
            "type": "string",
            "description": "Error message if failed"
          },
          "status": {
            "type": "string",
            "enum": [
              "submitted",
              "failed"
            ]
          }
        }
      },
      "FulfillmentRateFees": {
        "type": "object",
        "description": "The location's handling fees; default 0",
        "properties": {
          "perPackage": {
            "type": "number",
            "format": "float",
            "description": "Charged per box (the pack)"
          },
          "perShipment": {
            "type": "number",
            "format": "float",
            "description": "Charged once per shipment (the pick)"
          }
        }
      },
      "FulfillmentRateFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "FulfillmentRateFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "fulfillment_rate": {
                "$ref": "#/components/schemas/FulfillmentRate"
              }
            }
          }
        ]
      },
      "FulfillmentRateOptions": {
        "type": "object",
        "description": "Pricing and eligibility attributes; never used for matching",
        "properties": {
          "dimFactor": {
            "type": "number",
            "format": "float",
            "description": "Dimensional weight divisor (e.g. 139, 166); billable = max(actual, cubic inches / dimFactor)"
          },
          "maxLength": {
            "type": "number",
            "format": "float",
            "description": "Hard cap on the longest package side (in); packages over it are refused"
          },
          "maxLengthPlusGirth": {
            "type": "number",
            "format": "float",
            "description": "Hard cap on length + girth (in); packages over it are refused"
          },
          "oversizeLength": {
            "type": "number",
            "format": "float",
            "description": "Length threshold (in) above which an oversize fee is likely; flags the option, never refuses"
          }
        }
      },
      "FulfillmentRatePickup": {
        "type": "object",
        "description": "Carrier pickup schedule for this lane; omitted means always open",
        "properties": {
          "cutoffHourUtc": {
            "type": "number",
            "format": "float",
            "description": "Latest UTC hour a hand-over still makes that day's pickup"
          },
          "days": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "mon",
                "tue",
                "wed",
                "thu",
                "fri",
                "sat",
                "sun"
              ]
            },
            "description": "Weekdays the carrier collects"
          }
        }
      },
      "FulfillmentRatePrice": {
        "type": "object",
        "required": [
          "p50"
        ],
        "properties": {
          "p50": {
            "type": "number",
            "format": "float",
            "description": "The per-package price (median for observed rates)"
          },
          "basis": {
            "type": "string",
            "description": "`allIn` - surcharges included; `baseTariff` - contracted base, surcharges apply separately. Defaults to `allIn`\n",
            "enum": [
              "allIn",
              "baseTariff"
            ]
          },
          "p90": {
            "type": "number",
            "format": "float",
            "description": "Pessimistic price; defaults to `p50`"
          }
        }
      },
      "FulfillmentRateSource": {
        "type": "string",
        "description": "Where the rate came from. `manual` rates take absolute precedence, then more specific rates win; `backfill` beats `card` on ties\n",
        "enum": [
          "card",
          "backfill",
          "manual"
        ]
      },
      "FulfillmentRateStatus": {
        "type": "string",
        "description": "Fulfillment rate status",
        "enum": [
          "active",
          "disabled"
        ]
      },
      "FulfillmentRateSurcharge": {
        "type": "object",
        "required": [
          "name",
          "level",
          "apply",
          "value"
        ],
        "properties": {
          "apply": {
            "type": "string",
            "description": "How the value applies",
            "enum": [
              "amount",
              "percent"
            ]
          },
          "level": {
            "type": "string",
            "description": "What the surcharge attaches to",
            "enum": [
              "package",
              "shipment"
            ]
          },
          "name": {
            "type": "string",
            "description": "Surcharge name (e.g. `fuel`, `residential`, `additional_handling`)"
          },
          "value": {
            "type": "number",
            "format": "float",
            "description": "Dollar amount, or fraction for percent"
          },
          "base": {
            "type": "string",
            "description": "For percent surcharges, what the percentage multiplies"
          },
          "condition": {
            "type": "object",
            "description": "Optional condition evaluated at lookup time (e.g. residential delivery)"
          }
        }
      },
      "FulfillmentRateTransit": {
        "type": "object",
        "description": "This rate's transit claim; omit when the rate makes none",
        "properties": {
          "basis": {
            "type": "string",
            "description": "How the transit claim is grounded",
            "enum": [
              "promise",
              "observed",
              "nominal",
              "unknown"
            ]
          },
          "p50Days": {
            "type": "integer",
            "description": "Median transit business days"
          },
          "p90Days": {
            "type": "integer",
            "description": "Pessimistic transit business days (deadline checks use this)"
          }
        }
      },
      "FulfillmentRateUpdateRequest": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "status": {
                "$ref": "#/components/schemas/FulfillmentRateStatus"
              }
            }
          },
          {
            "$ref": "#/components/schemas/FulfillmentRateBase"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "FulfillmentRateWeight": {
        "type": "object",
        "description": "The weight rung this rate prices, `(min, max]` in lb. Omitted entirely means the rate prices any weight\n",
        "properties": {
          "basis": {
            "type": "string",
            "description": "Which weight the rung brackets. `billable` - dimensional weight applies via `options.dimFactor`; `actual` - scale weight of observed shipments; `any` - prices the scale weight as-is\n",
            "enum": [
              "billable",
              "actual",
              "any"
            ]
          },
          "max": {
            "type": "number",
            "format": "float",
            "description": "Rung ceiling, inclusive (lb); 9999 means unbounded"
          },
          "min": {
            "type": "number",
            "format": "float",
            "description": "Rung floor, exclusive (lb)"
          }
        }
      },
      "FulfillmentRatesCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "fulfillment_rates": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FulfillmentRateCreateResult"
                }
              }
            }
          }
        ]
      },
      "FulfillmentRatesCreateRequest": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/FulfillmentRateCreateData"
        },
        "xml": {
          "name": "request",
          "wrapped": true
        }
      },
      "FulfillmentRatesCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "fulfillment_rates": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FulfillmentRateCreateResult"
                }
              }
            }
          }
        ]
      },
      "FulfillmentRatesListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/FulfillmentRatesListFilter"
              }
            }
          }
        ]
      },
      "FulfillmentRatesListFilter": {
        "allOf": [
          {
            "type": "object",
            "description": "Fulfillment rates filter",
            "properties": {
              "country": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by destination country list"
              },
              "locationId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by locationId list"
              },
              "rateId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by rateId list"
              },
              "service": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by carrier service list"
              },
              "source": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FulfillmentRateSource"
                },
                "description": "Select by rate source list"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FulfillmentRateStatus"
                },
                "description": "Select by status list"
              }
            }
          },
          {
            "$ref": "#/components/schemas/BaseFilter"
          }
        ]
      },
      "FulfillmentRatesListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/FulfillmentRatesListFilter"
              },
              "fulfillment_rates": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FulfillmentRate"
                }
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "FulfillmentRatesLookupAlternative": {
        "type": "object",
        "properties": {
          "cost": {
            "type": "number",
            "format": "float",
            "description": "What the rejected packing would have cost"
          },
          "deltaUsd": {
            "type": "number",
            "format": "float",
            "description": "Cost difference vs the chosen packing (positive = dearer)"
          },
          "k": {
            "type": "integer",
            "description": "Package count of the rejected packing"
          },
          "strategy": {
            "type": "string",
            "description": "The rejected packing strategy"
          }
        }
      },
      "FulfillmentRatesLookupAssumption": {
        "type": "object",
        "properties": {
          "effect": {
            "type": "string",
            "description": "What the assumption does to the answer"
          },
          "field": {
            "type": "string",
            "description": "The omitted request field"
          },
          "policy": {
            "type": "string",
            "description": "The assumption policy applied"
          }
        }
      },
      "FulfillmentRatesLookupCoverage": {
        "type": "object",
        "properties": {
          "covered": {
            "type": "integer",
            "description": "Lines carried by the returned options"
          },
          "lines": {
            "type": "integer",
            "description": "Total request lines"
          },
          "uncovered": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "description": "Zero-based indexes of lines no returned option carries"
          }
        }
      },
      "FulfillmentRatesLookupDestination": {
        "type": "object",
        "required": [
          "zipCodeOrPostalCode"
        ],
        "properties": {
          "zipCodeOrPostalCode": {
            "type": "string",
            "description": "Destination ZIP code"
          },
          "country": {
            "type": "string",
            "default": "US",
            "description": "Destination country (US only for now)"
          }
        }
      },
      "FulfillmentRatesLookupError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "errors": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Input contract violations"
              }
            }
          }
        ]
      },
      "FulfillmentRatesLookupLeg": {
        "type": "object",
        "description": "One location's part of a split option",
        "properties": {
          "cost": {
            "type": "number",
            "format": "float",
            "description": "Leg total incl. this location's handling fees"
          },
          "costP90": {
            "type": "number",
            "format": "float",
            "description": "Pessimistic leg total"
          },
          "coveredLines": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "description": "Zero-based indexes of request lines this leg carries"
          },
          "locationId": {
            "type": "string",
            "description": "Shipping location"
          },
          "packages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FulfillmentRatesLookupPackage"
            },
            "description": "The suggested packing for this leg"
          },
          "packing": {
            "$ref": "#/components/schemas/FulfillmentRatesLookupPacking"
          },
          "service": {
            "type": "string",
            "description": "Carrier service"
          },
          "transit": {
            "$ref": "#/components/schemas/FulfillmentRatesLookupTransit"
          }
        }
      },
      "FulfillmentRatesLookupLineItem": {
        "type": "object",
        "required": [
          "sku",
          "quantity"
        ],
        "description": "An order line. Each line must carry a weight or dimensions (or both) - weight enables pricing, dimensions enable the packing proof\n",
        "properties": {
          "quantity": {
            "type": "integer",
            "minimum": 1,
            "description": "Units of this SKU"
          },
          "sku": {
            "type": "string",
            "description": "Product SKU (identifier only; never used for catalog lookups)"
          },
          "dimensionsUnit": {
            "type": "string",
            "description": "Dimensions UOM",
            "enum": [
              "cm",
              "in",
              "ft"
            ]
          },
          "height": {
            "type": "number",
            "format": "float",
            "description": "Unit height"
          },
          "length": {
            "type": "number",
            "format": "float",
            "description": "Unit length"
          },
          "options": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Product flags (e.g. `SIOC` - ships in own container)"
          },
          "weight": {
            "type": "number",
            "format": "float",
            "description": "Unit weight"
          },
          "weightUnit": {
            "type": "string",
            "description": "Weight UOM",
            "enum": [
              "lb",
              "oz",
              "kg",
              "g"
            ]
          },
          "width": {
            "type": "number",
            "format": "float",
            "description": "Unit width"
          }
        }
      },
      "FulfillmentRatesLookupOptimality": {
        "type": "object",
        "properties": {
          "boundUsd": {
            "type": "number",
            "format": "float",
            "description": "The proven lower bound the plan was checked against"
          },
          "gapUsd": {
            "type": "number",
            "format": "float",
            "description": "For `best_found` - the true optimum can be at most this much cheaper"
          },
          "label": {
            "type": "string",
            "description": "`certified` - provably the cheapest plan on this lane given stored data; `best_found` - honest answer with a proven gap\n",
            "enum": [
              "certified",
              "best_found"
            ]
          },
          "note": {
            "type": "string",
            "description": "Why the label is not `certified`, when applicable"
          }
        }
      },
      "FulfillmentRatesLookupOption": {
        "type": "object",
        "properties": {
          "alternatives": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FulfillmentRatesLookupAlternative"
            },
            "description": "Packings considered and rejected, with cost deltas"
          },
          "cost": {
            "type": "number",
            "format": "float",
            "description": "Plan total - package rates plus handling fees"
          },
          "costP90": {
            "type": "number",
            "format": "float",
            "description": "Pessimistic plan total (`maxCost` gates on this)"
          },
          "coveredLines": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "description": "Zero-based indexes of request lines this option carries"
          },
          "flags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Caveats on the option (e.g. `assumed_cube`, `oversize_fee_risk`, `no_box_catalog`)\n"
          },
          "kind": {
            "type": "string",
            "description": "`single` - one location and service; `split` - a cross-location composition (only when no single probed location covers the order)\n",
            "enum": [
              "single",
              "split"
            ]
          },
          "legs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FulfillmentRatesLookupLeg"
            },
            "description": "Per-location legs (split options)"
          },
          "locationId": {
            "type": "string",
            "description": "Shipping location (single options)"
          },
          "locations": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Locations involved (split options)"
          },
          "optimality": {
            "$ref": "#/components/schemas/FulfillmentRatesLookupOptimality"
          },
          "packages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FulfillmentRatesLookupPackage"
            },
            "description": "The suggested packing, one entry per box"
          },
          "packing": {
            "$ref": "#/components/schemas/FulfillmentRatesLookupPacking"
          },
          "service": {
            "type": "string",
            "description": "Carrier service (single options)"
          },
          "transit": {
            "$ref": "#/components/schemas/FulfillmentRatesLookupTransit"
          }
        }
      },
      "FulfillmentRatesLookupPackage": {
        "type": "object",
        "properties": {
          "billable": {
            "type": "number",
            "format": "float",
            "description": "Billed weight (lb) - actual or dimensional, whichever the pricing rate bills"
          },
          "boxId": {
            "type": "string",
            "description": "Box from the location's catalog (`SIOC` - the item's own container, `VIRT` - assumed box)"
          },
          "height": {
            "type": "number",
            "format": "float",
            "description": "Box height (in)"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FulfillmentRatesLookupPackageItem"
            },
            "description": "What goes into this box"
          },
          "length": {
            "type": "number",
            "format": "float",
            "description": "Box length (in)"
          },
          "observations": {
            "type": "integer",
            "description": "Observed fulfillments behind the pricing rate"
          },
          "price": {
            "type": "number",
            "format": "float",
            "description": "The package rate"
          },
          "proof": {
            "type": "string",
            "description": "Packing proof level for this package",
            "enum": [
              "proven",
              "assumed"
            ]
          },
          "rateId": {
            "type": "string",
            "description": "The stored fulfillment rate that priced this package"
          },
          "source": {
            "$ref": "#/components/schemas/FulfillmentRateSource"
          },
          "weight": {
            "type": "number",
            "format": "float",
            "description": "Actual weight incl. box tare (lb); null when a line carried no weight"
          },
          "width": {
            "type": "number",
            "format": "float",
            "description": "Box width (in)"
          }
        }
      },
      "FulfillmentRatesLookupPackageItem": {
        "type": "object",
        "properties": {
          "quantity": {
            "type": "integer",
            "description": "Units of this SKU in the box"
          },
          "sku": {
            "type": "string",
            "description": "Product SKU"
          }
        }
      },
      "FulfillmentRatesLookupPacking": {
        "type": "object",
        "properties": {
          "k": {
            "type": "integer",
            "description": "Package count"
          },
          "proof": {
            "type": "string",
            "description": "`proven` - every item measured, packing verified against the location's real boxes; `assumed` - some dimensions were assumed, the quoted price is a ceiling\n",
            "enum": [
              "proven",
              "assumed"
            ]
          },
          "strategy": {
            "type": "string",
            "description": "How the packing was chosen. `fewest` - fewest boxes; `split2` - a two-parcel split that priced cheaper; `set-cover` - cross-location composition\n"
          }
        }
      },
      "FulfillmentRatesLookupRefusal": {
        "type": "object",
        "properties": {
          "detail": {
            "type": "string",
            "description": "Human-readable specifics, incl. the numbers behind the refusal"
          },
          "locationId": {
            "type": "string",
            "description": "Location of the refused lane"
          },
          "reason": {
            "type": "string",
            "description": "Why the lane was set aside - one or more of `no_rate`, `cannot_pack`, `exceeds_dim_cap`, `weight_unknown`, `weight_basis_incompatible`, `misses_deadline`, `transit_unknown`, `over_max_cost`\n"
          },
          "service": {
            "type": "string",
            "description": "Carrier service of the refused lane"
          }
        }
      },
      "FulfillmentRatesLookupRequest": {
        "type": "object",
        "required": [
          "locationId",
          "shippingAddress",
          "lineItems"
        ],
        "properties": {
          "lineItems": {
            "type": "array",
            "minItems": 1,
            "items": {
              "$ref": "#/components/schemas/FulfillmentRatesLookupLineItem"
            },
            "description": "The order lines to be fulfilled"
          },
          "locationId": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "string"
            },
            "description": "Locations to probe. The caller asserts every listed location can stock the whole order. Must not be empty\n"
          },
          "shippingAddress": {
            "$ref": "#/components/schemas/FulfillmentRatesLookupDestination"
          },
          "deliverBy": {
            "type": "string",
            "format": "date-time",
            "description": "Optional hard deadline. Options whose pessimistic arrival date is later are refused with `misses_deadline`\n"
          },
          "expectedSubmission": {
            "type": "string",
            "format": "date-time",
            "description": "When the shipment is expected to be handed over; defaults to now"
          },
          "limit": {
            "type": "integer",
            "default": 5,
            "description": "Maximum number of options to return"
          },
          "maxCost": {
            "type": "number",
            "format": "float",
            "description": "Optional hard cost cap. Options whose pessimistic cost exceeds it are refused with `over_max_cost`\n"
          },
          "maxTransitDays": {
            "type": "integer",
            "description": "Optional hard transit limit in business days (pessimistic)"
          },
          "rankBy": {
            "type": "string",
            "default": "cost",
            "enum": [
              "cost",
              "speed"
            ],
            "description": "Primary ranking factor. The secondary factor re-orders options within ~5% of the primary\n"
          }
        },
        "xml": {
          "name": "request"
        }
      },
      "FulfillmentRatesLookupResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "assumptions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FulfillmentRatesLookupAssumption"
                },
                "description": "Every omission in the request, surfaced"
              },
              "coverage": {
                "$ref": "#/components/schemas/FulfillmentRatesLookupCoverage"
              },
              "options": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FulfillmentRatesLookupOption"
                },
                "description": "Ranked fulfillment options"
              },
              "probed": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Locations that were examined"
              },
              "refusals": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FulfillmentRatesLookupRefusal"
                },
                "description": "Lanes set aside, each with its reason"
              },
              "status": {
                "type": "string",
                "description": "`ok` - full coverage exists; `partial` - only some lines are shippable; `insufficient_data` - no option can be stood behind (see refusals for reasons)\n",
                "enum": [
                  "ok",
                  "partial",
                  "insufficient_data"
                ]
              },
              "totals": {
                "type": "object",
                "description": "Per-request diagnostics; observability, not contract"
              }
            }
          }
        ]
      },
      "FulfillmentRatesLookupTransit": {
        "type": "object",
        "properties": {
          "basis": {
            "type": "string",
            "description": "How the transit claim is grounded",
            "enum": [
              "promise",
              "observed",
              "nominal",
              "unknown"
            ]
          },
          "edd": {
            "type": "string",
            "format": "date-time",
            "description": "Estimated delivery date (ship date + median transit)"
          },
          "latest": {
            "type": "string",
            "format": "date-time",
            "description": "Pessimistic delivery date (deadline checks use this)"
          },
          "missedCutoff": {
            "type": "boolean",
            "description": "Whether the submission missed the pickup cutoff for same-day hand-over"
          },
          "p50Days": {
            "type": "integer",
            "description": "Median transit business days"
          },
          "p90Days": {
            "type": "integer",
            "description": "Pessimistic transit business days"
          },
          "shipDate": {
            "type": "string",
            "format": "date-time",
            "description": "Computed hand-over date after pickup cutoff and calendar roll"
          }
        }
      },
      "FulfillmentSyncRequest": {
        "type": "object",
        "properties": {
          "syncAE": {
            "type": "boolean",
            "description": "Reset autoEngUpdateStatus"
          }
        }
      },
      "FulfillmentType": {
        "type": "string",
        "enum": [
          "accepted",
          "rejected",
          "voided"
        ]
      },
      "FulfillmentUpdateData": {
        "allOf": [
          {
            "type": "object",
            "xml": {
              "name": "fulfillment"
            },
            "properties": {
              "autoEngUpdateStatus": {
                "$ref": "#/components/schemas/AutoEngUpdateStatus"
              },
              "lineItems": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FulfillmentItem"
                }
              }
            }
          },
          {
            "$ref": "#/components/schemas/FulfillmentUpdateGroupProps"
          },
          {
            "$ref": "#/components/schemas/FulfillmentCreateBaseData"
          }
        ]
      },
      "FulfillmentUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "fulfillment": {
                "$ref": "#/components/schemas/FulfillmentUpdateData"
              }
            }
          }
        ]
      },
      "FulfillmentUpdateGroupProps": {
        "type": "object",
        "properties": {
          "groupComplete": {
            "type": "boolean",
            "nullable": true
          },
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "groupItem": {
            "type": "number",
            "nullable": true
          },
          "groupLength": {
            "type": "number",
            "nullable": true
          }
        }
      },
      "FulfillmentUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "fulfillment": {
                "$ref": "#/components/schemas/Fulfillment"
              }
            }
          }
        ]
      },
      "FulfillmentsCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "exception": {
                "$ref": "#/components/schemas/FulfillmentFailureException"
              },
              "fulfillments": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FulfillmentCreateResult"
                }
              }
            }
          }
        ]
      },
      "FulfillmentsCreateRequest": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/FulfillmentCreateData"
        },
        "xml": {
          "name": "request",
          "wrapped": true
        },
        "maxItems": 10
      },
      "FulfillmentsCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "fulfillments": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FulfillmentCreateResult"
                }
              }
            }
          }
        ]
      },
      "FulfillmentsDeleteError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/FulfillmentsDeleteFilter"
              }
            }
          }
        ]
      },
      "FulfillmentsDeleteFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/FulfillmentsFilter"
          },
          {
            "type": "object",
            "description": "Delete Fulfillments Filter",
            "properties": {
              "orgMode": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrganizationMode"
                },
                "description": "Fulfillments assigned these orgModes"
              }
            }
          }
        ],
        "description": "Fulfillments Filter for Multiple Delete query"
      },
      "FulfillmentsDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "deleted": {
                "type": "integer",
                "description": "Number of deleted fulfillments"
              },
              "filters": {
                "$ref": "#/components/schemas/FulfillmentsDeleteFilter"
              },
              "fulfillments": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Fulfillment"
                }
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "FulfillmentsFilter": {
        "allOf": [
          {
            "type": "object",
            "description": "Fulfillments Filter",
            "properties": {
              "acknowledgedBy": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Integrations acknowledged fulfillment"
              },
              "autoEngUpdateStatus": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AutoEngUpdateStatus"
                }
              },
              "deleted": {
                "type": "boolean",
                "description": "Soft deleted fulfillments"
              },
              "extFulfillmentId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fulfillments by list of extFulfillmentId"
              },
              "extOrderId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fulfillments by list of extOrderId"
              },
              "extShipmentId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fulfillments by list of extShipmentId"
              },
              "fulfillmentId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fulfillments by list of fulfillmentId"
              },
              "fulfillmentType": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FulfillmentType"
                },
                "description": "Fulfillments by list of fulfillment types"
              },
              "groupId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fulfillments by list of groupId"
              },
              "integration": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fulfillments by list of integrationId"
              },
              "locationId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fulfillments by list of locationId"
              },
              "orderId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fulfillments by list of orderId"
              },
              "orderIntegration": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fulfillments by list of order integrationId"
              },
              "orderIntegrationAcknowledged": {
                "type": "boolean",
                "description": "Fulfillments by acknowledgement from order integrationId"
              },
              "orderSource": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fulfillments by list of order sources"
              },
              "priority": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Priority"
                }
              },
              "shipmentId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fulfillments by list of shipmentId"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              }
            }
          },
          {
            "$ref": "#/components/schemas/BaseFilter"
          }
        ]
      },
      "FulfillmentsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/FulfillmentsListFilter"
              }
            }
          }
        ]
      },
      "FulfillmentsListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/FulfillmentsFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "properties": {
              "exceptionCategoryId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fulfillments by list of categories of the fulfillment related exceptions"
              },
              "exceptionType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fulfillments by list of types of the fulfillment related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)"
              },
              "hasSourceDoc": {
                "type": "boolean",
                "description": "Fulfillments containing a source document"
              }
            }
          }
        ],
        "description": "Fulfillments Filter for List queries"
      },
      "FulfillmentsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "required": [
              "fulfillments"
            ],
            "properties": {
              "fulfillments": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Fulfillment"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/FulfillmentsListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "Function": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "functionId": {
                "type": "string",
                "description": "Function ID"
              }
            }
          },
          {
            "$ref": "#/components/schemas/FunctionCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "FunctionCreateData": {
        "type": "object",
        "required": [
          "name",
          "body"
        ],
        "properties": {
          "body": {
            "type": "string",
            "description": "Body of javascript function. The function signature - `function(input):any`. Body example - `\"return input.toUpperCase()\"`."
          },
          "name": {
            "type": "string",
            "description": "Name of the function"
          },
          "isPublic": {
            "type": "boolean",
            "description": "Public access indicator (default - false)"
          }
        }
      },
      "FunctionCreateResult": {
        "type": "object",
        "properties": {
          "conflict": {
            "type": "object",
            "description": "Duplicate key error details, if failed"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Error details if failed"
          },
          "function": {
            "$ref": "#/components/schemas/Function"
          },
          "message": {
            "type": "string",
            "description": "Error message if failed"
          },
          "status": {
            "type": "string",
            "enum": [
              "submitted",
              "failed"
            ]
          }
        }
      },
      "FunctionFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "FunctionFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "function": {
                "$ref": "#/components/schemas/Function"
              }
            }
          }
        ]
      },
      "FunctionInvokeData": {
        "type": "object",
        "properties": {
          "input": {
            "type": "object",
            "description": "The conversion input (- any value)"
          }
        }
      },
      "FunctionInvokeError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "description": "The conversion input (- any value)"
              }
            }
          }
        ]
      },
      "FunctionInvokeRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/FunctionInvokeData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "FunctionInvokeResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "description": "The conversion input (- any value)"
              },
              "value": {
                "type": "object",
                "description": "The conversion result (- any value)"
              }
            }
          }
        ]
      },
      "FunctionListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/FunctionListFilter"
              }
            }
          }
        ]
      },
      "FunctionListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "description": "Functions Filter",
            "properties": {
              "body": {
                "type": "string",
                "description": "Select by `body` value or regexp of the `body` (regexp format - `\"/.../\"` or `\"/.../i\"`)"
              },
              "functionId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by `functionId` list"
              },
              "isPublic": {
                "type": "boolean",
                "description": "The `true` selects public functions only, `false` - non-public ones. By default, any of them."
              },
              "name": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by `name` list"
              }
            }
          }
        ]
      },
      "FunctionListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/FunctionListFilter"
              },
              "functions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Function"
                }
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "FunctionUpdateData": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string",
            "description": "Body of javascript function. The function signature - `function(input):any`. Body example - `\"return input.toUpperCase()\"`."
          },
          "name": {
            "type": "string",
            "description": "Name of the function"
          }
        }
      },
      "FunctionUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "function": {
                "$ref": "#/components/schemas/FunctionUpdateData"
              }
            }
          }
        ]
      },
      "FunctionUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/FunctionUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "FunctionUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "function": {
                "$ref": "#/components/schemas/Function"
              }
            }
          }
        ]
      },
      "FunctionsCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "functions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FunctionCreateResult"
                }
              }
            }
          }
        ]
      },
      "FunctionsCreateRequest": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/FunctionCreateData"
        },
        "xml": {
          "name": "request",
          "wrapped": true
        },
        "maxItems": 100
      },
      "FunctionsCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "functions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FunctionCreateResult"
                }
              }
            }
          }
        ]
      },
      "GetRatesBody": {
        "type": "object",
        "required": [
          "userId",
          "cartons"
        ],
        "properties": {
          "cartons": {
            "type": "array",
            "description": "Package details. Each carton is rated independently and returns its own EasyPost shipment id and rate list. No extLabelId is required — nothing is purchased at this step.\n",
            "items": {
              "type": "object",
              "properties": {
                "weight": {
                  "type": "object",
                  "properties": {
                    "value": {
                      "type": "number"
                    },
                    "unit": {
                      "type": "string",
                      "enum": [
                        "OUNCE",
                        "POUND",
                        "GRAM",
                        "KILOGRAM"
                      ]
                    }
                  }
                },
                "dimensions": {
                  "type": "object",
                  "properties": {
                    "length": {
                      "type": "number"
                    },
                    "width": {
                      "type": "number"
                    },
                    "height": {
                      "type": "number"
                    },
                    "unit": {
                      "type": "string",
                      "enum": [
                        "INCH",
                        "CENTIMETER"
                      ]
                    }
                  }
                }
              }
            }
          },
          "userId": {
            "type": "string",
            "description": "Associate user ID requesting the rates"
          },
          "carrierCode": {
            "type": "string",
            "description": "Optional carrier filter hint passed to the connector."
          },
          "connectorName": {
            "type": "string",
            "description": "Connector name to use for rating. Default: connector-shipping-easypost.\n"
          },
          "labelFormat": {
            "type": "string",
            "enum": [
              "PDF",
              "ZPL",
              "PNG"
            ],
            "default": "PDF",
            "description": "Label format the shipment is created with. Set so a later buy of the quoted shipment produces a label in this format (ZPL must be fixed at rate time).\n"
          },
          "labelIntegrationId": {
            "type": "string",
            "description": "Integration ID of the label connector (e.g., EasyPost). If omitted, auto-discovers by connectorName for the org.\n"
          },
          "serviceCode": {
            "type": "string",
            "description": "Optional service level filter hint passed to the connector."
          }
        }
      },
      "GetRatesResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "cartons": {
                "type": "array",
                "description": "One entry per requested carton, with its rate options.",
                "items": {
                  "type": "object",
                  "properties": {
                    "cartonIndex": {
                      "type": "integer"
                    },
                    "extShipmentId": {
                      "type": "string",
                      "description": "EasyPost shipment id (shp_...) to pass back to /request-labels with the chosen rateId.\n"
                    },
                    "rates": {
                      "type": "array",
                      "description": "Rate options for this carton. Fields mirror the connector's normalized rate (EasyPost rate object).\n",
                      "items": {
                        "type": "object",
                        "properties": {
                          "rateId": {
                            "type": "string",
                            "description": "Pass back to /request-labels as the carton's rateId."
                          },
                          "carrier": {
                            "type": "string"
                          },
                          "service": {
                            "type": "string"
                          },
                          "serviceLevel": {
                            "type": "string",
                            "description": "Alias of service, for display."
                          },
                          "cost": {
                            "type": "string",
                            "description": "EasyPost rate the merchant would pay."
                          },
                          "currency": {
                            "type": "string"
                          },
                          "retailRate": {
                            "type": "string"
                          },
                          "listRate": {
                            "type": "string"
                          },
                          "deliveryDays": {
                            "type": "integer"
                          },
                          "deliveryDate": {
                            "type": "string"
                          },
                          "deliveryGuaranteed": {
                            "type": "boolean"
                          },
                          "carrierAccountId": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        ]
      },
      "HoldNextStatus": {
        "type": "string",
        "description": "Status a shipment moves to when a hold is released. Shipment holds are always\ntimed, so this is the target status applied when `holdUntil` is reached.\n",
        "enum": [
          "reviewRequired",
          "readyForFulfillment"
        ]
      },
      "HoldType": {
        "type": "string",
        "description": "Type of hold applied to an order. `TIMED` releases when `holdUntil` is reached;\n`CONDITIONAL` releases early once the condition on the referenced automation rule\n(`holdConditionAutomationRuleId`) is met, or falls back to `holdNextStatus` at `holdUntil`.\n",
        "enum": [
          "TIMED",
          "CONDITIONAL"
        ]
      },
      "HoldingLocations": {
        "type": "object",
        "description": "Temporal holding locations set during pick-pack by store associate",
        "nullable": true,
        "properties": {
          "shipments": {
            "type": "object",
            "nullable": true,
            "description": "Map of shipmentId to holding location string.\nAdditive on update: entries in the request are added or overwrite existing entries,\nentries already on the wave but not in the request are preserved.\nCannot be cleared via this endpoint - omit the field to preserve.\nPassing null is rejected with a 400 (use omission to preserve existing entries).\nOnly shipmentIds already assigned to the wave are accepted.\n",
            "additionalProperties": {
              "type": "string"
            }
          },
          "wave": {
            "type": "string",
            "nullable": true,
            "description": "Temporal holding location for the wave as a whole.\nOmit to preserve existing value; pass null to clear.\n"
          }
        }
      },
      "HolidayOverride": {
        "type": "object",
        "required": [
          "type",
          "action"
        ],
        "description": "Suspends scheduled wave releases for a single date or an inclusive date range. The `type` field selects one of:\n  - specific_date: applies to one calendar day; requires `date`\n  - date_range:    applies inclusively to a range; requires `startDate` and `endDate` with startDate <= endDate\n",
        "properties": {
          "action": {
            "type": "string",
            "enum": [
              "no_waves"
            ],
            "description": "What to do on covered dates (currently only no_waves)"
          },
          "type": {
            "type": "string",
            "enum": [
              "specific_date",
              "date_range"
            ],
            "description": "Override variant"
          },
          "date": {
            "type": "string",
            "format": "date",
            "description": "Calendar date (YYYY-MM-DD) in the store's local timezone. Applies to specific_date only"
          },
          "endDate": {
            "type": "string",
            "format": "date",
            "description": "Inclusive end date (YYYY-MM-DD); must be >= startDate. Applies to date_range only"
          },
          "overrideId": {
            "type": "string",
            "description": "Server-assigned identifier"
          },
          "startDate": {
            "type": "string",
            "format": "date",
            "description": "Inclusive start date (YYYY-MM-DD). Applies to date_range only"
          }
        }
      },
      "Identity": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "Lowercase email address",
            "example": "joe@pipe17.com"
          },
          "identityId": {
            "type": "string",
            "description": "Unique identifier for the identity (16-char hex)",
            "example": "af797d7084b92446"
          },
          "subs": {
            "type": "array",
            "description": "Array of Auth0 sub claims linked to this identity",
            "items": {
              "type": "string"
            },
            "example": [
              "auth0|af797d7084b92446",
              "google-oauth2|108234567890123456789"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the identity was created"
          },
          "ssoConnectionId": {
            "type": "string",
            "nullable": true,
            "description": "SSO connection ID (null for trusted identities, 16-char hex for SSO)",
            "example": "4b5c6d7e8f9a0b1c"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the identity was last updated"
          }
        },
        "required": [
          "identityId",
          "subs",
          "email"
        ]
      },
      "IdentityCreateError": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "string"
          },
          "success": {
            "type": "boolean"
          }
        }
      },
      "IdentityCreateRequest": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "Lowercase email address"
          },
          "ssoConnectionId": {
            "type": "string",
            "nullable": true,
            "description": "SSO connection ID (null for trusted identities)"
          },
          "subs": {
            "type": "array",
            "description": "Array of Auth0 sub claims (can be empty for pre-provisioned identities)",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "email"
        ]
      },
      "IdentityCreateResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer"
          },
          "identity": {
            "$ref": "#/components/schemas/Identity"
          },
          "message": {
            "type": "string"
          },
          "success": {
            "type": "boolean"
          }
        }
      },
      "IdentityDeleteError": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer"
          },
          "message": {
            "type": "string"
          },
          "success": {
            "type": "boolean"
          }
        }
      },
      "IdentityDeleteResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer"
          },
          "message": {
            "type": "string"
          },
          "success": {
            "type": "boolean"
          }
        }
      },
      "IdentityListError": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer"
          },
          "message": {
            "type": "string"
          },
          "success": {
            "type": "boolean"
          }
        }
      },
      "IdentityListFilterIdentityId": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "IdentityListResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer"
          },
          "identities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Identity"
            }
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          },
          "success": {
            "type": "boolean"
          }
        }
      },
      "IdentityRetrieveError": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer"
          },
          "message": {
            "type": "string"
          },
          "success": {
            "type": "boolean"
          }
        }
      },
      "IdentityRetrieveResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer"
          },
          "identity": {
            "$ref": "#/components/schemas/Identity"
          },
          "success": {
            "type": "boolean"
          }
        }
      },
      "IdentityUpdateError": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer"
          },
          "message": {
            "type": "string"
          },
          "success": {
            "type": "boolean"
          }
        }
      },
      "IdentityUpdateRequest": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "ssoConnectionId": {
            "type": "string",
            "nullable": true
          },
          "subs": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "IdentityUpdateResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer"
          },
          "identity": {
            "$ref": "#/components/schemas/Identity"
          },
          "message": {
            "type": "string"
          },
          "success": {
            "type": "boolean"
          }
        }
      },
      "Integration": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "actions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/IntegrationActionSimple"
                },
                "description": "List of integration actions"
              },
              "apikey": {
                "type": "string",
                "description": "Integration api Key"
              },
              "capability": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/IntegrationCapability"
                }
              },
              "linkedConnectorId": {
                "type": "string"
              },
              "linkedConnectorName": {
                "type": "string"
              },
              "timeline": {
                "description": "Timeline of updates",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/IntegrationChangelogEntry"
                }
              }
            }
          },
          {
            "$ref": "#/components/schemas/IntegrationBase"
          }
        ]
      },
      "IntegrationAction": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "actionId": {
                "type": "string",
                "description": "Integration action ID"
              },
              "progress": {
                "type": "number",
                "description": "Percent action complete"
              },
              "status": {
                "$ref": "#/components/schemas/IntegrationActionStatus"
              }
            }
          },
          {
            "$ref": "#/components/schemas/IntegrationActionCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "IntegrationActionCreateData": {
        "type": "object",
        "properties": {
          "actionType": {
            "type": "string",
            "description": "Action Type (matches to what is included in connector manifest)"
          },
          "integrationId": {
            "type": "string",
            "description": "Integration ID"
          },
          "actionName": {
            "type": "string",
            "description": "Action Name - label for this action invocation"
          },
          "actionParams": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IntegrationActionParam"
            },
            "description": "Action parameters (array of parameters, collected for this action from user)"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          }
        },
        "required": [
          "actionType",
          "integrationId"
        ]
      },
      "IntegrationActionCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "IntegrationActionCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "action": {
                "$ref": "#/components/schemas/IntegrationAction"
              }
            }
          }
        ]
      },
      "IntegrationActionFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "IntegrationActionFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "action": {
                "$ref": "#/components/schemas/IntegrationAction"
              }
            }
          }
        ]
      },
      "IntegrationActionParam": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "Action param Name"
          },
          "value": {
            "type": "object",
            "description": "Action param Value"
          }
        }
      },
      "IntegrationActionSimple": {
        "type": "object",
        "properties": {
          "actionName": {
            "type": "string",
            "nullable": true,
            "description": "Action label"
          },
          "actionType": {
            "type": "string",
            "description": "Action type (connector specific)"
          }
        }
      },
      "IntegrationActionStatus": {
        "type": "string",
        "enum": [
          "submitted",
          "processing",
          "completed",
          "canceled",
          "failed"
        ],
        "description": "Integration action status"
      },
      "IntegrationActionUpdateData": {
        "type": "object",
        "properties": {
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "progress": {
            "type": "number",
            "description": "Action progress (0-100)"
          },
          "status": {
            "$ref": "#/components/schemas/IntegrationActionStatus"
          }
        }
      },
      "IntegrationActionUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "action": {
                "$ref": "#/components/schemas/IntegrationActionUpdateData"
              }
            }
          }
        ]
      },
      "IntegrationActionUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IntegrationActionUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "IntegrationActionUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "action": {
                "$ref": "#/components/schemas/IntegrationAction"
              }
            }
          }
        ]
      },
      "IntegrationActionsDeleteError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/IntegrationActionsDeleteFilter"
              }
            }
          }
        ]
      },
      "IntegrationActionsDeleteFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IntegrationActionsFilter"
          }
        ]
      },
      "IntegrationActionsDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "actions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/IntegrationAction"
                }
              },
              "deleted": {
                "type": "integer",
                "description": "Number of deleted actions"
              },
              "filters": {
                "$ref": "#/components/schemas/IntegrationActionsDeleteFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "IntegrationActionsFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "IntegrationActions Filter",
            "properties": {
              "actionId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Integration actions by list of actionId"
              },
              "actionType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Integration actions by list of action types"
              },
              "deleted": {
                "type": "boolean",
                "description": "Soft deleted actions"
              },
              "integrationId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Integration actions by list of integrationId"
              },
              "status": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Integration actions by list of action statuses"
              }
            }
          }
        ]
      },
      "IntegrationActionsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/IntegrationActionsListFilter"
              }
            }
          }
        ]
      },
      "IntegrationActionsListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IntegrationActionsFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys",
            "description": "List IntegrationActions Filter"
          }
        ]
      },
      "IntegrationActionsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "actions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/IntegrationAction"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/IntegrationActionsListFilter"
              }
            }
          }
        ]
      },
      "IntegrationBase": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "capability": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/IntegrationCapability"
                }
              },
              "errorText": {
                "type": "string",
                "description": "Error message"
              },
              "extIntegrationId": {
                "type": "string",
                "description": "Unique integration identifier as defined by Connector logic"
              },
              "integrationId": {
                "type": "string",
                "description": "Integration Id"
              },
              "linkedConnectorId": {
                "type": "string"
              },
              "linkedConnectorName": {
                "type": "string"
              },
              "status": {
                "$ref": "#/components/schemas/IntegrationStatus"
              },
              "variables": {
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/IntegrationVariable"
                }
              },
              "version": {
                "type": "string",
                "description": "Integration version"
              }
            }
          },
          {
            "$ref": "#/components/schemas/IntegrationCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "IntegrationCapability": {
        "type": "string",
        "description": "Integration capability",
        "enum": [
          "arrivals:in",
          "arrivals:out",
          "customers:in",
          "customers:out",
          "contacts:in",
          "contacts:out",
          "fulfillments:in",
          "fulfillments:out",
          "inventory:in",
          "inventory:out",
          "labels:in",
          "labels:out",
          "locations:in",
          "locations:out",
          "orders:in",
          "orders:out",
          "products:in",
          "products:out",
          "purchases:in",
          "purchases:out",
          "receipts:in",
          "receipts:out",
          "refunds:in",
          "refunds:out",
          "returns:in",
          "returns:out",
          "shipments:in",
          "shipments:out",
          "suppliers:in",
          "suppliers:out",
          "transfers:in",
          "transfers:out",
          "shipping_methods",
          "sku_mapping",
          "shipments_cancel_in",
          "shipments_cancel_out",
          "events_outbound_replay",
          "events_outbound_batch",
          "inventory_requires_products",
          "orders_cancel_in",
          "orders_cancel_out",
          "inventory_incremental",
          "locations_multiple",
          "orders_multiple_destinations"
        ]
      },
      "IntegrationChangelogEntry": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "connectorId": {
                "type": "string",
                "description": "ID of the changed integration's connector"
              },
              "integration": {
                "type": "string",
                "description": "ID of the changed integration"
              }
            }
          },
          {
            "$ref": "#/components/schemas/ChangelogEntryBase"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "IntegrationConnection": {
        "type": "object",
        "description": "3rd party's credentials",
        "properties": {
          "fields": {
            "nullable": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IntegrationConnectionField"
            },
            "description": "correspond to ui fields"
          }
        }
      },
      "IntegrationConnectionField": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "Connection Option Name"
          },
          "value": {
            "type": "object",
            "nullable": true,
            "description": "Connection Option Value"
          }
        }
      },
      "IntegrationCreateData": {
        "type": "object",
        "required": [
          "integrationName"
        ],
        "properties": {
          "integrationName": {
            "type": "string",
            "description": "Integration Name"
          },
          "connection": {
            "$ref": "#/components/schemas/IntegrationConnection"
          },
          "connectorId": {
            "type": "string",
            "description": "Connector ID (either Name or ID required)"
          },
          "connectorName": {
            "type": "string",
            "description": "Connector Name (either Name or ID required)"
          },
          "demoMode": {
            "type": "boolean",
            "default": false,
            "description": "Indicates whether the integration is in demo mode (! demo integrations should be allowed in the organization to set the true)"
          },
          "entities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IntegrationEntity"
            }
          },
          "environment": {
            "$ref": "#/components/schemas/Env"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "privacyPolicy": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrivacyPolicy"
            }
          },
          "settings": {
            "$ref": "#/components/schemas/IntegrationSettings"
          },
          "skuMapping": {
            "type": "boolean",
            "default": false,
            "description": "Default value of the `withSKUMapping` query parameter for requests made by this integration. Set it to translate between channel and canonical SKUs without passing the parameter on every call; an explicit `withSKUMapping` on a request still wins.\n"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          }
        }
      },
      "IntegrationCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "integration": {
                "$ref": "#/components/schemas/IntegrationCreateData"
              }
            }
          }
        ]
      },
      "IntegrationCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IntegrationCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "IntegrationCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "integration": {
                "$ref": "#/components/schemas/Integration"
              }
            }
          }
        ]
      },
      "IntegrationEntity": {
        "type": "object",
        "description": "Mapping or Routing Entity",
        "properties": {
          "direction": {
            "$ref": "#/components/schemas/Direction"
          },
          "mappingUuid": {
            "type": "string",
            "description": "Mapping Id"
          },
          "name": {
            "$ref": "#/components/schemas/EntityName"
          },
          "restrictions": {
            "nullable": true,
            "$ref": "#/components/schemas/EntityRestrictionsValueList"
          },
          "routingUuid": {
            "description": "Routing Id",
            "type": "string"
          }
        }
      },
      "IntegrationFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "IntegrationFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "integration": {
                "$ref": "#/components/schemas/Integration"
              }
            }
          }
        ]
      },
      "IntegrationSettings": {
        "type": "object",
        "description": "Connector specific",
        "properties": {
          "fields": {
            "nullable": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IntegrationSettingsField"
            },
            "description": "correspond to ui fields"
          }
        }
      },
      "IntegrationSettingsField": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "Setting Option Name"
          },
          "value": {
            "type": "object",
            "nullable": true,
            "description": "Setting Option Value"
          }
        }
      },
      "IntegrationState": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "integration": {
                "type": "string",
                "description": "Integration ID"
              }
            }
          },
          {
            "$ref": "#/components/schemas/IntegrationStateCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "IntegrationStateCreateData": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "State Name"
          },
          "value": {
            "type": "string",
            "description": "State Value (if undefined and state exists already, then delete it)"
          }
        },
        "required": [
          "name"
        ]
      },
      "IntegrationStateCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "integrationState": {
                "$ref": "#/components/schemas/IntegrationStateCreateData"
              }
            }
          }
        ]
      },
      "IntegrationStateCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "integrationState": {
                "$ref": "#/components/schemas/IntegrationState"
              }
            }
          }
        ]
      },
      "IntegrationStateFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "IntegrationStateFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "integrationState": {
                "$ref": "#/components/schemas/IntegrationState"
              }
            }
          }
        ]
      },
      "IntegrationStateFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Integration State Filter"
          }
        ]
      },
      "IntegrationStateListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/IntegrationStateListFilter"
              }
            }
          }
        ]
      },
      "IntegrationStateListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IntegrationStateFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys",
            "description": "List Integration State Filter"
          }
        ]
      },
      "IntegrationStateListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/IntegrationStateListFilter"
              },
              "integrationStates": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/IntegrationState"
                }
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "IntegrationStatus": {
        "type": "string",
        "description": "Integration Status",
        "enum": [
          "created",
          "configured",
          "initializing",
          "connected",
          "error",
          "disabled",
          "future"
        ]
      },
      "IntegrationUpdateData": {
        "type": "object",
        "properties": {
          "apikey": {
            "type": "boolean",
            "description": "Update integration api key"
          },
          "connection": {
            "$ref": "#/components/schemas/IntegrationConnection"
          },
          "demoMode": {
            "type": "boolean",
            "default": false,
            "nullable": true,
            "description": "Indicates whether the integration is in demo mode (! demo integrations should be allowed in the organization to set the true)"
          },
          "entities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IntegrationEntity"
            }
          },
          "errorText": {
            "nullable": true,
            "type": "string",
            "description": "Error message"
          },
          "extIntegrationId": {
            "type": "string",
            "description": "Unique integration identifier as defined by Connector logic"
          },
          "integrationName": {
            "type": "string",
            "description": "Integration Name"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "privacyPolicy": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrivacyPolicy"
            },
            "nullable": true
          },
          "settings": {
            "$ref": "#/components/schemas/IntegrationSettings"
          },
          "skuMapping": {
            "type": "boolean",
            "default": false,
            "nullable": true,
            "description": "Default value of the `withSKUMapping` query parameter for requests made by this integration. Set it to translate between channel and canonical SKUs without passing the parameter on every call; an explicit `withSKUMapping` on a request still wins.\n"
          },
          "status": {
            "$ref": "#/components/schemas/IntegrationStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags",
            "nullable": true
          },
          "variables": {
            "type": "object",
            "nullable": true,
            "additionalProperties": {
              "$ref": "#/components/schemas/IntegrationVariable"
            }
          }
        }
      },
      "IntegrationUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "integration": {
                "$ref": "#/components/schemas/IntegrationUpdateData"
              }
            }
          }
        ]
      },
      "IntegrationUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IntegrationUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "IntegrationUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "integration": {
                "$ref": "#/components/schemas/Integration"
              }
            }
          }
        ]
      },
      "IntegrationUpdateVariablesRequest": {
        "type": "object",
        "properties": {
          "variables": {
            "type": "object",
            "nullable": true,
            "additionalProperties": {
              "$ref": "#/components/schemas/IntegrationVariable"
            }
          }
        },
        "xml": {
          "name": "request"
        }
      },
      "IntegrationUpgradeRequest": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "description": "Connector version"
          }
        },
        "xml": {
          "name": "request"
        }
      },
      "IntegrationVariable": {
        "type": "object",
        "nullable": true,
        "properties": {
          "expiry": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "description": "Variable Expiry"
          },
          "type": {
            "$ref": "#/components/schemas/SettingType"
          },
          "value": {
            "type": "object",
            "nullable": true,
            "description": "Variable Value"
          }
        }
      },
      "IntegrationVariablesError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "IntegrationVariablesResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "variables": {
                "type": "object",
                "nullable": true,
                "additionalProperties": {
                  "$ref": "#/components/schemas/IntegrationVariable"
                }
              }
            }
          }
        ]
      },
      "IntegrationsDeleteError": {
        "type": "object",
        "xml": {
          "name": "response"
        },
        "required": [
          "success",
          "code"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "description": "Copy of HTTP status",
            "format": "int32",
            "minimum": 400,
            "example": 404
          },
          "success": {
            "type": "boolean",
            "description": "Always false",
            "enum": [
              false
            ],
            "example": false
          },
          "conflict": {
            "type": "object",
            "description": "Details of the conflicting state, when the failure is a 409. The shape depends on the endpoint — a duplicate-key failure carries the offending keys, while /shipping_requests/{id}/request-labels carries `labels` (the labels the shipment already holds), `existingExtLabelIds` (the extLabelIds already claimed) or `refundedExtLabelIds` (extLabelIds belonging to refunded labels, which cannot be reused)."
          },
          "errors": {
            "type": "array",
            "description": "Error detail",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "string",
            "description": "Error message"
          },
          "vendorCode": {
            "type": "string",
            "description": "Vendor-specific error code passed through from a downstream connector/carrier (e.g. EasyPost \"SHIPMENT.REFUND.UNAVAILABLE\"). Present only when the failure originated at the vendor."
          }
        }
      },
      "IntegrationsDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "message": {
                "type": "string",
                "example": "OK (but NYI)"
              }
            }
          }
        ]
      },
      "IntegrationsFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Integrations Filter",
            "properties": {
              "capability": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/IntegrationCapability"
                }
              },
              "connectorId": {
                "type": "string",
                "description": "Retrieve integrations by connector ID"
              },
              "connectorName": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve integrations by list of connector names"
              },
              "extIntegrationId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve by list of extIntegrationId"
              },
              "integrationId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve by list of integrationId"
              },
              "integrationName": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve by list of integrationName"
              },
              "status": {
                "$ref": "#/components/schemas/IntegrationStatus"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              }
            }
          }
        ]
      },
      "IntegrationsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/IntegrationsListFilter"
              }
            }
          }
        ]
      },
      "IntegrationsListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IntegrationsFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys",
            "description": "List Integrations Filter"
          }
        ]
      },
      "IntegrationsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/IntegrationsListFilter"
              },
              "integrations": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/IntegrationBase"
                }
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "InternalInfo": {
        "type": "object",
        "description": "Internal info",
        "additionalProperties": {
          "$ref": "#/components/schemas/Any"
        }
      },
      "Inv": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "entityId": {
                "type": "string",
                "description": "Related entity ID"
              },
              "entityType": {
                "type": "string",
                "description": "Related entity ID's type"
              },
              "event": {
                "$ref": "#/components/schemas/EventType",
                "description": "Event creating this item"
              },
              "integration": {
                "type": "string",
                "description": "Reference to integration that created an item"
              },
              "inventoryId": {
                "type": "string",
                "description": "Inv ID"
              },
              "inventoryNotTracked": {
                "type": "boolean",
                "description": "Disables the inventory tracking"
              },
              "label": {
                "type": "string"
              },
              "locationId": {
                "type": "string",
                "description": "Location of item"
              },
              "lots": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InvLot"
                }
              },
              "orderId": {
                "type": "string",
                "description": "Pipe17 internal order id that initiated this inventory change"
              },
              "orderType": {
                "type": "string",
                "description": "Type of order that initiated this inventory change"
              },
              "originalSKU": {
                "type": "string",
                "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
              },
              "sku": {
                "type": "string",
                "description": "Item SKU"
              },
              "type": {
                "type": "string",
                "enum": [
                  "virtual",
                  "physical"
                ],
                "description": "Inv type (undefined value indicates a physical inventory)"
              },
              "user": {
                "type": "string",
                "description": "Pipe17 internal id of the user who makes the inventory adjustment via the portal"
              },
              "vendorSKU": {
                "type": "string",
                "description": "Item vendor SKU"
              }
            }
          },
          {
            "$ref": "#/components/schemas/InvQuantity"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "InvBaseQuantity": {
        "type": "object",
        "required": [
          "onHand",
          "committed"
        ],
        "properties": {
          "committed": {
            "type": "integer",
            "format": "int32",
            "description": "Number of items committed"
          },
          "onHand": {
            "type": "integer",
            "format": "int32",
            "description": "Number of items on hand"
          },
          "available": {
            "type": "integer",
            "format": "int32",
            "description": "Number of items available"
          },
          "commitShip": {
            "type": "integer",
            "format": "int32",
            "description": "Number of items being shipped (included in committed)"
          },
          "commitXfer": {
            "type": "integer",
            "format": "int32",
            "description": "Number of items being transferred out (included in committed)"
          },
          "committedFuture": {
            "type": "integer",
            "format": "int32",
            "description": "Number of items committed for pre-order"
          },
          "damaged": {
            "type": "integer",
            "format": "int32"
          },
          "future": {
            "type": "integer",
            "format": "int32",
            "description": "Number of items that can be sold for pre-order"
          },
          "hold": {
            "type": "integer",
            "format": "int32"
          },
          "incoming": {
            "type": "integer",
            "format": "int32",
            "description": "Number of incoming items in transit (maybe included in available)"
          },
          "unavailable": {
            "type": "integer",
            "format": "int32",
            "description": "Number of unavailable items"
          }
        }
      },
      "InvCreateData": {
        "allOf": [
          {
            "type": "object",
            "required": [
              "event",
              "ptype",
              "sku",
              "locationId"
            ],
            "properties": {
              "event": {
                "type": "string",
                "description": "Event creating this item",
                "enum": [
                  "ingest",
                  "adjust"
                ]
              },
              "locationId": {
                "type": "string",
                "description": "Location ID of item"
              },
              "ptype": {
                "$ref": "#/components/schemas/EventSource",
                "description": "Type of system that created the event"
              },
              "sku": {
                "type": "string",
                "description": "Item SKU"
              },
              "inventoryNotTracked": {
                "type": "boolean",
                "description": "Disables the inventory tracking (default - false)"
              },
              "lotId": {
                "type": "string",
                "description": "Lot ID"
              },
              "originalSKU": {
                "type": "string",
                "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
              },
              "type": {
                "type": "string",
                "enum": [
                  "virtual",
                  "physical"
                ],
                "description": "Inv type"
              },
              "vendorSKU": {
                "type": "string",
                "description": "Item vendor SKU"
              }
            }
          },
          {
            "$ref": "#/components/schemas/InvBaseQuantity"
          }
        ]
      },
      "InvCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "inventory": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InvCreateResult"
                }
              }
            }
          }
        ]
      },
      "InvCreateRequest": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/InvCreateData"
        },
        "xml": {
          "name": "request",
          "wrapped": true
        },
        "maxItems": 10
      },
      "InvCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "inventory": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InvCreateResult"
                }
              }
            }
          }
        ]
      },
      "InvCreateResult": {
        "type": "object",
        "properties": {
          "conflict": {
            "type": "object",
            "description": "Duplicate key error details, if failed"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Error details if failed"
          },
          "inventory": {
            "$ref": "#/components/schemas/Inv"
          },
          "message": {
            "type": "string",
            "description": "Error message if failed"
          },
          "status": {
            "type": "string",
            "enum": [
              "submitted",
              "failed"
            ]
          }
        }
      },
      "InvDeleteError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/InvDeleteFilter"
              }
            }
          }
        ]
      },
      "InvDeleteFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InvFilter"
          },
          {
            "type": "object",
            "description": "Delete Inv Items Filter",
            "properties": {
              "orgMode": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrganizationMode"
                },
                "description": "Inv Items assigned these orgModes"
              }
            }
          }
        ]
      },
      "InvDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "deleted": {
                "type": "integer",
                "description": "Number of deleted inventory items"
              },
              "filters": {
                "$ref": "#/components/schemas/InvDeleteFilter"
              },
              "inventory": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Inv"
                }
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "InvFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "InvFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "inventory": {
                "$ref": "#/components/schemas/Inv"
              }
            }
          }
        ]
      },
      "InvFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Inv Items Filter",
            "properties": {
              "available": {
                "type": "integer",
                "description": "Fetch inventory if 'available' value is equal to specified one"
              },
              "entityId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Return inventory items related to certain event record by record id"
              },
              "inventoryId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Inv items by list of inventoryId"
              },
              "locationId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fetch inventory by its location Id"
              },
              "sku": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fetch inventory by its SKU"
              },
              "sku_gt": {
                "type": "string",
                "description": "Fetch inventory in which SKU is lexicographically greater than the specified value"
              },
              "sku_lt": {
                "type": "string",
                "description": "Fetch inventory in which SKU is lexicographically less than the specified value"
              },
              "vendorSKU": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fetch inventory by its vendor SKU"
              }
            }
          }
        ]
      },
      "InvListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/InvListFilter"
              }
            }
          }
        ]
      },
      "InvListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InvFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "description": "List Inv Items Filter",
            "properties": {
              "available_gt": {
                "type": "integer",
                "description": "Fetch inventory if 'available' value is greater than specified one"
              },
              "available_lt": {
                "type": "integer",
                "description": "Fetch inventory if 'available' value is less than specified one"
              },
              "event": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EventType"
                },
                "description": "Retrieve inventory by list of events  (- allowed only with 'ledger' flag)"
              },
              "exceptionCategoryId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve inventory by list of categories of the inventory related exceptions  (- ignored in 'totals' queries)"
              },
              "exceptionType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve inventory by list of types of the inventory related exceptions  (- ignored in 'totals' queries)"
              },
              "integration": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fetch inventory by integrations id list  (- ignored in 'totals' queries)"
              },
              "inventoryNotTracked": {
                "type": "boolean",
                "description": "Fetch inventory by the inventoryNotTracked value  (- ignored in 'totals' queries)"
              },
              "ledger": {
                "type": "boolean",
                "description": "Return inventory ledger information"
              },
              "onHand": {
                "type": "integer",
                "description": "Fetch inventory if 'onHand' value is equal to specified one"
              },
              "onHand_gt": {
                "type": "integer",
                "description": "Fetch inventory if 'onHand' value is greater than specified one"
              },
              "onHand_lt": {
                "type": "integer",
                "description": "Fetch inventory if 'onHand' value is less than specified one"
              },
              "requestorId": {
                "type": "string",
                "description": "Id of the inventory totals requestor (- used to select available locations; forcibly replaced with integration ID if the request came from an integration)"
              },
              "totals": {
                "type": "boolean",
                "description": "Return inventory totals across all locations"
              },
              "type": {
                "type": "string",
                "enum": [
                  "virtual",
                  "physical"
                ],
                "description": "'virtual' - fetch virtual inventory status, 'physical' - not virtual (it is unallowable parameter when used with 'ledger' or 'totals' flag)"
              }
            }
          }
        ]
      },
      "InvListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/InvListFilter"
              },
              "inventory": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Inv"
                }
              },
              "locationId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Array of location IDs (- returned only with inventory totals)"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "InvLot": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "lotId": {
                "type": "string",
                "description": "Lot ID"
              }
            }
          },
          {
            "$ref": "#/components/schemas/InvQuantity"
          }
        ]
      },
      "InvQuantity": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "availableToPromise": {
                "type": "integer",
                "format": "int32",
                "description": "Number of items available to promise"
              },
              "quantity": {
                "type": "integer",
                "format": "int32",
                "description": "Number of items affected"
              }
            }
          },
          {
            "$ref": "#/components/schemas/InvBaseQuantity"
          }
        ]
      },
      "InvUpdateData": {
        "type": "object",
        "required": [
          "event",
          "locationId",
          "ptype",
          "sku",
          "quantity"
        ],
        "properties": {
          "event": {
            "type": "string",
            "description": "Event updating inventory",
            "enum": [
              "ship",
              "fulfill",
              "xferout",
              "xferfulfill",
              "xferin",
              "receive",
              "futureShip",
              "release",
              "shipCancel",
              "shipCancelRestock",
              "futureShipCancel",
              "virtualCommit",
              "touch",
              "POSOrder",
              "custom",
              "revise",
              "instantTransfer",
              "cycleCount"
            ]
          },
          "locationId": {
            "type": "string",
            "description": "Location Id of item"
          },
          "ptype": {
            "$ref": "#/components/schemas/EventSource",
            "description": "Type of system that created the event"
          },
          "quantity": {
            "type": "integer",
            "format": "int32",
            "description": "Number of items affected"
          },
          "sku": {
            "type": "string",
            "description": "Item SKU"
          },
          "entityId": {
            "type": "string",
            "description": "Entity id of the record which is directly related to this inventory change"
          },
          "entityType": {
            "type": "string",
            "description": "Type of the record which is directly related to this inventory change",
            "enum": [
              "arrivals",
              "fulfillments",
              "inventory",
              "receipts",
              "shipments",
              "orders"
            ]
          },
          "infinite": {
            "type": "boolean",
            "description": "Set if item location has \\\"infinite\\\" availability"
          },
          "inventoryNotTracked": {
            "type": "boolean",
            "description": "Disables the inventory tracking",
            "nullable": true
          },
          "label": {
            "type": "string"
          },
          "lotId": {
            "type": "string",
            "description": "Lot ID"
          },
          "orderId": {
            "type": "string",
            "description": "Pipe17 internal order id that initiated this inventory change"
          },
          "orderType": {
            "type": "string",
            "description": "Type of order that initiated this inventory change",
            "enum": [
              "sales",
              "transfer",
              "purchase"
            ]
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "type": {
            "type": "string",
            "enum": [
              "virtual",
              "physical"
            ],
            "description": "Inv type"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Item vendor SKU"
          }
        }
      },
      "InvUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "inventory": {
                "$ref": "#/components/schemas/InvUpdateData"
              }
            }
          }
        ]
      },
      "InvUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InvUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "InvUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "inventory": {
                "$ref": "#/components/schemas/Inv"
              }
            }
          }
        ]
      },
      "Inventory": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "available": {
                "type": "integer",
                "format": "int32",
                "description": "Number of items available"
              },
              "availableToPromise": {
                "type": "integer",
                "format": "int32",
                "description": "Number of items available to promise"
              },
              "commitShip": {
                "type": "integer",
                "format": "int32",
                "description": "Number of items being shipped (included in committed)"
              },
              "commitXfer": {
                "type": "integer",
                "format": "int32",
                "description": "Number of items being transferred out (included in committed)"
              },
              "committed": {
                "type": "integer",
                "format": "int32",
                "description": "Number of items committed"
              },
              "committedFuture": {
                "type": "integer",
                "format": "int32",
                "description": "Number of items committed for pre-order"
              },
              "customFields": {
                "type": "array",
                "description": "Custom Fields",
                "items": {
                  "$ref": "#/components/schemas/NameValue"
                }
              },
              "damaged": {
                "type": "integer",
                "format": "int32"
              },
              "entityId": {
                "type": "string",
                "description": "Related entity ID"
              },
              "entityType": {
                "type": "string",
                "description": "Related entity ID's type"
              },
              "event": {
                "$ref": "#/components/schemas/EventType",
                "description": "Event creating this item"
              },
              "future": {
                "type": "integer",
                "format": "int32",
                "description": "Number of items that can be sold for pre-order"
              },
              "groupId": {
                "type": "string",
                "description": "Location Group ID for group-level inventory rows (set instead of `locationId`).\n"
              },
              "hold": {
                "type": "integer",
                "format": "int32"
              },
              "incoming": {
                "type": "integer",
                "format": "int32",
                "description": "Number of incoming items in transit (maybe included in available)"
              },
              "integration": {
                "type": "string",
                "description": "Reference to integration that created an item"
              },
              "internal": {
                "$ref": "#/components/schemas/InternalInfo"
              },
              "inventoryId": {
                "type": "string",
                "description": "Inventory ID"
              },
              "inventoryNotTracked": {
                "type": "boolean",
                "description": "Disables the inventory tracking"
              },
              "label": {
                "type": "string"
              },
              "locationId": {
                "type": "string",
                "description": "Location of item"
              },
              "onHand": {
                "type": "integer",
                "format": "int32",
                "description": "Number of items on hand"
              },
              "orderId": {
                "type": "string",
                "description": "Pipe17 internal order id that initiated this inventory change"
              },
              "orderType": {
                "type": "string",
                "description": "Type of order that initiated this inventory change"
              },
              "originalSKU": {
                "type": "string",
                "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
              },
              "quantity": {
                "type": "integer",
                "format": "int32",
                "description": "Number of items affected"
              },
              "sku": {
                "type": "string",
                "description": "Item SKU"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              },
              "type": {
                "type": "string",
                "enum": [
                  "virtual",
                  "physical"
                ],
                "description": "Inventory type (undefined value indicates a physical inventory)"
              },
              "unavailable": {
                "type": "integer",
                "format": "int32",
                "description": "Number of unavailable items"
              },
              "user": {
                "type": "string",
                "description": "Pipe17 internal id of the user who makes the inventory adjustment via the portal"
              },
              "vendorSKU": {
                "type": "string",
                "description": "Item vendor SKU"
              }
            }
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "InventoryCreateData": {
        "type": "object",
        "xml": {
          "name": "inventory"
        },
        "required": [
          "event",
          "ptype",
          "sku",
          "locationId",
          "onHand",
          "committed"
        ],
        "properties": {
          "committed": {
            "type": "integer",
            "format": "int32",
            "description": "Number of items committed. Required for `ingest` and `adjust`. Optional for `assign`; when omitted it keeps its current value. `assign` never derives `committed` from the other quantities, so a supply-only sync cannot disturb demand. Must not be negative.\n"
          },
          "event": {
            "type": "string",
            "description": "Event creating this item. `ingest` and `adjust` submit a complete inventory level and require both `onHand` and `committed`. `assign` submits a partial level: any quantity field may be omitted, and each omitted field keeps its current value.\n",
            "enum": [
              "ingest",
              "adjust",
              "assign"
            ]
          },
          "locationId": {
            "type": "string",
            "description": "Location ID of item. Either `locationId` or `groupId` is required (provide exactly one). A `locationId` submission is the normal, ledgered, queued inventory flow. Supply `groupId` instead to record a group-level inventory level.\n"
          },
          "onHand": {
            "type": "integer",
            "format": "int32",
            "description": "Number of items on hand. Required for `ingest` and `adjust`. Optional for `assign`; when omitted it is resolved from the current inventory level, or derived so that `onHand = committed + available + unavailable`. Must not be negative.\n"
          },
          "ptype": {
            "$ref": "#/components/schemas/EventSource",
            "description": "Type of system that created the event"
          },
          "sku": {
            "type": "string",
            "description": "Item SKU"
          },
          "available": {
            "type": "integer",
            "format": "int32",
            "description": "Number of items available. For `assign`, this is the field normally derived as `onHand - committed - unavailable`; supply it explicitly to pin it and have another quantity absorb the difference instead. It is the only quantity permitted to be negative.\n"
          },
          "commitShip": {
            "type": "integer",
            "format": "int32",
            "description": "Number of items being shipped (included in committed)"
          },
          "commitXfer": {
            "type": "integer",
            "format": "int32",
            "description": "Number of items being transferred out (included in committed)"
          },
          "committedFuture": {
            "type": "integer",
            "format": "int32",
            "description": "Number of items committed for pre-order"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "damaged": {
            "type": "integer",
            "format": "int32"
          },
          "future": {
            "type": "integer",
            "format": "int32",
            "description": "Number of items that can be sold for pre-order"
          },
          "groupId": {
            "type": "string",
            "description": "Location Group ID. Provide exactly one of `locationId` or `groupId`. A `groupId` submission stores an absolute group-level inventory level synchronously, with no ledger, no queue, and is excluded from totals unless explicitly requested.\n"
          },
          "hold": {
            "type": "integer",
            "format": "int32"
          },
          "incoming": {
            "type": "integer",
            "format": "int32",
            "description": "Number of incoming items in transit (maybe included in available)"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "inventoryNotTracked": {
            "type": "boolean",
            "description": "Disables the inventory tracking (default - false)"
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "type": {
            "type": "string",
            "enum": [
              "virtual",
              "physical"
            ],
            "description": "Inventory type"
          },
          "unavailable": {
            "type": "integer",
            "format": "int32",
            "description": "Number of unavailable items. Under `assign` this is the quantity of last resort: when both `onHand` and `available` are supplied, it absorbs the difference between them. Must not be negative.\n"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Item vendor SKU"
          }
        }
      },
      "InventoryCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "inventory": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InventoryCreateResult"
                }
              }
            }
          }
        ]
      },
      "InventoryCreateRequest": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/InventoryCreateData"
        },
        "xml": {
          "name": "request",
          "wrapped": true
        },
        "maxItems": 10
      },
      "InventoryCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "inventory": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InventoryCreateResult"
                }
              }
            }
          }
        ]
      },
      "InventoryCreateResult": {
        "type": "object",
        "properties": {
          "conflict": {
            "type": "object",
            "description": "Duplicate key error details, if failed"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Error details if failed"
          },
          "inventory": {
            "$ref": "#/components/schemas/InventoryWithDeltas"
          },
          "message": {
            "type": "string",
            "description": "Error message if failed"
          },
          "status": {
            "type": "string",
            "enum": [
              "submitted",
              "failed"
            ]
          }
        }
      },
      "InventoryDeleteError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/InventoryDeleteFilter"
              }
            }
          }
        ]
      },
      "InventoryDeleteFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InventoryFilter"
          },
          {
            "type": "object",
            "description": "Delete Inventory Items Filter",
            "properties": {
              "orgMode": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrganizationMode"
                },
                "description": "Inventory Items assigned these orgModes"
              }
            }
          }
        ]
      },
      "InventoryDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "deleted": {
                "type": "integer",
                "description": "Number of deleted inventory items"
              },
              "filters": {
                "$ref": "#/components/schemas/InventoryDeleteFilter"
              },
              "inventory": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Inventory"
                }
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "InventoryDeltas": {
        "type": "object",
        "properties": {
          "available": {
            "type": "integer",
            "format": "int32",
            "description": "Number of items available"
          },
          "committed": {
            "type": "integer",
            "format": "int32",
            "description": "Number of items committed"
          },
          "onHand": {
            "type": "integer",
            "format": "int32",
            "description": "Number of items on hand"
          },
          "unavailable": {
            "type": "integer",
            "format": "int32",
            "description": "Number of unavailable items"
          }
        },
        "description": "Inventory state change relative to the previous inventory level, with a missing value on either side counted as 0. Returned only for the `ingest`, `adjust` and `assign` events.\n"
      },
      "InventoryFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "InventoryFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "inventory": {
                "$ref": "#/components/schemas/Inventory"
              }
            }
          }
        ]
      },
      "InventoryFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Inventory Items Filter",
            "properties": {
              "available": {
                "type": "integer",
                "description": "Fetch inventory if 'available' value is equal to specified one"
              },
              "entityId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Return inventory items related to certain event record by record id"
              },
              "inventoryId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Inventory items by list of inventoryId"
              },
              "locationId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fetch inventory by its location Id"
              },
              "sku": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fetch inventory by its SKU"
              },
              "sku_gt": {
                "type": "string",
                "description": "Fetch inventory in which SKU is lexicographically greater than the specified value"
              },
              "sku_lt": {
                "type": "string",
                "description": "Fetch inventory in which SKU is lexicographically less than the specified value"
              },
              "vendorSKU": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fetch inventory by its vendor SKU"
              }
            }
          }
        ]
      },
      "InventoryGroup": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "groupId": {
                "type": "string",
                "description": "Inventory Group ID",
                "readOnly": true
              }
            }
          },
          {
            "$ref": "#/components/schemas/InventoryGroupCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "InventoryGroupCreateData": {
        "type": "object",
        "required": [
          "locationId",
          "sourceSKU",
          "destinationSKU",
          "policy"
        ],
        "properties": {
          "destinationSKU": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 1
          },
          "locationId": {
            "type": "string"
          },
          "policy": {
            "$ref": "#/components/schemas/InventoryGroupPolicy"
          },
          "sourceSKU": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 1
          },
          "destinationPercentage": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "minItems": 1
          },
          "sourcePercentage": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "minItems": 1
          }
        }
      },
      "InventoryGroupCreateResult": {
        "type": "object",
        "properties": {
          "conflict": {
            "type": "object",
            "description": "Duplicate key error details, if failed"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Error details if failed"
          },
          "inventory_group": {
            "$ref": "#/components/schemas/InventoryGroup"
          },
          "message": {
            "type": "string",
            "description": "Error message if failed"
          },
          "status": {
            "type": "string",
            "enum": [
              "submitted",
              "failed"
            ]
          }
        }
      },
      "InventoryGroupFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "InventoryGroupFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "inventory_group": {
                "$ref": "#/components/schemas/InventoryGroup"
              }
            }
          }
        ]
      },
      "InventoryGroupListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/InventoryGroupListFilter"
              }
            }
          }
        ]
      },
      "InventoryGroupListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "description": "Inventory Groups Filter",
            "properties": {
              "destinationSKU": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "groupId": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "locationId": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "sourceSKU": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        ]
      },
      "InventoryGroupListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/InventoryGroupListFilter"
              },
              "inventory_groups": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InventoryGroup"
                }
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "InventoryGroupPolicy": {
        "type": "string",
        "enum": [
          "sum",
          "max",
          "min",
          "equal",
          "first",
          "custom"
        ]
      },
      "InventoryGroupUpdateData": {
        "type": "object",
        "properties": {
          "destinationPercentage": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "minItems": 1
          },
          "destinationSKU": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 1
          },
          "locationId": {
            "type": "string"
          },
          "policy": {
            "$ref": "#/components/schemas/InventoryGroupPolicy"
          },
          "sourcePercentage": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "minItems": 1
          },
          "sourceSKU": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 1
          }
        }
      },
      "InventoryGroupUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "inventory_group": {
                "$ref": "#/components/schemas/InventoryGroupUpdateData"
              }
            }
          }
        ]
      },
      "InventoryGroupUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InventoryGroupUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "InventoryGroupUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "inventory_group": {
                "$ref": "#/components/schemas/InventoryGroup"
              }
            }
          }
        ]
      },
      "InventoryGroupsCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "inventory_groups": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InventoryGroupCreateResult"
                }
              }
            }
          }
        ]
      },
      "InventoryGroupsCreateRequest": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/InventoryGroupCreateData"
        },
        "xml": {
          "name": "request",
          "wrapped": true
        },
        "maxItems": 10
      },
      "InventoryGroupsCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "inventory_groups": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InventoryGroupCreateResult"
                }
              }
            }
          }
        ]
      },
      "InventoryListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/InventoryListFilter"
              }
            }
          }
        ]
      },
      "InventoryListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InventoryFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "description": "List Inventory Items Filter",
            "properties": {
              "available_gt": {
                "type": "integer",
                "description": "Fetch inventory if 'available' value is greater than specified one"
              },
              "available_lt": {
                "type": "integer",
                "description": "Fetch inventory if 'available' value is less than specified one"
              },
              "event": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EventType"
                },
                "description": "Retrieve inventory by list of events  (- allowed only with 'ledger' flag)"
              },
              "groupId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select group-level inventory rows by Location Group ID list (mirrors 'locationId'). Use `*` to select all groups. When supplied with 'totals', returns the rollup across the requested groups (or all groups for `*`). Default totals are location-only and never include group-level rows.\n"
              },
              "integration": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fetch inventory by integrations id list  (- ignored in 'totals' queries)"
              },
              "inventoryNotTracked": {
                "type": "boolean",
                "description": "Fetch inventory by the inventoryNotTracked value  (- ignored in 'totals' queries)"
              },
              "ledger": {
                "type": "boolean",
                "description": "Return inventory ledger information"
              },
              "onHand": {
                "type": "integer",
                "description": "Fetch inventory if 'onHand' value is equal to specified one"
              },
              "onHand_gt": {
                "type": "integer",
                "description": "Fetch inventory if 'onHand' value is greater than specified one"
              },
              "onHand_lt": {
                "type": "integer",
                "description": "Fetch inventory if 'onHand' value is less than specified one"
              },
              "requestorId": {
                "type": "string",
                "description": "Id of the inventory totals requestor (- used to select available locations; forcibly replaced with integration ID if the request came from an integration)"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags",
                "description": "Fetch inventory by tags (- disallowed with 'ledger' or 'totals' flag)"
              },
              "totals": {
                "type": "boolean",
                "description": "Return inventory totals across all locations"
              },
              "type": {
                "type": "string",
                "enum": [
                  "virtual",
                  "physical"
                ],
                "description": "'virtual' - fetch virtual inventory status, 'physical' - not virtual (it is unallowable parameter when used with 'ledger' or 'totals' flag)"
              }
            }
          }
        ]
      },
      "InventoryListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/InventoryListFilter"
              },
              "inventory": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Inventory"
                }
              },
              "locationId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Array of location IDs (- returned only with inventory totals)"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "InventoryRule": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "ruleId": {
                "type": "string",
                "description": "Rule ID"
              },
              "status": {
                "type": "string",
                "description": "Rule status"
              }
            }
          },
          {
            "$ref": "#/components/schemas/InventoryRuleCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "InventoryRuleCreateData": {
        "type": "object",
        "required": [
          "event",
          "rule"
        ],
        "properties": {
          "event": {
            "$ref": "#/components/schemas/EventType",
            "description": "Event trigerring this rule"
          },
          "rule": {
            "type": "string",
            "description": "Rule's definition as javascript function"
          },
          "description": {
            "type": "string",
            "description": "Description of the rule"
          },
          "integration": {
            "type": "string",
            "description": "Event source integration id"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "partner": {
            "type": "string",
            "description": "Event source partner name"
          },
          "ptype": {
            "$ref": "#/components/schemas/EventSource",
            "description": "Event source partner type"
          }
        }
      },
      "InventoryRuleCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "inventoryrule": {
                "$ref": "#/components/schemas/InventoryRuleCreateData"
              }
            }
          }
        ]
      },
      "InventoryRuleCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InventoryRuleCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "InventoryRuleCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "inventoryrule": {
                "$ref": "#/components/schemas/InventoryRule"
              }
            }
          }
        ]
      },
      "InventoryRuleFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "InventoryRuleFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "inventoryrule": {
                "$ref": "#/components/schemas/InventoryRule"
              }
            }
          }
        ]
      },
      "InventoryRuleUpdateData": {
        "type": "object",
        "required": [
          "rule"
        ],
        "properties": {
          "rule": {
            "type": "string",
            "description": "Rule's definition as javascript function"
          },
          "description": {
            "type": "string",
            "description": "Description of the rule"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          }
        }
      },
      "InventoryRuleUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "inventoryrule": {
                "$ref": "#/components/schemas/InventoryRuleUpdateData"
              }
            }
          }
        ]
      },
      "InventoryRuleUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InventoryRuleUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "InventoryRuleUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "inventoryrule": {
                "$ref": "#/components/schemas/InventoryRule"
              }
            }
          }
        ]
      },
      "InventoryRulesDeleteError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/InventoryRulesDeleteFilter"
              }
            }
          }
        ]
      },
      "InventoryRulesDeleteFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InventoryRulesFilter"
          },
          {
            "type": "object",
            "description": "Delete Rules Filter",
            "properties": {
              "orgMode": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrganizationMode"
                },
                "description": "Rules assigned these orgModes"
              }
            }
          }
        ]
      },
      "InventoryRulesDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "deleted": {
                "type": "integer",
                "description": "Number of deleted rules"
              },
              "filters": {
                "$ref": "#/components/schemas/InventoryRulesDeleteFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "rules": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InventoryRule"
                }
              }
            }
          }
        ]
      },
      "InventoryRulesFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Rules Filter",
            "properties": {
              "deleted": {
                "type": "boolean",
                "description": "Soft deleted rules"
              },
              "integration": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Rules by list of integration ids"
              },
              "ruleId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Rules by list of ruleId"
              }
            }
          }
        ]
      },
      "InventoryRulesListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/InventoryRulesListFilter"
              }
            }
          }
        ]
      },
      "InventoryRulesListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InventoryRulesFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys",
            "description": "List Rules Filter",
            "properties": {
              "event": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EventType"
                },
                "description": "Event types triggering this rule"
              },
              "ptype": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EventSource"
                },
                "description": "Event source partner types"
              },
              "partner": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Event source partner names"
              }
            }
          }
        ]
      },
      "InventoryRulesListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/InventoryRulesListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "rules": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InventoryRule"
                }
              }
            }
          }
        ]
      },
      "InventoryUpdateData": {
        "type": "object",
        "required": [
          "event",
          "locationId",
          "ptype",
          "sku",
          "quantity"
        ],
        "properties": {
          "event": {
            "type": "string",
            "description": "Event updating inventory",
            "enum": [
              "ship",
              "fulfill",
              "xferout",
              "xferfulfill",
              "xferin",
              "receive",
              "futureShip",
              "release",
              "shipCancel",
              "shipCancelRestock",
              "futureShipCancel",
              "virtualCommit",
              "touch",
              "POSOrder",
              "custom",
              "revise",
              "instantTransfer",
              "cycleCount"
            ]
          },
          "locationId": {
            "type": "string",
            "description": "Location Id of item"
          },
          "ptype": {
            "$ref": "#/components/schemas/EventSource",
            "description": "Type of system that created the event"
          },
          "quantity": {
            "type": "integer",
            "format": "int32",
            "description": "Number of items affected. Interpreted per `event`: for every event except `cycleCount` it is a relative movement, and the event decides which quantities it shifts. For `cycleCount` it is instead the absolute **counted on-hand** — `onHand` is set to it and `available` absorbs the difference — and the stored ledger entry carries the resulting adjustment rather than the submitted count.\n"
          },
          "sku": {
            "type": "string",
            "description": "Item SKU"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            },
            "nullable": true
          },
          "entityId": {
            "type": "string",
            "description": "Entity id of the record which is directly related to this inventory change"
          },
          "entityType": {
            "type": "string",
            "description": "Type of the record which is directly related to this inventory change",
            "enum": [
              "arrivals",
              "fulfillments",
              "inventory",
              "receipts",
              "shipments",
              "orders"
            ]
          },
          "infinite": {
            "type": "boolean",
            "description": "Set if item location has \\\"infinite\\\" availability"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "inventoryNotTracked": {
            "type": "boolean",
            "description": "Disables the inventory tracking",
            "nullable": true
          },
          "label": {
            "type": "string"
          },
          "orderId": {
            "type": "string",
            "description": "Pipe17 internal order id that initiated this inventory change"
          },
          "orderType": {
            "type": "string",
            "description": "Type of order that initiated this inventory change",
            "enum": [
              "sales",
              "transfer",
              "purchase"
            ]
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "type": {
            "type": "string",
            "enum": [
              "virtual",
              "physical"
            ],
            "description": "Inventory type"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Item vendor SKU"
          }
        }
      },
      "InventoryUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "inventory": {
                "$ref": "#/components/schemas/InventoryUpdateData"
              }
            }
          }
        ]
      },
      "InventoryUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InventoryUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "InventoryUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "inventory": {
                "$ref": "#/components/schemas/Inventory"
              }
            }
          }
        ]
      },
      "InventoryWithDeltas": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Inventory"
          },
          {
            "type": "object",
            "properties": {
              "deltas": {
                "$ref": "#/components/schemas/InventoryDeltas"
              }
            }
          }
        ]
      },
      "Invoice": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "exceptionCategories": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "References to categories of exceptions related to the invoice"
              },
              "exceptions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Types of exceptions related to the invoice"
              },
              "integration": {
                "type": "string",
                "description": "Reference to integration that created the invoice"
              },
              "invoiceId": {
                "type": "string",
                "description": "Auto Generated"
              },
              "orderIntegrations": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Integrations that created orders related to the invoice"
              },
              "timeline": {
                "description": "Timeline of updates",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InvoiceChangelogEntry"
                }
              }
            }
          },
          {
            "$ref": "#/components/schemas/InvoiceCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "InvoiceAdditionalCharge": {
        "type": "object",
        "required": [
          "type",
          "value"
        ],
        "properties": {
          "type": {
            "$ref": "#/components/schemas/InvoiceAdditionalChargeType",
            "description": "Additional charge type"
          },
          "value": {
            "type": "number",
            "description": "absolute value of additional charge"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Invoice charge created at"
          },
          "label": {
            "type": "string",
            "description": "optional additional charge"
          },
          "lineItemId": {
            "type": "string",
            "description": "optional reference to lineItems[].uniqueId for lineItem additional charge"
          },
          "reference": {
            "type": "string",
            "description": "optional id/name for additional charge"
          }
        }
      },
      "InvoiceAdditionalChargeType": {
        "type": "string",
        "description": "Additional charge type",
        "enum": [
          "handling",
          "wrapping",
          "shipping",
          "other"
        ]
      },
      "InvoiceChangelogEntry": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "extInvoiceId": {
                "type": "string",
                "description": "External Invoice Id"
              },
              "invoiceId": {
                "type": "string",
                "description": "Invoice Id"
              }
            }
          },
          {
            "$ref": "#/components/schemas/ChangelogEntryBase"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "InvoiceCreateData": {
        "type": "object",
        "xml": {
          "name": "invoice"
        },
        "required": [
          "extInvoiceId"
        ],
        "properties": {
          "extInvoiceId": {
            "type": "string",
            "description": "External Invoice ID"
          },
          "additionalCharges": {
            "type": "array",
            "description": "Additional charges",
            "items": {
              "$ref": "#/components/schemas/InvoiceAdditionalCharge"
            }
          },
          "billingAddress": {
            "$ref": "#/components/schemas/Address",
            "description": "Purchaser Address"
          },
          "currency": {
            "type": "string",
            "description": "Invoice currency code"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "customer": {
            "$ref": "#/components/schemas/InvoiceCustomer"
          },
          "discounts": {
            "type": "array",
            "description": "Discounts",
            "items": {
              "$ref": "#/components/schemas/InvoiceDiscount"
            }
          },
          "dueAt": {
            "type": "string",
            "format": "date-time",
            "description": "Invoice due date"
          },
          "extInvoiceApiId": {
            "type": "string",
            "description": "External System Invoice API ID"
          },
          "extInvoiceCreatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the invoice was created at source"
          },
          "extInvoiceUpdatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the invoice was updated at source"
          },
          "extInvoiceUrl": {
            "type": "string",
            "description": "Invoice Url in External System"
          },
          "extOrderId": {
            "type": "string",
            "description": "Reference to order"
          },
          "extReferenceId": {
            "type": "string",
            "description": "Reference ID"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "invoiceDiscount": {
            "type": "number",
            "format": "float",
            "description": "Invoice Discount"
          },
          "invoiceNote": {
            "type": "string",
            "description": "Invoice Notes"
          },
          "invoiceTax": {
            "type": "number",
            "format": "float",
            "description": "Invoice Tax"
          },
          "invoiceType": {
            "$ref": "#/components/schemas/InvoiceType"
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvoiceLineItem"
            }
          },
          "orderId": {
            "type": "string",
            "description": "Reference to order"
          },
          "paidAt": {
            "type": "string",
            "format": "date-time",
            "description": "Invoice paid date"
          },
          "paymentStatus": {
            "type": "string",
            "description": "status of the payment"
          },
          "payments": {
            "type": "array",
            "description": "Payments",
            "items": {
              "$ref": "#/components/schemas/InvoicePayment"
            }
          },
          "sourceDoc": {
            "$ref": "#/components/schemas/SourceDoc"
          },
          "status": {
            "$ref": "#/components/schemas/InvoiceStatus"
          },
          "subTotalPrice": {
            "type": "number",
            "format": "float",
            "description": "Sub Total Price"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "term": {
            "type": "string",
            "description": "Payment terms of the invoice as provided by the source system (e.g. \"Net 30\", \"Due on receipt\"); typically determines dueAt"
          },
          "totalPrice": {
            "type": "number",
            "format": "float",
            "description": "Total Price"
          }
        }
      },
      "InvoiceCreateResult": {
        "type": "object",
        "properties": {
          "conflict": {
            "type": "object",
            "description": "Duplicate key error details, if failed"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Error details if failed"
          },
          "invoice": {
            "$ref": "#/components/schemas/Invoice"
          },
          "message": {
            "type": "string",
            "description": "Error message if failed"
          },
          "status": {
            "type": "string",
            "enum": [
              "submitted",
              "failed"
            ]
          }
        }
      },
      "InvoiceCustomer": {
        "type": "object",
        "properties": {
          "company": {
            "type": "string"
          },
          "customerId": {
            "type": "string"
          },
          "extCustomerId": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          }
        }
      },
      "InvoiceDiscount": {
        "type": "object",
        "required": [
          "type",
          "value"
        ],
        "properties": {
          "type": {
            "$ref": "#/components/schemas/InvoiceDiscountType",
            "description": "Discount type"
          },
          "value": {
            "type": "number",
            "description": "absolute value of discount"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Invoice discount created at"
          },
          "label": {
            "type": "string",
            "description": "optional discount label"
          },
          "lineItemId": {
            "type": "string",
            "description": "optional reference to lineItems[].uniqueId for lineItem discount"
          },
          "reference": {
            "type": "string",
            "description": "optional id/name of discount source, e.g. coupon code"
          }
        }
      },
      "InvoiceDiscountType": {
        "type": "string",
        "description": "Discount Type",
        "enum": [
          "coupon",
          "manual",
          "other"
        ]
      },
      "InvoiceFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "InvoiceFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "invoice": {
                "$ref": "#/components/schemas/Invoice"
              }
            }
          }
        ]
      },
      "InvoiceLineItem": {
        "type": "object",
        "required": [
          "uniqueId",
          "sku",
          "quantity"
        ],
        "properties": {
          "quantity": {
            "type": "number",
            "format": "float",
            "description": "Item Quantity"
          },
          "sku": {
            "type": "string",
            "description": "Item SKU"
          },
          "uniqueId": {
            "type": "string",
            "description": "Item unique Id (within an invoice)"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "extOrderId": {
            "type": "string"
          },
          "itemDiscount": {
            "type": "number",
            "format": "float",
            "description": "Line discount (item discount * quantity)"
          },
          "itemPrice": {
            "type": "number",
            "format": "float",
            "description": "Item price w/o taxes and discounts (line amount / quantity)"
          },
          "itemTax": {
            "type": "number",
            "format": "float",
            "description": "Line tax ((itemPrice * quantity - itemDiscount) * tax ratio)"
          },
          "locationId": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "Item Name or Description"
          },
          "orderId": {
            "type": "string"
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "quantityUnit": {
            "$ref": "#/components/schemas/ItemQuantityUnit"
          },
          "requiresShipping": {
            "type": "boolean"
          },
          "requiresShippingSource": {
            "$ref": "#/components/schemas/InvoiceRequiresShippingSource"
          },
          "routed": {
            "type": "boolean"
          },
          "taxable": {
            "type": "boolean"
          },
          "trackedAtSourceChannel": {
            "type": "boolean"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Channel SKU for this item. On a write made with withSKUMapping, the channel SKU that 'sku' was resolved from is recorded here.\n"
          }
        }
      },
      "InvoicePayment": {
        "type": "object",
        "required": [
          "amount",
          "currency",
          "status",
          "method"
        ],
        "properties": {
          "amount": {
            "type": "number"
          },
          "currency": {
            "type": "string"
          },
          "method": {
            "type": "string",
            "description": "payment method name",
            "enum": [
              "cash",
              "giftCard",
              "creditCard",
              "storeCredit",
              "paypal",
              "other",
              "custom"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "succeeded",
              "failed"
            ]
          },
          "conversion": {
            "type": "number"
          },
          "customMethod": {
            "type": "string",
            "description": "custom payment method name"
          },
          "kind": {
            "type": "string",
            "enum": [
              "visa",
              "mastercard",
              "amex",
              "discover"
            ]
          },
          "processedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Payment processing time"
          },
          "reference": {
            "type": "string",
            "description": "payment reference id"
          }
        }
      },
      "InvoiceRequiresShippingSource": {
        "type": "string",
        "enum": [
          "source",
          "integration",
          "automation",
          "manual",
          "unknown"
        ]
      },
      "InvoiceStatus": {
        "type": "string",
        "description": "Invoice Status",
        "enum": [
          "draft",
          "new",
          "reviewRequired",
          "posted",
          "partialPaid",
          "paid",
          "canceled",
          "closed"
        ]
      },
      "InvoiceType": {
        "type": "string",
        "description": "Invoice Type",
        "enum": [
          "bill",
          "invoice",
          "debitMemo",
          "creditMemo",
          "cashSale",
          "cashReturn"
        ]
      },
      "InvoiceUpdateData": {
        "type": "object",
        "properties": {
          "additionalCharges": {
            "type": "array",
            "description": "Additional charges",
            "items": {
              "$ref": "#/components/schemas/InvoiceAdditionalCharge"
            },
            "nullable": true
          },
          "billingAddress": {
            "$ref": "#/components/schemas/Address",
            "description": "Billing Address"
          },
          "currency": {
            "type": "string",
            "description": "Invoice currency code"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "customer": {
            "$ref": "#/components/schemas/InvoiceCustomer"
          },
          "discounts": {
            "type": "array",
            "description": "Discounts",
            "items": {
              "$ref": "#/components/schemas/InvoiceDiscount"
            },
            "nullable": true
          },
          "dueAt": {
            "type": "string",
            "format": "date-time",
            "description": "Invoice due date"
          },
          "extInvoiceApiId": {
            "type": "string",
            "description": "External System Invoice API ID"
          },
          "extInvoiceUpdatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the invoice was updated at source"
          },
          "extInvoiceUrl": {
            "type": "string",
            "description": "Invoice Url in External System"
          },
          "extReferenceId": {
            "type": "string",
            "description": "Reference ID"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "invoiceDiscount": {
            "type": "number",
            "format": "float",
            "description": "Invoice Discount",
            "nullable": true
          },
          "invoiceNote": {
            "type": "string",
            "description": "Invoice Notes",
            "nullable": true
          },
          "invoiceTax": {
            "type": "number",
            "format": "float",
            "description": "Invoice Tax",
            "nullable": true
          },
          "invoiceType": {
            "$ref": "#/components/schemas/InvoiceType"
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvoiceUpdateLineItem"
            }
          },
          "paidAt": {
            "type": "string",
            "format": "date-time",
            "description": "Invoice paid date"
          },
          "paymentStatus": {
            "type": "string",
            "description": "status of the payment",
            "nullable": true
          },
          "payments": {
            "type": "array",
            "description": "Payments",
            "items": {
              "$ref": "#/components/schemas/InvoicePayment"
            },
            "nullable": true
          },
          "sourceDoc": {
            "$ref": "#/components/schemas/SourceDoc",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/InvoiceStatus"
          },
          "subTotalPrice": {
            "type": "number",
            "format": "float",
            "description": "Sub Total Price",
            "nullable": true
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags",
            "nullable": true
          },
          "term": {
            "type": "string",
            "description": "Payment terms of the invoice as provided by the source system (e.g. \"Net 30\", \"Due on receipt\"); typically determines dueAt"
          },
          "totalPrice": {
            "type": "number",
            "format": "float",
            "description": "Total Price",
            "nullable": true
          }
        }
      },
      "InvoiceUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "invoice": {
                "$ref": "#/components/schemas/InvoiceUpdateData"
              }
            }
          }
        ]
      },
      "InvoiceUpdateLineItem": {
        "type": "object",
        "properties": {
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "extOrderId": {
            "type": "string"
          },
          "itemDiscount": {
            "type": "number",
            "format": "float",
            "description": "Item Price"
          },
          "itemPrice": {
            "type": "number",
            "format": "float",
            "description": "Item Price"
          },
          "itemTax": {
            "type": "number",
            "format": "float"
          },
          "locationId": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "Item Name or Description"
          },
          "orderId": {
            "type": "string"
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "quantity": {
            "type": "number",
            "format": "float",
            "description": "Item Quantity"
          },
          "quantityUnit": {
            "$ref": "#/components/schemas/ItemQuantityUnit"
          },
          "requiresShipping": {
            "type": "boolean"
          },
          "requiresShippingSource": {
            "$ref": "#/components/schemas/InvoiceRequiresShippingSource"
          },
          "routed": {
            "type": "boolean"
          },
          "sku": {
            "type": "string",
            "description": "Item SKU"
          },
          "taxable": {
            "type": "boolean"
          },
          "trackedAtSourceChannel": {
            "type": "boolean"
          },
          "uniqueId": {
            "type": "string",
            "description": "Item unique Id (within an invoice)"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Channel SKU for this item. On a write made with withSKUMapping, the channel SKU that 'sku' was resolved from is recorded here.\n"
          }
        }
      },
      "InvoiceUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InvoiceUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "InvoiceUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "invoice": {
                "$ref": "#/components/schemas/Invoice"
              }
            }
          }
        ]
      },
      "InvoicesCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "invoices": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InvoiceCreateResult"
                }
              }
            }
          }
        ]
      },
      "InvoicesCreateRequest": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/InvoiceCreateData"
        },
        "xml": {
          "name": "request",
          "wrapped": true
        },
        "maxItems": 10
      },
      "InvoicesCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "invoices": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InvoiceCreateResult"
                }
              }
            }
          }
        ]
      },
      "InvoicesDeleteError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/InvoicesDeleteFilter"
              }
            }
          }
        ]
      },
      "InvoicesDeleteFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InvoicesFilter"
          },
          {
            "type": "object",
            "description": "Delete Invoices Filter",
            "properties": {
              "orgMode": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrganizationMode"
                },
                "description": "Select invoices assigned these orgModes"
              }
            }
          }
        ]
      },
      "InvoicesDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "deleted": {
                "type": "integer",
                "description": "Number of deleted invoices"
              },
              "filters": {
                "$ref": "#/components/schemas/InvoicesDeleteFilter"
              },
              "invoices": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Invoice"
                }
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "InvoicesFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Invoices Filter",
            "properties": {
              "deleted": {
                "type": "boolean",
                "description": "Soft deleted invoices"
              },
              "extInvoiceApiId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by `extInvoiceApiId` list"
              },
              "extInvoiceId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by `extInvoiceId` list"
              },
              "extOrderId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by `extOrderId` list"
              },
              "extReferenceId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by `extReferenceId` list"
              },
              "integration": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select invoices of these integrations"
              },
              "invoiceId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by `invoiceId` list"
              },
              "orderId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by `orderId` list"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InvoiceStatus"
                },
                "description": "Select by list of statuses"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              }
            }
          }
        ]
      },
      "InvoicesListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/InvoicesListFilter"
              }
            }
          }
        ]
      },
      "InvoicesListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InvoicesFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "description": "List Invoices Filter",
            "properties": {
              "emailAddr": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select invoices by `billingAddress.email` list"
              },
              "exceptionCategoryId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by list of categories of the invoice related exceptions"
              },
              "exceptionType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by list of types of the invoice related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)"
              },
              "hasSourceDoc": {
                "type": "boolean",
                "description": "Select invoices containing a source document"
              }
            }
          }
        ]
      },
      "InvoicesListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "required": [
              "invoices"
            ],
            "properties": {
              "invoices": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Invoice"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/InvoicesListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "ItemQuantityUnit": {
        "type": "string",
        "description": "Units of measurement of item quantity",
        "enum": [
          "each",
          "can",
          "bottle",
          "basket",
          "kg",
          "litre"
        ]
      },
      "Job": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "createdBy": {
                "type": "string",
                "description": "Job requester ID"
              },
              "jobId": {
                "type": "string",
                "description": "Job ID"
              },
              "progress": {
                "$ref": "#/components/schemas/JobProgress"
              },
              "status": {
                "$ref": "#/components/schemas/JobStatus"
              }
            }
          },
          {
            "$ref": "#/components/schemas/JobCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "JobCreateData": {
        "type": "object",
        "properties": {
          "subType": {
            "$ref": "#/components/schemas/JobSubType"
          },
          "type": {
            "$ref": "#/components/schemas/JobType"
          },
          "contentType": {
            "type": "string",
            "description": "Job result content type"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "params": {
            "type": "object",
            "description": "Job type specific parameters"
          },
          "state": {
            "$ref": "#/components/schemas/JobState"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "timeout": {
            "type": "number",
            "format": "int32",
            "description": "Job timeout (in milliseconds)"
          }
        },
        "required": [
          "type",
          "subType"
        ]
      },
      "JobCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "JobCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "job": {
                "$ref": "#/components/schemas/Job"
              }
            }
          }
        ]
      },
      "JobFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "JobFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "job": {
                "$ref": "#/components/schemas/Job"
              }
            }
          }
        ]
      },
      "JobFetchResultError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "JobProgress": {
        "type": "integer",
        "minimum": 0,
        "maximum": 100,
        "description": "Job progress (0-100)"
      },
      "JobState": {
        "type": "object",
        "description": "This is a free form object that can be used to store any state related to the job."
      },
      "JobStatus": {
        "type": "string",
        "description": "Job status",
        "enum": [
          "submitted",
          "processing",
          "completed",
          "canceled",
          "failed"
        ]
      },
      "JobSubType": {
        "type": "string",
        "description": "Job sub-type",
        "enum": [
          "inventory",
          "replenishment",
          "oos_sku_on_order",
          "open_orders",
          "purchases",
          "transfers",
          "arrivals",
          "receipts",
          "products",
          "organizations",
          "orders",
          "shipments",
          "fulfillments",
          "locations",
          "shipping_methods",
          "returns",
          "exceptions",
          "lookup_objects",
          "statements",
          "users",
          "store_assignments"
        ]
      },
      "JobType": {
        "type": "string",
        "description": "Job type",
        "enum": [
          "report",
          "import",
          "prepare",
          "update",
          "delete",
          "export",
          "automation",
          "sync"
        ]
      },
      "JobUpdateData": {
        "type": "object",
        "properties": {
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "progress": {
            "$ref": "#/components/schemas/JobProgress"
          },
          "resultURL": {
            "type": "string",
            "description": "Job result URL",
            "format": "uri"
          },
          "state": {
            "$ref": "#/components/schemas/JobState"
          },
          "status": {
            "$ref": "#/components/schemas/JobStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          }
        }
      },
      "JobUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "job": {
                "$ref": "#/components/schemas/JobUpdateData"
              }
            }
          }
        ]
      },
      "JobUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/JobUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "JobUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "job": {
                "$ref": "#/components/schemas/Job"
              }
            }
          }
        ]
      },
      "JobsDeleteError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/JobsDeleteFilter"
              }
            }
          }
        ]
      },
      "JobsDeleteFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/JobsFilter"
          },
          {
            "type": "object",
            "description": "Delete Jobs Filter",
            "properties": {
              "orgMode": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrganizationMode"
                },
                "description": "Jobs assigned these orgModes"
              }
            }
          }
        ]
      },
      "JobsDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "deleted": {
                "type": "integer",
                "description": "Number of deleted jobs"
              },
              "filters": {
                "$ref": "#/components/schemas/JobsDeleteFilter"
              },
              "jobs": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Job"
                }
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "JobsFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Jobs Filter",
            "properties": {
              "createdBy": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Jobs by list of job requester IDs"
              },
              "jobId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Jobs by list of jobId"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/JobStatus"
                },
                "description": "Jobs with given status"
              },
              "subType": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/JobSubType"
                },
                "description": "Jobs with given sub-type"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              },
              "type": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/JobType"
                },
                "description": "Jobs with given type"
              }
            }
          }
        ]
      },
      "JobsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/JobsListFilter"
              }
            }
          }
        ]
      },
      "JobsListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/JobsFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys",
            "description": "List Jobs Filter"
          }
        ]
      },
      "JobsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/JobsListFilter"
              },
              "jobs": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Job"
                }
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "Label": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "exceptionCategories": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "References to categories of exceptions related to the label"
              },
              "exceptions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Types of exceptions related to the label"
              },
              "integration": {
                "type": "string",
                "description": "Reference to integration that created the label"
              },
              "labelId": {
                "type": "string",
                "description": "Label ID"
              },
              "refundStatus": {
                "type": "string",
                "enum": [
                  "pending",
                  "accepted",
                  "rejected"
                ],
                "description": "Carrier refund state for a cancelled label. Independent of `status`: a successfully refunded label is `status: ready, refundStatus: accepted`. When a refund is rejected, the carrier reason is recorded as an Exception linked to this label (entityType=labels), not on the entity.\n"
              },
              "status": {
                "type": "string",
                "enum": [
                  "pending",
                  "new",
                  "ready",
                  "failed"
                ],
                "description": "Label status. 'pending' = stub created by API, awaiting connector to attach vendor metadata. 'new' = legacy path (direct POST /labels without going through request-labels). 'ready' = upload complete. 'failed' = stub abandoned after connector failure.\n"
              }
            }
          },
          {
            "$ref": "#/components/schemas/LabelCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "LabelCreateData": {
        "type": "object",
        "properties": {
          "contentType": {
            "type": "string"
          },
          "fileName": {
            "type": "string"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "extLabelId": {
            "type": "string",
            "description": "Client-supplied external identifier, unique per organization. Required when creating labels via /shipping_requests/{id}/request-labels; optional for direct POST /labels. Duplicate within org returns 409 Conflict.\n"
          },
          "integration": {
            "type": "string",
            "description": "Reference to the integration that created the label. Set by /shipping_requests/{id}/request-labels when creating a pending stub so the label is linked to the resolving connector; optional for direct POST /labels.\n"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "labelType": {
            "$ref": "#/components/schemas/LabelType"
          },
          "shippingMethod": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "new",
              "ready"
            ],
            "description": "Initial label status (defaults to 'new')."
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "trackingNumber": {
            "type": "string"
          }
        },
        "required": [
          "fileName",
          "contentType"
        ]
      },
      "LabelCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "LabelCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "label": {
                "$ref": "#/components/schemas/Label"
              }
            }
          }
        ]
      },
      "LabelFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "LabelFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "label": {
                "$ref": "#/components/schemas/Label"
              }
            }
          }
        ]
      },
      "LabelType": {
        "type": "string",
        "description": "Label type",
        "enum": [
          "bol",
          "containerLabel",
          "giftNote",
          "invoice",
          "packingInstruction",
          "packingSlip",
          "palletLabel",
          "productLabel",
          "shippingLabel",
          "other"
        ]
      },
      "LabelUpdateData": {
        "type": "object",
        "description": "Mutable label fields. Fields omitted from the body are left unchanged. Immutable fields (labelId, orgKey, integration, createdAt, documentType, apiVersion) are silently dropped if provided.\n",
        "properties": {
          "contentType": {
            "type": "string"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "fileName": {
            "type": "string"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "labelType": {
            "$ref": "#/components/schemas/LabelType"
          },
          "refundStatus": {
            "type": "string",
            "enum": [
              "pending",
              "accepted",
              "rejected"
            ],
            "description": "Carrier refund state for a cancelled label."
          },
          "shippingMethod": {
            "type": "string"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "trackingNumber": {
            "type": "string"
          }
        }
      },
      "LabelUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "LabelUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/LabelUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "LabelUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "label": {
                "$ref": "#/components/schemas/Label"
              }
            }
          }
        ]
      },
      "LabelsDeleteError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/LabelsDeleteFilter"
              }
            }
          }
        ]
      },
      "LabelsDeleteFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/LabelsFilter"
          },
          {
            "type": "object",
            "description": "Delete Labels Filter",
            "properties": {
              "orgMode": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrganizationMode"
                },
                "description": "Labels assigned these orgModes"
              }
            }
          }
        ]
      },
      "LabelsDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "deleted": {
                "type": "integer",
                "description": "Number of deleted labels"
              },
              "filters": {
                "$ref": "#/components/schemas/LabelsDeleteFilter"
              },
              "labels": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Label"
                }
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "LabelsFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Labels Filter",
            "properties": {
              "deleted": {
                "type": "boolean",
                "description": "Soft deleted labels"
              },
              "exceptionCategoryId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Labels by list of categories of the label related exceptions"
              },
              "exceptionType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Labels by list of types of the label related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)"
              },
              "extLabelId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Labels by list of extLabelId (client-supplied external IDs)"
              },
              "labelId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Labels by list of labelId"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              }
            }
          }
        ]
      },
      "LabelsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/LabelsListFilter"
              }
            }
          }
        ]
      },
      "LabelsListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/LabelsFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys",
            "description": "List Labels Filter"
          }
        ]
      },
      "LabelsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/LabelsListFilter"
              },
              "labels": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Label"
                }
              }
            }
          }
        ]
      },
      "LastRerunRoutingTrigger": {
        "type": "string",
        "enum": [
          "manual",
          "auto"
        ],
        "description": "Indicates if the order was rerun manually by a user action or automatically."
      },
      "LineDisposition": {
        "type": "object",
        "properties": {
          "extOrderId": {
            "type": "string"
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "quantity": {
            "type": "number",
            "format": "float"
          },
          "sku": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/LineDispositionType"
          },
          "uniqueId": {
            "type": "string"
          }
        }
      },
      "LineDispositionListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/LineDispositionListFilter"
              }
            }
          }
        ]
      },
      "LineDispositionListFilter": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int32",
            "description": "Return at most this many lines"
          },
          "pagination": {
            "type": "string",
            "enum": [
              "disabled"
            ],
            "description": "Exclude pagination info from the response"
          },
          "skip": {
            "type": "integer",
            "format": "int32",
            "description": "Skip this many lines"
          },
          "status": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderStatus"
            },
            "description": "Select orders by order status list"
          },
          "type": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LineDispositionType"
            },
            "description": "Select dispositions by disposition type list"
          },
          "updatedSince": {
            "type": "string",
            "format": "date-time",
            "description": "Select orders updated after this date-time"
          },
          "updatedUntil": {
            "type": "string",
            "format": "date-time",
            "description": "Select orders updated before this date-time"
          }
        }
      },
      "LineDispositionListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "required": [
              "dispositions"
            ],
            "properties": {
              "dispositions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LineDisposition"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/LineDispositionListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "LineDispositionType": {
        "type": "string",
        "enum": [
          "routed",
          "sent",
          "failed",
          "rejected",
          "fulfilled",
          "canceled",
          "unrouted",
          "unsent",
          "unfulfilled"
        ],
        "description": "Line disposition type"
      },
      "ListDeleteAction": {
        "type": "string",
        "description": "Action for list delete operation",
        "enum": [
          "list",
          "soft"
        ],
        "default": "list"
      },
      "ListResultOrderKeys": {
        "type": "object",
        "properties": {
          "keys": {
            "type": "string",
            "description": "Fields to return"
          },
          "order": {
            "type": "string",
            "description": "Sort order"
          }
        }
      },
      "Location": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "exceptionCategories": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "References to categories of exceptions related to the location"
              },
              "exceptions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Types of exceptions related to the location"
              },
              "integration": {
                "type": "string",
                "description": "Reference to integration that created an item"
              },
              "locationId": {
                "type": "string",
                "description": "Location ID"
              },
              "mergedWithLocationId": {
                "type": "string",
                "description": "For merged locations, indicates which locationId current location is merged with"
              }
            }
          },
          {
            "$ref": "#/components/schemas/LocationCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "LocationAddress": {
        "type": "object",
        "required": [
          "address1",
          "country"
        ],
        "properties": {
          "address1": {
            "description": "Address",
            "type": "string"
          },
          "country": {
            "description": "Country",
            "type": "string"
          },
          "address2": {
            "description": "Address Line 2",
            "type": "string"
          },
          "city": {
            "description": "City",
            "type": "string"
          },
          "company": {
            "description": "Company",
            "type": "string"
          },
          "email": {
            "description": "email",
            "type": "string"
          },
          "phone": {
            "description": "Phone",
            "type": "string"
          },
          "stateOrProvince": {
            "description": "State or Province",
            "type": "string"
          },
          "zipCodeOrPostalCode": {
            "description": "zipcode or postal code",
            "type": "string"
          }
        }
      },
      "LocationCarrierServiceConfig": {
        "type": "object",
        "description": "Per-carrier configuration for this location, optionally narrowed to a\nspecific service level. Two granularities are supported:\n  - Carrier-wide entry: omit `serviceLevelCode`. Applies as the default\n    for every service level offered by this carrier at this location.\n  - Service-level entry: provide `serviceLevelCode`. Applies only to\n    that specific (carrierCode, serviceLevelCode) combination.\nA carrier may have at most one carrier-wide entry plus zero or more\nservice-level entries. Uniqueness is enforced server-side: at most one\nentry per `carrierCode` with omitted/null `serviceLevelCode`, and at\nmost one per `(carrierCode, serviceLevelCode)` pair.\n",
        "required": [
          "carrierCode",
          "isEnabled"
        ],
        "properties": {
          "carrierCode": {
            "type": "string",
            "description": "Carrier identifier (e.g., \"ups\", \"fedex\", \"usps\"). Matches the\n`Shipment.carrier` convention.\n"
          },
          "isEnabled": {
            "type": "boolean",
            "description": "Whether this carrier (or carrier+service-level) is enabled at this\nlocation. Disabled entries persist for configuration history but\nare skipped at routing time.\n"
          },
          "carrierPickupCutoffScheduleId": {
            "type": "string",
            "description": "The referenced schedule's `windows` are interpreted as \"carrier\npickup is being accepted\" intervals: `start = day 00:00`,\n`end = day cutoffTime`. Days with no window mean no carrier\npickup that day. Omit/null = no override at this granularity\n(fall back to a more general config). Must have at most one\nwindow per day (enforced at assignment).\n"
          },
          "serviceLevelCode": {
            "type": "string",
            "description": "Optional service-level identifier (e.g., \"GROUND\", \"2DAY\"). Omit\n(or send null) to make this entry the carrier-wide default —\ncovers every service level for the named carrier. Provide a value\nto scope this entry to a single service level. The combination\n`(carrierCode, serviceLevelCode)` is unique within the array; the\ncarrier-wide form (`serviceLevelCode` omitted) is also unique per\n`carrierCode` and does not conflict with service-level entries.\n"
          }
        }
      },
      "LocationCreateData": {
        "type": "object",
        "required": [
          "name",
          "address"
        ],
        "properties": {
          "address": {
            "$ref": "#/components/schemas/LocationAddress"
          },
          "name": {
            "type": "string",
            "description": "Location Name"
          },
          "capacityLimits": {
            "$ref": "#/components/schemas/CapacityLimits"
          },
          "carrierPickupCutoffScheduleId": {
            "type": "string",
            "description": "The location's default carrier pickup cutoff schedule. The\nreferenced schedule's `windows` are interpreted as \"carrier\npickup is being accepted\" intervals: `start = day 00:00`,\n`end = day cutoffTime`. Days with no window mean no carrier\npickup that day. Omit/null for no default cutoff. Must have at\nmost one window per day (enforced at assignment).\n"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "excludeFromTotals": {
            "type": "boolean",
            "description": "Set to exclude location from calculating inventory totals"
          },
          "excludeFromTotalsFor": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Requestors of inventory totals for whom the location should be excluded from calculating totals"
          },
          "excludeInventoryEvents": {
            "type": "array",
            "description": "Set of events to be excluded from automated processing for this location",
            "items": {
              "type": "string"
            }
          },
          "externalSystem": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocationExternalSystem"
            }
          },
          "fulfillmentHoursScheduleId": {
            "type": "string",
            "description": "Reference to the Schedule whose `windows` define the hours during\nwhich this location can be expected to be actively fulfilling\norders (start = fulfillment begins, end = fulfillment ends,\nhalf-open). Multiple windows per day are valid (e.g., 9-12 +\n13-17 with a midday break). This is deliberately *fulfillment*\nhours, not \"operating hours\": operating hours typically describe\nwhen a building is publicly/physically open, whereas a location\nmay be closed to the public and still be actively fulfilling — and\nit is that fulfillment window we generally care about (e.g. for\nrouting and EDD). Omit or set null for \"no fulfillment hours\nconfigured.\"\n"
          },
          "fulfillmentIntegrationId": {
            "type": "string",
            "description": "Set if this is a fulfillment location"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "inventoryIntegrationId": {
            "type": "string",
            "description": "Set if inventory source for this location is different from fulfillmentIntegrationId"
          },
          "inventoryNotTracked": {
            "type": "boolean",
            "description": "Do not track inventory flag"
          },
          "locationCarrierServiceConfigs": {
            "type": "array",
            "description": "Per-carrier (and optionally per-service-level) configuration\noverrides for this location. See LocationCarrierServiceConfig\nfor entry semantics. A carrier may have one carrier-wide entry\n(omitted `serviceLevelCode`) plus zero or more service-level\nentries.\n",
            "items": {
              "$ref": "#/components/schemas/LocationCarrierServiceConfig"
            }
          },
          "preserveBundles": {
            "type": "boolean",
            "description": "Set if shipments to this location should have lineItems referring to bundles kept intact"
          },
          "routingPaused": {
            "type": "boolean",
            "description": "Indicates the location is paused from routing"
          },
          "routingPausedRanges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimeRange"
            },
            "description": "Time intervals during which routing is paused"
          },
          "sourceDoc": {
            "$ref": "#/components/schemas/SourceDoc"
          },
          "status": {
            "$ref": "#/components/schemas/LocationStatus"
          },
          "storeId": {
            "type": "string",
            "description": "Reference to the store this location belongs to"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "virtualCommit": {
            "type": "boolean"
          },
          "virtualCommitSources": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "LocationCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "location": {
                "$ref": "#/components/schemas/LocationCreateData"
              }
            }
          }
        ]
      },
      "LocationCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/LocationCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "LocationCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "location": {
                "$ref": "#/components/schemas/Location"
              }
            }
          }
        ]
      },
      "LocationExternalSystem": {
        "type": "object",
        "description": "External System",
        "properties": {
          "integrationId": {
            "type": "string",
            "description": "External System Integration Id"
          },
          "locationValue": {
            "type": "string",
            "description": "External System Location Value"
          }
        }
      },
      "LocationFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "LocationFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "location": {
                "$ref": "#/components/schemas/Location"
              }
            }
          }
        ]
      },
      "LocationGroup": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "groupId": {
                "type": "string",
                "description": "Location Group ID",
                "readOnly": true
              },
              "status": {
                "type": "string",
                "enum": [
                  "active",
                  "deleted"
                ],
                "readOnly": true
              }
            }
          },
          {
            "$ref": "#/components/schemas/LocationGroupCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "LocationGroupCreateData": {
        "type": "object",
        "required": [
          "groupName",
          "locationIds"
        ],
        "properties": {
          "groupName": {
            "type": "string",
            "description": "Group name"
          },
          "locationIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Non-empty ordered list of locationIds"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          }
        }
      },
      "LocationGroupCreateResult": {
        "type": "object",
        "properties": {
          "conflict": {
            "type": "object",
            "description": "Duplicate key error details, if failed"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Error details if failed"
          },
          "location_group": {
            "$ref": "#/components/schemas/LocationGroup"
          },
          "message": {
            "type": "string",
            "description": "Error message if failed"
          },
          "status": {
            "type": "string",
            "enum": [
              "submitted",
              "failed"
            ]
          }
        }
      },
      "LocationGroupFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "LocationGroupFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "location_group": {
                "$ref": "#/components/schemas/LocationGroup"
              }
            }
          }
        ]
      },
      "LocationGroupListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/LocationGroupListFilter"
              }
            }
          }
        ]
      },
      "LocationGroupListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "description": "Location Groups Filter",
            "properties": {
              "groupId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by 'groupId' list"
              },
              "groupName": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by 'groupName' list (regexp format - `\"/.../\"` or `\"/.../i\"`)"
              },
              "locationId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by 'locationId' list"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              }
            }
          }
        ]
      },
      "LocationGroupListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/LocationGroupListFilter"
              },
              "location_groups": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LocationGroup"
                }
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "LocationGroupUpdateData": {
        "type": "object",
        "properties": {
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "groupName": {
            "type": "string",
            "description": "Group name"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "locationIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Non-empty ordered list of locationIds"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          }
        }
      },
      "LocationGroupUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "location_group": {
                "$ref": "#/components/schemas/LocationGroupUpdateData"
              }
            }
          }
        ]
      },
      "LocationGroupUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/LocationGroupUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "LocationGroupUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "location_group": {
                "$ref": "#/components/schemas/LocationGroup"
              }
            }
          }
        ]
      },
      "LocationGroupsCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "location_groups": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LocationGroupCreateResult"
                }
              }
            }
          }
        ]
      },
      "LocationGroupsCreateRequest": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/LocationGroupCreateData"
        },
        "xml": {
          "name": "request",
          "wrapped": true
        },
        "maxItems": 10
      },
      "LocationGroupsCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "location_groups": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LocationGroupCreateResult"
                }
              }
            }
          }
        ]
      },
      "LocationListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/LocationListFilter"
              }
            }
          }
        ]
      },
      "LocationListFilter": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int32",
            "description": "Return at most this many list items"
          },
          "groups": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "groupId list"
          },
          "keys": {
            "type": "string",
            "description": "Fields of locations to return",
            "default": "inventoryNotTracked,locationId,status,name,address,excludeFromTotals,createdAt,updatedAt,orgKey"
          },
          "pagination": {
            "type": "string",
            "enum": [
              "disabled"
            ],
            "description": "Exclude pagination info from the response"
          },
          "skip": {
            "type": "integer",
            "format": "int32",
            "description": "Skip this many list items"
          }
        }
      },
      "LocationListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "required": [
              "dispositions"
            ],
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/LocationListFilter"
              },
              "locations": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Location"
                }
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "LocationStatus": {
        "type": "string",
        "description": "Location status",
        "enum": [
          "active",
          "inactive",
          "pending",
          "merged",
          "deleted"
        ]
      },
      "LocationUpdateAddress": {
        "type": "object",
        "properties": {
          "address1": {
            "description": "Address",
            "type": "string"
          },
          "address2": {
            "description": "Address Line 2",
            "type": "string"
          },
          "city": {
            "description": "City",
            "type": "string"
          },
          "company": {
            "description": "Company",
            "type": "string"
          },
          "country": {
            "description": "Country",
            "type": "string"
          },
          "email": {
            "description": "email",
            "type": "string"
          },
          "phone": {
            "description": "Phone",
            "type": "string"
          },
          "stateOrProvince": {
            "description": "State or Province",
            "type": "string"
          },
          "zipCodeOrPostalCode": {
            "description": "zipcode or postal code",
            "type": "string"
          }
        }
      },
      "LocationUpdateData": {
        "type": "object",
        "properties": {
          "address": {
            "$ref": "#/components/schemas/LocationUpdateAddress"
          },
          "capacityLimits": {
            "$ref": "#/components/schemas/CapacityLimits"
          },
          "carrierPickupCutoffScheduleId": {
            "type": "string",
            "nullable": true,
            "description": "The location's default carrier pickup cutoff schedule. Send\nnull to clear; omit to leave unchanged. Must have at most one\nwindow per day (enforced at assignment).\n"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "excludeFromTotals": {
            "type": "boolean",
            "description": "Set to exclude location from calculating inventory totals"
          },
          "excludeFromTotalsFor": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Requestors of inventory totals for whom the location should be excluded from calculating totals",
            "nullable": true
          },
          "excludeInventoryEvents": {
            "type": "array",
            "description": "Set of events to be excluded from automated processing for this location",
            "items": {
              "type": "string"
            }
          },
          "externalSystem": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LocationExternalSystem"
            }
          },
          "fulfillmentHoursScheduleId": {
            "type": "string",
            "nullable": true,
            "description": "Send null to clear the reference; omit to leave unchanged. See\nLocationCreateData for the field's full semantics.\n"
          },
          "fulfillmentIntegrationId": {
            "type": "string",
            "nullable": true,
            "description": "Set if this is a fulfillment location"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "inventoryIntegrationId": {
            "type": "string",
            "nullable": true,
            "description": "Set if inventory source for this location is different from fulfillmentIntegrationId"
          },
          "inventoryNotTracked": {
            "type": "boolean",
            "nullable": true,
            "description": "Do not track inventory flag"
          },
          "locationCarrierServiceConfigs": {
            "type": "array",
            "nullable": true,
            "description": "Per-carrier (and optionally per-service-level) configuration\noverrides. Sending an array fully replaces the existing list;\nsend null to clear; omit to leave unchanged.\n",
            "items": {
              "$ref": "#/components/schemas/LocationCarrierServiceConfig"
            }
          },
          "mergedWithLocationId": {
            "type": "string",
            "description": "For merged locations, indicates which locationId current location is merged with"
          },
          "name": {
            "type": "string",
            "description": "Location Name"
          },
          "preserveBundles": {
            "type": "boolean",
            "description": "Set if shipments to this location should have lineItems referring to bundles kept intact"
          },
          "routingPaused": {
            "type": "boolean",
            "description": "Indicates the location is paused from routing",
            "nullable": true
          },
          "routingPausedRanges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimeRange"
            },
            "description": "Time intervals during which routing is paused",
            "nullable": true
          },
          "sourceDoc": {
            "nullable": true,
            "$ref": "#/components/schemas/SourceDoc"
          },
          "status": {
            "$ref": "#/components/schemas/LocationStatus"
          },
          "storeId": {
            "type": "string",
            "description": "Reference to the store this location belongs to"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "virtualCommit": {
            "type": "boolean",
            "nullable": true
          },
          "virtualCommitSources": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        }
      },
      "LocationUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "location": {
                "$ref": "#/components/schemas/LocationUpdateData"
              }
            }
          }
        ]
      },
      "LocationUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/LocationUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "LocationUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "location": {
                "$ref": "#/components/schemas/Location"
              }
            }
          }
        ]
      },
      "LocationsDeleteError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/LocationsDeleteFilter"
              }
            }
          }
        ]
      },
      "LocationsDeleteFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/LocationsFilter"
          },
          {
            "type": "object",
            "description": "Delete Locations Filter",
            "properties": {
              "integration": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Locations of these integrations"
              },
              "orgMode": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrganizationMode"
                },
                "description": "Locations assigned these orgModes"
              }
            }
          }
        ]
      },
      "LocationsDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "deleted": {
                "type": "integer",
                "description": "Number of deleted locations"
              },
              "filters": {
                "$ref": "#/components/schemas/LocationsDeleteFilter"
              },
              "locations": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Location"
                }
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "LocationsFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Locations Filter",
            "properties": {
              "deleted": {
                "type": "boolean",
                "description": "Soft deleted locations"
              },
              "excludeFromTotals": {
                "type": "boolean",
                "description": "Locations excluded from calculating inventory totals"
              },
              "locationId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Locations by list of locationId"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LocationStatus"
                }
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              }
            }
          }
        ]
      },
      "LocationsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/LocationsListFilter"
              }
            }
          }
        ]
      },
      "LocationsListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/LocationsFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "description": "List Locations Filter",
            "properties": {
              "email": {
                "type": "string",
                "description": "Retrieve locations by email (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
              },
              "exceptionCategoryId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve locations by list of categories of the location related exceptions"
              },
              "exceptionType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve locations by list of types of the location related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)"
              },
              "extIntegrationId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve locations by list of external integration ids"
              },
              "extLocationId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve locations by list of external location ids"
              },
              "hasSourceDoc": {
                "type": "boolean",
                "description": "Retrieve locations containing a source document"
              },
              "integration": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve locations by list of integrations that created these locations"
              },
              "inventoryNotTracked": {
                "type": "boolean",
                "description": "Retrieve locations by inventoryNotTracked value (default - any)"
              },
              "mergedWithLocationId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve locations by list of mergedWithLocationId"
              },
              "name": {
                "type": "string",
                "description": "Retrieve locations by name (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
              },
              "phone": {
                "type": "string",
                "description": "Retrieve locations by phone (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
              },
              "storeId": {
                "type": "string",
                "description": "Retrieve locations belonging to a specific store"
              }
            }
          }
        ]
      },
      "LocationsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/LocationsListFilter"
              },
              "locations": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Location"
                }
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "LookupError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "LookupObject": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "lookupId": {
                "type": "string",
                "description": "Lookup Object ID"
              }
            }
          },
          {
            "$ref": "#/components/schemas/LookupObjectCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "LookupObjectCounter": {
        "type": "object",
        "properties": {
          "lookupType": {
            "type": "string",
            "description": "Type of the lookup objects"
          },
          "objectCount": {
            "type": "integer",
            "description": "Number of objects of the `lookupType` type"
          },
          "publicObjectCount": {
            "type": "integer",
            "description": "Number of public objects of the `lookupType` type"
          }
        }
      },
      "LookupObjectCreateData": {
        "type": "object",
        "required": [
          "lookupType",
          "expression",
          "expressionType"
        ],
        "properties": {
          "expression": {
            "type": "string",
            "description": "Expression representing the lookup keys (`lookupKey`) that the object matches to. \nThe format and meaning depend on the `expressionType` value.\n"
          },
          "expressionType": {
            "$ref": "#/components/schemas/LookupObjectExpressionType"
          },
          "lookupType": {
            "type": "string",
            "description": "Type of the lookup object"
          },
          "hidden": {
            "type": "boolean",
            "description": "Set the true to exclude the object from the responses to the \"List Lookup Objects\" queries \n(- the true value can only be applied to public objects).\n"
          },
          "isPublic": {
            "type": "boolean",
            "description": "Public object indicator (default - false)"
          },
          "value": {
            "type": "object",
            "description": "Lookup object value (- any type). \nIt should be undefined in requests if `expressionType` is equal to `\"function\"`. \nIn the `lookup` query response, if a functional lookup-object is found as matching, \nthe value returned by the conversion function will be set in the `value` field.\n"
          }
        }
      },
      "LookupObjectCreateResult": {
        "type": "object",
        "properties": {
          "conflict": {
            "type": "object",
            "description": "Duplicate key error details, if failed"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Error details if failed"
          },
          "lookupObject": {
            "$ref": "#/components/schemas/LookupObject"
          },
          "message": {
            "type": "string",
            "description": "Error message if failed"
          },
          "status": {
            "type": "string",
            "enum": [
              "submitted",
              "failed"
            ]
          }
        }
      },
      "LookupObjectExpressionType": {
        "type": "string",
        "enum": [
          "literal",
          "regexp",
          "function"
        ],
        "description": "Type of the lookup keys expression (- `expression`):\n- `\"literal\"` - indicates the expression is exact value of matching key\n- `\"regexp\"` - indicates the expression is a regexp of matching keys (regexp string format: `\"/.../\"` or `\"/.../i\"`)\n- `\"function\"` - indicates the expression is identifier of \"conversion function\" that returns some specific value (- not undefined & not null) when applied to the matching keys (identifier format: `\"{functionId}\"` or `\"name:{name}\"`, see \"Conversion Functions / Invoke Function\")\n"
      },
      "LookupObjectFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "LookupObjectFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "lookupObject": {
                "$ref": "#/components/schemas/LookupObject"
              }
            }
          }
        ]
      },
      "LookupObjectListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/LookupObjectListFilter"
              }
            }
          }
        ]
      },
      "LookupObjectListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "description": "Lookup Objects Filter",
            "properties": {
              "expression": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by `expression` list"
              },
              "expressionType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by `expressionType` list"
              },
              "isPublic": {
                "type": "boolean",
                "description": "The `true` selects public objects only, `false` - non-public ones. By default, any of them."
              },
              "lookupId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by `lookupId` list"
              },
              "lookupType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select by `lookupType` list"
              },
              "types": {
                "type": "boolean",
                "description": "Set the true to return only `lookupTypes` array (default or false -- return `lookupObjects` array and optionally `pagination`)"
              }
            }
          }
        ]
      },
      "LookupObjectListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/LookupObjectListFilter"
              },
              "lookupObjects": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LookupObject"
                },
                "description": "It is returned only if the `types` parameter has the value `false' or is not defined"
              },
              "lookupTypes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LookupObjectCounter"
                },
                "description": "It is returned only if the `types` parameter has the value `true'"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "LookupObjectUpdateData": {
        "type": "object",
        "properties": {
          "expression": {
            "type": "string",
            "description": "Expression representing the lookup keys (`lookupKey`) that the object matches to. \nThe format and meaning depend on the `expressionType` value.\n"
          },
          "expressionType": {
            "$ref": "#/components/schemas/LookupObjectExpressionType"
          },
          "hidden": {
            "type": "boolean",
            "description": "Set the true to exclude the object from the responses to the \"List Lookup Objects\" queries \n(- the true value can only be applied to public objects).\n"
          },
          "lookupType": {
            "type": "string",
            "description": "Type of the lookup object"
          },
          "value": {
            "type": "object",
            "description": "Lookup object value (- any type). \nSetting this field is not supported if the resulting `expressionType` is `\"function\"`.\n",
            "nullable": true
          }
        }
      },
      "LookupObjectUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "lookupObject": {
                "$ref": "#/components/schemas/LookupObjectUpdateData"
              }
            }
          }
        ]
      },
      "LookupObjectUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/LookupObjectUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "LookupObjectUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "lookupObject": {
                "$ref": "#/components/schemas/LookupObject"
              }
            }
          }
        ]
      },
      "LookupObjectsCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "lookupObjects": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LookupObjectCreateResult"
                }
              }
            }
          }
        ]
      },
      "LookupObjectsCreateRequest": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/LookupObjectCreateData"
        },
        "xml": {
          "name": "request",
          "wrapped": true
        },
        "maxItems": 100
      },
      "LookupObjectsCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "lookupObjects": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/LookupObjectCreateResult"
                }
              }
            }
          }
        ]
      },
      "LookupResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "lookupKey": {
                "type": "string",
                "description": "Copy of the input lookup key"
              },
              "lookupObject": {
                "$ref": "#/components/schemas/LookupObject"
              }
            }
          }
        ]
      },
      "Mapping": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "apikeyId": {
                "type": "string",
                "description": "Id of apikey modified mapping"
              },
              "connectorId": {
                "type": "string",
                "description": "Connector that uses this mapping"
              },
              "mappingId": {
                "type": "string",
                "description": "Mapping ID"
              },
              "scope": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "readOnly": true,
                "description": "Audience restriction inherited from the connector (honored only when isPublic is true). See Connector.scope."
              },
              "userId": {
                "type": "string",
                "description": "Id of user modified mapping"
              },
              "version": {
                "type": "number",
                "description": "Mapping version"
              },
              "visibility": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ConnectorVisibility"
                  }
                ],
                "readOnly": true
              }
            }
          },
          {
            "$ref": "#/components/schemas/MappingCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "MappingCreateData": {
        "type": "object",
        "required": [
          "isPublic",
          "description"
        ],
        "properties": {
          "description": {
            "type": "string",
            "description": "Description"
          },
          "isPublic": {
            "type": "boolean",
            "description": "Public mapping indicator"
          },
          "documentationURLs": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "mappings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MappingRule"
            }
          },
          "originId": {
            "type": "string"
          },
          "readme": {
            "type": "string"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "uuid": {
            "type": "string",
            "description": "UUID (generated if not provided)"
          }
        }
      },
      "MappingCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "mapping": {
                "$ref": "#/components/schemas/MappingCreateData"
              }
            }
          }
        ]
      },
      "MappingCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/MappingCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "MappingCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "mapping": {
                "$ref": "#/components/schemas/Mapping"
              }
            }
          }
        ]
      },
      "MappingFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "MappingFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "mapping": {
                "$ref": "#/components/schemas/Mapping"
              }
            }
          }
        ]
      },
      "MappingRule": {
        "type": "object",
        "description": "Mapping Rule",
        "required": [
          "name",
          "enabled",
          "source",
          "target"
        ],
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Is Mapping Rule Enabled"
          },
          "name": {
            "type": "string",
            "description": "Mapping Rule Name"
          },
          "source": {
            "type": "string",
            "description": "Mapping Rule Source"
          },
          "target": {
            "type": "string",
            "description": "Mapping Rule Target"
          },
          "default": {
            "type": "object",
            "description": "Mapping Rule Source Default Value if Source is Missing"
          },
          "desc": {
            "type": "string",
            "description": "Explanation of the mapping rule"
          },
          "lookup": {
            "$ref": "#/components/schemas/MappingRuleLookup"
          },
          "missing": {
            "type": "object",
            "description": "Mapping Rule Source Value if Source is Missing"
          },
          "options": {
            "type": "string",
            "description": "Mapping rule config options (default - normal)",
            "enum": [
              "normal",
              "hidden",
              "readonly",
              "restricted",
              "sensitive"
            ]
          },
          "readme": {
            "type": "string",
            "description": "Warning about mapping rule changes"
          },
          "require": {
            "type": "boolean",
            "description": "Is Mapping Rule Source Required"
          },
          "type": {
            "type": "string",
            "description": "Mapping Rule Target Value Type",
            "enum": [
              "string",
              "number",
              "boolean",
              "date"
            ]
          }
        }
      },
      "MappingRuleLookup": {
        "type": "object",
        "description": "Mapping rule lookup definition"
      },
      "MappingUpdateData": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "Description"
          },
          "documentationURLs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "isPublic": {
            "type": "boolean",
            "description": "Public mapping indicator"
          },
          "mappings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MappingUpdateRule"
            }
          },
          "originId": {
            "type": "string"
          },
          "readme": {
            "type": "string",
            "nullable": true
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags",
            "nullable": true
          }
        }
      },
      "MappingUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "mapping": {
                "$ref": "#/components/schemas/MappingUpdateData"
              }
            }
          }
        ]
      },
      "MappingUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/MappingUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "MappingUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "mapping": {
                "$ref": "#/components/schemas/Mapping"
              }
            }
          }
        ]
      },
      "MappingUpdateRule": {
        "type": "object",
        "description": "Mapping Rule",
        "properties": {
          "default": {
            "type": "object",
            "description": "Mapping Rule Source Default Value if Source is Missing"
          },
          "desc": {
            "type": "string",
            "description": "Explanation of the mapping rule"
          },
          "enabled": {
            "type": "boolean",
            "description": "Is Mapping Rule Enabled"
          },
          "lookup": {
            "$ref": "#/components/schemas/MappingRuleLookup"
          },
          "missing": {
            "type": "object",
            "description": "Mapping Rule Source Value if Source is Missing"
          },
          "name": {
            "type": "string",
            "description": "Mapping Rule Name"
          },
          "options": {
            "type": "string",
            "description": "Mapping rule config options (default - normal)",
            "enum": [
              "normal",
              "hidden",
              "readonly",
              "restricted",
              "sensitive"
            ]
          },
          "readme": {
            "type": "string",
            "description": "Warning about mapping rule changes"
          },
          "require": {
            "type": "boolean",
            "description": "Is Mapping Rule Source Required"
          },
          "source": {
            "type": "string",
            "description": "Mapping Rule Source"
          },
          "target": {
            "type": "string",
            "description": "Mapping Rule Target"
          },
          "type": {
            "type": "string",
            "description": "Mapping Rule Target Value Type",
            "enum": [
              "string",
              "number",
              "boolean",
              "date"
            ]
          }
        }
      },
      "MappingsDeleteError": {
        "type": "object",
        "xml": {
          "name": "response"
        },
        "required": [
          "success",
          "code"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "description": "Copy of HTTP status",
            "format": "int32",
            "minimum": 400,
            "example": 404
          },
          "success": {
            "type": "boolean",
            "description": "Always false",
            "enum": [
              false
            ],
            "example": false
          },
          "conflict": {
            "type": "object",
            "description": "Details of the conflicting state, when the failure is a 409. The shape depends on the endpoint — a duplicate-key failure carries the offending keys, while /shipping_requests/{id}/request-labels carries `labels` (the labels the shipment already holds), `existingExtLabelIds` (the extLabelIds already claimed) or `refundedExtLabelIds` (extLabelIds belonging to refunded labels, which cannot be reused)."
          },
          "errors": {
            "type": "array",
            "description": "Error detail",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "string",
            "description": "Error message"
          },
          "vendorCode": {
            "type": "string",
            "description": "Vendor-specific error code passed through from a downstream connector/carrier (e.g. EasyPost \"SHIPMENT.REFUND.UNAVAILABLE\"). Present only when the failure originated at the vendor."
          }
        }
      },
      "MappingsDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "message": {
                "type": "string",
                "example": "OK (but NYI)"
              }
            }
          }
        ]
      },
      "MappingsFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Mappings Filter",
            "properties": {
              "connectorId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Mappings by list of connectorId"
              },
              "desc": {
                "type": "string",
                "description": "Fetch mappings by description (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
              },
              "mappingId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Mappings by list of mappingId"
              },
              "mappingsTarget": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Mappings by list of mappings[].target"
              },
              "originId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Mappings by list of originId"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              },
              "uuid": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Mappings by list of UUIDs"
              },
              "visibility": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ConnectorVisibility"
                },
                "description": "Retrieve mappings by computed visibility"
              }
            }
          }
        ]
      },
      "MappingsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/MappingsListFilter"
              }
            }
          }
        ]
      },
      "MappingsListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/MappingsFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys",
            "description": "List Mappings Filter"
          }
        ]
      },
      "MappingsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/MappingsListFilter"
              },
              "mappings": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Mapping"
                }
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "MappingsMergeMode": {
        "type": "string",
        "enum": [
          "origin",
          "none"
        ]
      },
      "Methods": {
        "type": "object",
        "description": "Access Methods Allowed",
        "properties": {
          "account_payment": {
            "$ref": "#/components/schemas/Permissions"
          },
          "accounts": {
            "$ref": "#/components/schemas/Permissions"
          },
          "apikey": {
            "$ref": "#/components/schemas/Permissions"
          },
          "arrivals": {
            "$ref": "#/components/schemas/Permissions"
          },
          "automation_rules": {
            "$ref": "#/components/schemas/Permissions"
          },
          "automation_runs": {
            "$ref": "#/components/schemas/Permissions"
          },
          "automations": {
            "$ref": "#/components/schemas/Permissions"
          },
          "catalog_products": {
            "$ref": "#/components/schemas/Permissions"
          },
          "catalogs": {
            "$ref": "#/components/schemas/Permissions"
          },
          "changelog": {
            "$ref": "#/components/schemas/Permissions"
          },
          "connectors": {
            "$ref": "#/components/schemas/Permissions"
          },
          "contacts": {
            "$ref": "#/components/schemas/Permissions"
          },
          "convert": {
            "type": "string",
            "enum": [
              "c"
            ]
          },
          "custom_objects": {
            "$ref": "#/components/schemas/Permissions"
          },
          "customers": {
            "$ref": "#/components/schemas/Permissions"
          },
          "cycle_count_entries": {
            "$ref": "#/components/schemas/Permissions"
          },
          "cycle_counts": {
            "$ref": "#/components/schemas/Permissions"
          },
          "delivery_promises": {
            "$ref": "#/components/schemas/Permissions"
          },
          "entity_filters": {
            "$ref": "#/components/schemas/Permissions"
          },
          "entity_schemas": {
            "$ref": "#/components/schemas/Permissions"
          },
          "events": {
            "$ref": "#/components/schemas/Permissions"
          },
          "exception_categories": {
            "$ref": "#/components/schemas/Permissions"
          },
          "exception_filters": {
            "$ref": "#/components/schemas/Permissions"
          },
          "exceptions": {
            "$ref": "#/components/schemas/Permissions"
          },
          "fulfillment_rates": {
            "$ref": "#/components/schemas/Permissions"
          },
          "fulfillments": {
            "$ref": "#/components/schemas/Permissions"
          },
          "functions": {
            "$ref": "#/components/schemas/Permissions"
          },
          "integration_actions": {
            "$ref": "#/components/schemas/Permissions"
          },
          "integration_state": {
            "$ref": "#/components/schemas/Permissions"
          },
          "integrations": {
            "$ref": "#/components/schemas/Permissions"
          },
          "inventory": {
            "$ref": "#/components/schemas/Permissions"
          },
          "inventory_groups": {
            "$ref": "#/components/schemas/Permissions"
          },
          "inventoryrules": {
            "$ref": "#/components/schemas/Permissions"
          },
          "invoices": {
            "$ref": "#/components/schemas/Permissions"
          },
          "jobs": {
            "$ref": "#/components/schemas/Permissions"
          },
          "labels": {
            "$ref": "#/components/schemas/Permissions"
          },
          "location_groups": {
            "$ref": "#/components/schemas/Permissions"
          },
          "locations": {
            "$ref": "#/components/schemas/Permissions"
          },
          "lookup_objects": {
            "$ref": "#/components/schemas/Permissions"
          },
          "mappings": {
            "$ref": "#/components/schemas/Permissions"
          },
          "metrics": {
            "$ref": "#/components/schemas/Permissions"
          },
          "notes": {
            "$ref": "#/components/schemas/Permissions"
          },
          "order_routing_runs": {
            "$ref": "#/components/schemas/Permissions"
          },
          "order_routings": {
            "$ref": "#/components/schemas/Permissions"
          },
          "orders": {
            "$ref": "#/components/schemas/Permissions"
          },
          "organizations": {
            "$ref": "#/components/schemas/Permissions"
          },
          "payments": {
            "$ref": "#/components/schemas/Permissions"
          },
          "pricing": {
            "$ref": "#/components/schemas/Permissions"
          },
          "privacy": {
            "$ref": "#/components/schemas/Permissions"
          },
          "products": {
            "$ref": "#/components/schemas/Permissions"
          },
          "purchases": {
            "$ref": "#/components/schemas/Permissions"
          },
          "receipts": {
            "$ref": "#/components/schemas/Permissions"
          },
          "references": {
            "$ref": "#/components/schemas/PermissionsReadOnly"
          },
          "refunds": {
            "$ref": "#/components/schemas/Permissions"
          },
          "returns": {
            "$ref": "#/components/schemas/Permissions"
          },
          "roles": {
            "$ref": "#/components/schemas/Permissions"
          },
          "routings": {
            "$ref": "#/components/schemas/Permissions"
          },
          "schedules": {
            "$ref": "#/components/schemas/Permissions"
          },
          "shipment_boxes": {
            "$ref": "#/components/schemas/Permissions"
          },
          "shipments": {
            "$ref": "#/components/schemas/Permissions"
          },
          "shipping_methods": {
            "$ref": "#/components/schemas/Permissions"
          },
          "statement_transactions": {
            "$ref": "#/components/schemas/Permissions"
          },
          "statements": {
            "$ref": "#/components/schemas/Permissions"
          },
          "suppliers": {
            "$ref": "#/components/schemas/Permissions"
          },
          "trackings": {
            "$ref": "#/components/schemas/Permissions"
          },
          "transfers": {
            "$ref": "#/components/schemas/Permissions"
          },
          "usagedata": {
            "$ref": "#/components/schemas/Permissions"
          },
          "usageplans": {
            "$ref": "#/components/schemas/Permissions"
          },
          "users": {
            "$ref": "#/components/schemas/Permissions"
          },
          "vendor_schemas": {
            "$ref": "#/components/schemas/Permissions"
          },
          "webhooks": {
            "$ref": "#/components/schemas/Permissions"
          }
        }
      },
      "MethodsUpdateData": {
        "type": "object",
        "description": "Access Methods Allowed",
        "properties": {
          "account_payment": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "accounts": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "apikey": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "arrivals": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "automation_rules": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "automation_runs": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "automations": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "catalog_products": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "catalogs": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "changelog": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "connectors": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "contacts": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "convert": {
            "type": "string",
            "nullable": true,
            "enum": [
              "c"
            ]
          },
          "custom_objects": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "customers": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "cycle_count_entries": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "cycle_counts": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "delivery_promises": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "entity_filters": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "entity_schemas": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "events": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "exception_categories": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "exception_filters": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "exceptions": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "fulfillment_rates": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "fulfillments": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "functions": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "integration_actions": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "integration_state": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "integrations": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "inventory": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "inventory_groups": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "inventoryrules": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "invoices": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "jobs": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "labels": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "location_groups": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "locations": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "lookup_objects": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "mappings": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "metrics": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "notes": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "order_routing_runs": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "order_routings": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "orders": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "organizations": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "payments": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "pricing": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "privacy": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "products": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "purchases": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "receipts": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "references": {
            "$ref": "#/components/schemas/PermissionsReadOnlyNullable"
          },
          "refunds": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "returns": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "roles": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "routings": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "schedules": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "shipment_boxes": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "shipments": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "shipping_methods": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "statement_transactions": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "statements": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "suppliers": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "trackings": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "transfers": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "usagedata": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "usageplans": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "users": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "vendor_schemas": {
            "$ref": "#/components/schemas/PermissionsNullable"
          },
          "webhooks": {
            "$ref": "#/components/schemas/PermissionsNullable"
          }
        }
      },
      "MetricDataPoint": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "pointId": {
                "type": "string",
                "description": "Auto Generated"
              }
            }
          },
          {
            "$ref": "#/components/schemas/MetricDataPointCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "MetricDataPointCreateData": {
        "type": "object",
        "xml": {
          "name": "dataPoint"
        },
        "required": [
          "date",
          "name",
          "value"
        ],
        "properties": {
          "date": {
            "type": "string",
            "format": "date",
            "description": "Date stamp (- day of year)"
          },
          "name": {
            "type": "string",
            "description": "Name of metric. Format - '{metric_type}[@{entity_filter}]':\n- {metric_type} identifies a numerical characteristic of an entity collection\n- {entity_filter} identifies a sub-collection of entities that is characterized by the metric (- optional part)\n"
          },
          "value": {
            "type": "number",
            "description": "Metric value"
          }
        }
      },
      "MetricDataPointCreateResult": {
        "type": "object",
        "properties": {
          "conflict": {
            "type": "object",
            "description": "Duplicate key error details, if failed"
          },
          "dataPoint": {
            "$ref": "#/components/schemas/MetricDataPoint"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Error details if failed"
          },
          "message": {
            "type": "string",
            "description": "Error message if failed"
          },
          "status": {
            "type": "string",
            "enum": [
              "submitted",
              "failed"
            ]
          }
        }
      },
      "MetricDataPointFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "MetricDataPointFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "dataPoint": {
                "$ref": "#/components/schemas/MetricDataPoint"
              }
            }
          }
        ]
      },
      "MetricDataPointsCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "dataPoints": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/MetricDataPointCreateResult"
                }
              }
            }
          }
        ]
      },
      "MetricDataPointsCreateRequest": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/MetricDataPointCreateData"
        },
        "xml": {
          "name": "request",
          "wrapped": true
        },
        "maxItems": 100
      },
      "MetricDataPointsCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "dataPoints": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/MetricDataPointCreateResult"
                }
              }
            }
          }
        ]
      },
      "MetricDataPointsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/MetricDataPointsListFilter"
              }
            }
          }
        ]
      },
      "MetricDataPointsListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Metrics Filter",
            "properties": {
              "after": {
                "type": "string",
                "format": "date",
                "description": "Select data points after this date"
              },
              "agg": {
                "type": "string",
                "enum": [
                  "avg",
                  "count",
                  "max",
                  "min",
                  "sum"
                ],
                "description": "Return aggregations for specified groups of selected points. \nThe grouping type is specified by 'aggBy'. The 'agg' specifies aggregation \nmethod. With specified 'aggBy', the default 'agg' is `count`.\n"
              },
              "aggBy": {
                "type": "string",
                "enum": [
                  "name",
                  "type"
                ],
                "description": "Return aggregations for specified groups of selected points. \nThe aggregation method is specified by 'agg'. The 'aggBy' specifies \ngrouping method, - either by metric name (-`name`) or metric type (`type`). \nWith specified 'agg', the default 'aggBy' is `name`. \n"
              },
              "before": {
                "type": "string",
                "format": "date",
                "description": "Select data points before this date"
              },
              "date": {
                "type": "array",
                "items": {
                  "type": "string",
                  "format": "date"
                },
                "description": "Select data points by `date` list"
              },
              "name": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select data points by `name` list"
              },
              "pointId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select data points by `pointId` list"
              }
            }
          }
        ]
      },
      "MetricDataPointsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "required": [
              "dataPoints"
            ],
            "properties": {
              "dataPoints": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/MetricDataPoint"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/MetricDataPointsListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "NameValue": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        }
      },
      "Note": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "hasPostValue": {
                "type": "boolean",
                "description": "Indicates the postValue is defined"
              },
              "hasPreValue": {
                "type": "boolean",
                "description": "Indicates the preValue is defined"
              },
              "noteId": {
                "type": "string",
                "description": "Note Id"
              },
              "userId": {
                "type": "string",
                "description": "Author"
              }
            }
          },
          {
            "$ref": "#/components/schemas/NoteCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "NoteAction": {
        "type": "string",
        "description": "Action enum",
        "enum": [
          "create",
          "update",
          "delete"
        ]
      },
      "NoteChangeSource": {
        "type": "string",
        "description": "Change source",
        "enum": [
          "ui",
          "api",
          "other"
        ]
      },
      "NoteChangeType": {
        "type": "string",
        "description": "Change type",
        "enum": [
          "config",
          "comment",
          "other"
        ]
      },
      "NoteCreateData": {
        "type": "object",
        "required": [
          "entityId",
          "entityType",
          "changeSource",
          "changeType"
        ],
        "properties": {
          "changeSource": {
            "$ref": "#/components/schemas/NoteChangeSource"
          },
          "changeType": {
            "$ref": "#/components/schemas/NoteChangeType"
          },
          "entityId": {
            "type": "string",
            "description": "Target entity ID"
          },
          "entityType": {
            "type": "string",
            "description": "Target entity type"
          },
          "action": {
            "$ref": "#/components/schemas/NoteAction"
          },
          "eventId": {
            "type": "string",
            "description": "Event ID associated with note"
          },
          "extEntityId": {
            "type": "string",
            "description": "Target entity external ID"
          },
          "generatedText": {
            "type": "string",
            "description": "Generated summary of changes"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "isPublic": {
            "type": "boolean",
            "description": "Public note indicator (default - true)"
          },
          "postValue": {
            "type": "object",
            "description": "Value of target entity after change"
          },
          "preValue": {
            "type": "object",
            "description": "Value of target entity before change"
          },
          "reference": {
            "type": "string",
            "description": "External (human-readable) reference of the target entity, e.g. the order's extOrderId; complements entityId/entityType"
          },
          "relatedEntityId": {
            "type": "string",
            "description": "Related entity ID"
          },
          "relatedEntityType": {
            "type": "string",
            "description": "Related entity type"
          },
          "relatedReference": {
            "type": "string",
            "description": "External (human-readable) reference of the related entity, e.g. a shipment's extShipmentId; complements relatedEntityId/relatedEntityType"
          },
          "severity": {
            "$ref": "#/components/schemas/NoteSeverity"
          },
          "status": {
            "$ref": "#/components/schemas/NoteStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "text": {
            "type": "string",
            "description": "Note content"
          },
          "userId": {
            "type": "string",
            "description": "Author user ID (defaults to the authenticated user)",
            "x-p17Private": true
          }
        }
      },
      "NoteCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "note": {
                "$ref": "#/components/schemas/NoteCreateData"
              }
            }
          }
        ]
      },
      "NoteCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/NoteCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "NoteCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "note": {
                "$ref": "#/components/schemas/Note"
              }
            }
          }
        ]
      },
      "NoteFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "NoteFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "note": {
                "$ref": "#/components/schemas/Note"
              }
            }
          }
        ]
      },
      "NoteSeverity": {
        "type": "string",
        "description": "Note severity",
        "enum": [
          "normal",
          "low",
          "high"
        ]
      },
      "NoteStatus": {
        "type": "string",
        "description": "Note status",
        "enum": [
          "valid"
        ]
      },
      "NoteUpdateData": {
        "type": "object",
        "properties": {
          "action": {
            "$ref": "#/components/schemas/NoteAction"
          },
          "generatedText": {
            "type": "string",
            "description": "Generated summary of changes",
            "nullable": true
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "isPublic": {
            "type": "boolean",
            "description": "Public note indicator"
          },
          "postValue": {
            "type": "object",
            "description": "Value of target entity after change",
            "nullable": true
          },
          "preValue": {
            "type": "object",
            "description": "Value of target entity before change",
            "nullable": true
          },
          "reference": {
            "type": "string",
            "description": "External (human-readable) reference of the target entity, e.g. the order's extOrderId; complements entityId/entityType"
          },
          "relatedEntityId": {
            "type": "string",
            "description": "Related entity ID"
          },
          "relatedEntityType": {
            "type": "string",
            "description": "Related entity type"
          },
          "relatedReference": {
            "type": "string",
            "description": "External (human-readable) reference of the related entity, e.g. a shipment's extShipmentId; complements relatedEntityId/relatedEntityType"
          },
          "severity": {
            "$ref": "#/components/schemas/NoteSeverity"
          },
          "status": {
            "$ref": "#/components/schemas/NoteStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags",
            "nullable": true
          },
          "text": {
            "type": "string",
            "description": "Note content"
          }
        }
      },
      "NoteUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "note": {
                "$ref": "#/components/schemas/NoteUpdateData"
              }
            }
          }
        ]
      },
      "NoteUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/NoteUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "NoteUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "note": {
                "$ref": "#/components/schemas/Note"
              }
            }
          }
        ]
      },
      "NotesListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/NotesListFilter"
              }
            }
          }
        ]
      },
      "NotesListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Notes Filter",
            "properties": {
              "entityId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Notes by entityId list"
              },
              "entityType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Notes by entityType list"
              },
              "eventId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Notes by eventId list"
              },
              "noteId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Notes by noteId list"
              },
              "severity": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/NoteSeverity"
                },
                "description": "Notes by severity list"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/NoteStatus"
                },
                "description": "Notes by status list"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              }
            }
          }
        ]
      },
      "NotesListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/NotesListFilter"
              },
              "notes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Note"
                }
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "NotificationSettings": {
        "type": "object",
        "properties": {
          "alertRecipients": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "email"
            },
            "description": "Email addresses for alert recipients"
          },
          "emailAlerts": {
            "type": "boolean",
            "description": "Send email alerts"
          },
          "smsAlerts": {
            "type": "boolean",
            "description": "Send SMS alerts"
          }
        }
      },
      "OperationalSettings": {
        "type": "object",
        "properties": {
          "autoAcceptOrders": {
            "type": "boolean",
            "description": "Automatically accept orders"
          },
          "bopisEnabled": {
            "type": "boolean",
            "description": "Buy Online Pickup In Store enabled"
          },
          "curbsideEnabled": {
            "type": "boolean",
            "description": "Curbside pickup enabled"
          },
          "labelIntegrationId": {
            "type": "string",
            "nullable": true,
            "description": "Integration ID of the shipping label provider for this store. Overrides the org-level default when set. Set to null to clear and fall back to the org-level default."
          },
          "maxConcurrentOrders": {
            "type": "integer",
            "minimum": 0,
            "description": "Maximum concurrent orders being processed"
          },
          "partialFulfillmentMode": {
            "$ref": "#/components/schemas/PartialFulfillmentMode"
          },
          "partialFulfillmentModeByType": {
            "$ref": "#/components/schemas/PartialFulfillmentModeByType"
          },
          "shipFromStoreEnabled": {
            "type": "boolean",
            "description": "Ship from store enabled"
          },
          "waveManagementConfig": {
            "$ref": "#/components/schemas/WaveManagementConfig"
          }
        }
      },
      "Order": {
        "allOf": [
          {
            "$ref": "#/components/schemas/OrderCreateData"
          },
          {
            "type": "object",
            "properties": {
              "acknowledgement": {
                "type": "array",
                "description": "Acknowledgements from integrations",
                "items": {
                  "$ref": "#/components/schemas/OrderAcknowledgment"
                }
              },
              "autoEngUpdateStatus": {
                "$ref": "#/components/schemas/AutoEngUpdateStatus"
              },
              "autoEngUpdateStatusUpdatedAt": {
                "$ref": "#/components/schemas/AutoEngUpdateStatusUpdatedAt"
              },
              "disposition": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrderDispositionType"
                },
                "description": "Order disposition"
              },
              "dispositions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrderLineDisposition"
                },
                "description": "Disposition of line items"
              },
              "exceptionCategories": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "References to categories of exceptions related to the order"
              },
              "exceptions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Types of exceptions related to the order"
              },
              "fulfilledAt": {
                "type": "string",
                "format": "date-time",
                "description": "Fulfillment timestamp"
              },
              "integration": {
                "type": "string",
                "description": "Reference to integration that created an item"
              },
              "isMultiDestination": {
                "type": "boolean",
                "description": "Multi-destination order indicator"
              },
              "lineItemsEdits": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrderLineItemBasic"
                }
              },
              "orderId": {
                "type": "string",
                "description": "Auto Generated"
              },
              "shipByStatus": {
                "$ref": "#/components/schemas/OrderShipByStatus"
              },
              "shipmentLocationIds": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fulfillment location IDs of the order's shipments (system-maintained)"
              },
              "status": {
                "$ref": "#/components/schemas/OrderStatus"
              },
              "timeline": {
                "description": "Timeline of updates",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrderChangelogEntry"
                }
              }
            }
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "OrderAcknowledgeData": {
        "type": "object",
        "properties": {
          "integration": {
            "type": "string",
            "description": "The ID of acknowledging integration"
          }
        }
      },
      "OrderAcknowledgeError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "options": {
                "$ref": "#/components/schemas/OrderAcknowledgeData"
              }
            }
          }
        ]
      },
      "OrderAcknowledgeRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/OrderAcknowledgeData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "OrderAcknowledgeResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          }
        ]
      },
      "OrderAcknowledgment": {
        "type": "object",
        "properties": {
          "acknowledgedAt": {
            "type": "string",
            "format": "date-time"
          },
          "integration": {
            "type": "string"
          }
        }
      },
      "OrderChangelogEntry": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "extOrderId": {
                "type": "string",
                "description": "External Order Id"
              },
              "orderId": {
                "type": "string",
                "description": "Order Id"
              }
            }
          },
          {
            "$ref": "#/components/schemas/ChangelogEntryBase"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "OrderCreateData": {
        "type": "object",
        "xml": {
          "name": "order"
        },
        "required": [
          "extOrderId"
        ],
        "properties": {
          "extOrderId": {
            "type": "string",
            "description": "External Order ID"
          },
          "additionalCharges": {
            "type": "array",
            "description": "Additional charges",
            "items": {
              "$ref": "#/components/schemas/AdditionalCharge"
            }
          },
          "autoEngUpdateStatus": {
            "$ref": "#/components/schemas/AutoEngUpdateStatus"
          },
          "billingAddress": {
            "$ref": "#/components/schemas/Address",
            "description": "Purchaser Address"
          },
          "currency": {
            "type": "string",
            "description": "Order currency code"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "customer": {
            "$ref": "#/components/schemas/OrderCustomer"
          },
          "customerPONumber": {
            "type": "string",
            "nullable": true
          },
          "deliveryProfiles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeliveryProfile"
            }
          },
          "disableShipmentsReuse": {
            "type": "boolean",
            "description": "Hint to whether shipmentId should be re-used, or not"
          },
          "discounts": {
            "type": "array",
            "description": "Discounts",
            "items": {
              "$ref": "#/components/schemas/Discount"
            }
          },
          "dynamicLocationGroup": {
            "type": "array",
            "description": "Named location groups defined inline on the order",
            "items": {
              "type": "object",
              "required": [
                "name",
                "locationIds"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "description": "Identifier used to reference this group from dynamicRoutingRules"
                },
                "locationIds": {
                  "type": "array",
                  "description": "Location IDs in this group",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "expectedDeliveryDate": {
            "type": "string",
            "format": "date-time",
            "description": "First Priority to be respected"
          },
          "extOrderApiId": {
            "type": "string",
            "description": "External System Order API ID"
          },
          "extOrderCreatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the order was created at source"
          },
          "extOrderUpdatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the order was updated at source"
          },
          "extOrderUrl": {
            "type": "string",
            "description": "Order Url in External System"
          },
          "fulfillmentStatus": {
            "type": "string",
            "description": "status of the fulfillment"
          },
          "giftNote": {
            "type": "string",
            "description": "Order Gift note"
          },
          "holdOptions": {
            "$ref": "#/components/schemas/OrderHoldOptions",
            "nullable": true
          },
          "holdUntil": {
            "type": "string",
            "format": "date-time"
          },
          "incoterms": {
            "type": "string",
            "description": "International Commercial Terms"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "isMultiAddress": {
            "type": "boolean",
            "description": "Indicates the order is a multi address destination order (default - false)"
          },
          "lastRerunRoutingTrigger": {
            "$ref": "#/components/schemas/LastRerunRoutingTrigger"
          },
          "lastRoutedAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the order was last routed."
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderLineItem"
            }
          },
          "locationId": {
            "type": "string",
            "description": "Id of location defined in organization. Used as item origin for shipment."
          },
          "orderDiscount": {
            "type": "number",
            "format": "float",
            "description": "Order Discount"
          },
          "orderNote": {
            "type": "string",
            "description": "Order Notes"
          },
          "orderSource": {
            "type": "string",
            "description": "The original order platform, walmart, etsy, etc"
          },
          "orderSourceType": {
            "$ref": "#/components/schemas/OrderType"
          },
          "orderTax": {
            "type": "number",
            "format": "float",
            "description": "Order Tax"
          },
          "originalOrderId": {
            "type": "string",
            "description": "Internal orderId of the original order that this order replaces. Set on the replacement, not the original; one original may have many replacements. An empty string is rejected; omit the key when there is no original."
          },
          "paymentStatus": {
            "type": "string",
            "description": "status of the payment"
          },
          "paymentTerms": {
            "description": "Payments terms",
            "$ref": "#/components/schemas/OrderPaymentTerms"
          },
          "payments": {
            "type": "array",
            "description": "Payments",
            "items": {
              "$ref": "#/components/schemas/Payment"
            }
          },
          "preferredLocationGroupId": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of location-group IDs"
          },
          "priority": {
            "$ref": "#/components/schemas/Priority"
          },
          "privacyPolicy": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrivacyPolicy"
            }
          },
          "refunds": {
            "type": "array",
            "description": "Additional charges",
            "items": {
              "$ref": "#/components/schemas/OrderRefund"
            }
          },
          "replacementReason": {
            "$ref": "#/components/schemas/OrderReplacementReason"
          },
          "requireShippingLabels": {
            "type": "boolean",
            "description": "Indicates if fetching of shipping labels is required"
          },
          "respectLocationId": {
            "type": "boolean",
            "description": "Use locationId if defined on order level or lineItems level as valid item origin for shipment (pre-route)."
          },
          "routingStatus": {
            "$ref": "#/components/schemas/RoutingStatus",
            "description": "order routing status"
          },
          "shipAfterDate": {
            "type": "string",
            "format": "date-time",
            "description": "Ship After Date"
          },
          "shipByDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date-time by which the order is expected to ship (SLA target, typically set by the selling channel). Not a hard deadline: when the date passes an unfulfilled order keeps processing normally — no error is returned and fulfillment is not blocked — but the system marks its shipByStatus as breached (or complied when fulfilled on time). Example: an order with shipByDate 2026-07-03 still unfulfilled on 2026-07-04 can still be fulfilled; its shipByStatus becomes breached"
          },
          "shipCancelByDate": {
            "type": "string",
            "format": "date-time",
            "description": "Latest date-time the selling channel allows the order to ship; after this date the channel expects the order to be cancelled rather than shipped. Informational — Pipe17 does not cancel the order automatically when the date passes"
          },
          "shippingAddress": {
            "$ref": "#/components/schemas/Address",
            "description": "Recipient Address"
          },
          "shippingCarrier": {
            "type": "string",
            "description": "Required with ShippingClass, 2nd Priority"
          },
          "shippingClass": {
            "type": "string",
            "description": "Required with ShippingCarrier, 2nd Priority"
          },
          "shippingCode": {
            "type": "string",
            "description": "1st Priority"
          },
          "shippingDestinations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Destination"
            }
          },
          "shippingNote": {
            "type": "string",
            "description": "Shipping Notes"
          },
          "shippingPrice": {
            "type": "number",
            "format": "float",
            "description": "Shipping price"
          },
          "skuRules": {
            "type": "object",
            "description": "SKU-level fulfillment rules, keyed by the **original line item SKU**. Defines alternate ways\nto fulfill a line when the ordered SKU cannot ship as-is (out of stock, must be split into\ncomponents, or has special shipping constraints).\n\nEach rule's `swaps` field is a 3-level nested array — `[swapOption][andGroup][candidate]`:\n  - **swapOption** (outer, priority-ordered): alternative fulfillment strategies. The router tries them top-down and picks the first that resolves fully.\n  - **andGroup** (middle): items that must ALL resolve together within the chosen swap option (use this for \"A + B + C together\").\n  - **candidate** (inner, priority-ordered): substitute SKUs within an AND group. Pick the first one with available inventory.\n\n**Example scenario** — a customer orders one `12-PACK`, with pack-type fallbacks if it's out of stock:\n\n```json\n\"skuRules\": {\n  \"12-PACK\": {\n    \"swaps\": [\n      [ [{ \"sku\": \"12-PACK\", \"qty\": \"1\"  }] ],\n      [ [{ \"sku\": \"6-PACK\",  \"qty\": \"2\"  }] ],\n      [ [{ \"sku\": \"3-PACK\",  \"qty\": \"4\"  }] ],\n      [ [{ \"sku\": \"SINGLE\",  \"qty\": \"12\" }] ]\n    ]\n  }\n}\n```\n\nRouter behavior: try the original `12-PACK` first; if out of stock, fulfill with two `6-PACK`s; else four `3-PACK`s; else twelve `SINGLE`s. A richer \"dynamic bundle\" case uses multiple AND groups per swap option — e.g., a gift basket composed of a fragrance + a lotion + a toothbrush, each with ranked substitutes.\n",
            "additionalProperties": {
              "$ref": "#/components/schemas/OrderSkuRule"
            }
          },
          "sourceDoc": {
            "$ref": "#/components/schemas/SourceDoc"
          },
          "status": {
            "$ref": "#/components/schemas/OrderStatus"
          },
          "subTotalPrice": {
            "type": "number",
            "format": "float",
            "description": "Order subtotal: the sum of line item prices (unit price times quantity), typically before order-level adjustments — excludes orderDiscount, orderTax, and shipping charges. Provided by the order source; Pipe17 stores it as-is and does not recalculate it"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "taxes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderTax"
            }
          },
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "description": "General Purpose Time Stamp"
          },
          "totalPrice": {
            "type": "number",
            "format": "float",
            "description": "Total Price"
          }
        }
      },
      "OrderCreateResult": {
        "type": "object",
        "properties": {
          "conflict": {
            "type": "object",
            "description": "Duplicate key error details, if failed"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Error details if failed"
          },
          "message": {
            "type": "string",
            "description": "Error message if failed"
          },
          "order": {
            "$ref": "#/components/schemas/Order"
          },
          "status": {
            "type": "string",
            "enum": [
              "submitted",
              "failed"
            ]
          }
        }
      },
      "OrderCustomer": {
        "type": "object",
        "properties": {
          "company": {
            "type": "string"
          },
          "customerId": {
            "type": "string"
          },
          "extCompanyCustomerId": {
            "type": "string"
          },
          "extCustomerId": {
            "type": "string"
          },
          "extLocationCustomerId": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/OrderCustomerType"
          }
        }
      },
      "OrderCustomerType": {
        "type": "string",
        "description": "Order customer type",
        "enum": [
          "individual",
          "company"
        ]
      },
      "OrderDispositionType": {
        "type": "string",
        "enum": [
          "partiallyRouted",
          "routed",
          "partiallySent",
          "sent",
          "partiallyFulfilled",
          "fulfilled",
          "partiallyCanceled",
          "canceled",
          "partiallyFailed",
          "failed",
          "partiallyRejected",
          "rejected",
          "partiallyUnrouted",
          "unrouted",
          "partiallyUnsent",
          "unsent",
          "partiallyUnfulfilled",
          "unfulfilled"
        ],
        "description": "Order disposition type"
      },
      "OrderFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "OrderFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "order": {
                "$ref": "#/components/schemas/Order"
              }
            }
          }
        ]
      },
      "OrderHoldNextStatus": {
        "type": "string",
        "description": "Status an order moves to when a hold is released. For a timed hold it is the\ntarget status applied when `holdUntil` is reached; for a conditional hold it is\nthe fallback applied at `holdUntil` when the condition was never met.\n\n`canceled` cancels the order in Pipe17 only; the cancellation is not pushed to\nthe order's source channel.\n",
        "enum": [
          "reviewRequired",
          "readyForFulfillment",
          "canceled"
        ]
      },
      "OrderHoldOptions": {
        "type": "object",
        "description": "Hold state for an order, present while the order is `onHold` and cleared to\n`null` on release.\n",
        "properties": {
          "holdConditionAutomationRuleId": {
            "type": "string",
            "nullable": true,
            "description": "For a `CONDITIONAL` hold, the automation rule whose condition is evaluated to\nrelease the order early. The condition is read from the rule at evaluation\ntime; if the rule no longer exists the order falls back to `holdNextStatus`\nonce `holdUntil` is reached.\n"
          },
          "holdNextStatus": {
            "$ref": "#/components/schemas/OrderHoldNextStatus",
            "nullable": true
          },
          "holdType": {
            "$ref": "#/components/schemas/HoldType",
            "nullable": true
          },
          "holdUntil": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "When a timed hold releases, or the fallback deadline for a conditional hold."
          }
        }
      },
      "OrderLineDisposition": {
        "type": "object",
        "properties": {
          "uniqueId": {
            "type": "string",
            "description": "Line uniqueId"
          },
          "values": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "$ref": "#/components/schemas/LineDispositionType"
                },
                "quantity": {
                  "type": "number",
                  "format": "float",
                  "description": "Item quantity"
                }
              }
            }
          }
        }
      },
      "OrderLineItem": {
        "allOf": [
          {
            "$ref": "#/components/schemas/OrderLineItemBasic"
          },
          {
            "type": "object",
            "properties": {
              "canceled": {
                "type": "number",
                "format": "float",
                "description": "quantity canceled as reported by source"
              },
              "fulfillable": {
                "type": "number",
                "format": "float",
                "description": "quantity fulfillable as reported by source"
              },
              "fulfilled": {
                "type": "number",
                "format": "float",
                "description": "quantity fulfilled as reported by source"
              },
              "ordered": {
                "type": "number",
                "format": "float",
                "description": "original quantity as reported by source"
              },
              "preferredLocationGroupId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "List of location-group IDs"
              },
              "refunded": {
                "type": "number",
                "format": "float",
                "description": "quantity refunded as reported by source"
              },
              "reported": {
                "type": "number",
                "format": "float"
              },
              "returned": {
                "type": "number",
                "format": "float",
                "description": "quantity returned as reported by source"
              }
            }
          }
        ]
      },
      "OrderLineItemBasic": {
        "type": "object",
        "required": [
          "uniqueId",
          "sku",
          "quantity",
          "requiresShipping"
        ],
        "properties": {
          "quantity": {
            "type": "number",
            "format": "float",
            "description": "Item Quantity"
          },
          "requiresShipping": {
            "type": "boolean"
          },
          "sku": {
            "type": "string",
            "description": "Item SKU"
          },
          "uniqueId": {
            "type": "string",
            "description": "Item unique Id (within an order)"
          },
          "components": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderLineItemComponent"
            }
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "deliveryMethod": {
            "description": "Delivery method/type for this lineItem",
            "$ref": "#/components/schemas/DeliveryMethod"
          },
          "deliveryProfileId": {
            "type": "string",
            "description": "Delivery profile Id for this lineItem"
          },
          "itemDiscount": {
            "type": "number",
            "format": "float",
            "description": "Line discount (item discount * quantity)"
          },
          "itemPrice": {
            "type": "number",
            "format": "float",
            "description": "Item price w/o taxes and discounts (line amount / quantity)"
          },
          "itemTax": {
            "type": "number",
            "format": "float",
            "description": "Line tax ((itemPrice * quantity - itemDiscount) * tax ratio)"
          },
          "locationId": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "Item Name or Description"
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "quantityUnit": {
            "$ref": "#/components/schemas/ItemQuantityUnit"
          },
          "requiresShippingSource": {
            "$ref": "#/components/schemas/RequiresShippingSource"
          },
          "routed": {
            "type": "boolean"
          },
          "shippingGroup": {
            "type": "integer",
            "minimum": 1,
            "description": "Item Shipping Group. Line items with the same shipping group will be shipped together after all shipping options for each line item are met."
          },
          "shippingOptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderLineItemShippingOption"
            }
          },
          "taxable": {
            "type": "boolean"
          },
          "trackedAtSourceChannel": {
            "type": "boolean"
          },
          "upc": {
            "type": "string",
            "description": "Item UPC"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Channel SKU for this item. On a write made with withSKUMapping, the channel SKU that 'sku' was resolved from is recorded here.\n"
          }
        }
      },
      "OrderLineItemComponent": {
        "type": "object",
        "required": [
          "sku",
          "quantity"
        ],
        "properties": {
          "quantity": {
            "type": "number",
            "format": "float"
          },
          "sku": {
            "type": "string"
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Channel SKU for this item. On a write made with withSKUMapping, the channel SKU that 'sku' was resolved from is recorded here.\n"
          }
        }
      },
      "OrderLineItemShippingOption": {
        "type": "string",
        "enum": [
          "SIOC",
          "polyBagging",
          "bubbleWrapping",
          "taping",
          "singleLocationShipping",
          "allOrNoneShipping"
        ]
      },
      "OrderPaymentTerm": {
        "type": "string",
        "description": "order payment term",
        "enum": [
          "net",
          "fixed",
          "fulfillment",
          "receipt",
          "unknown",
          "other"
        ]
      },
      "OrderPaymentTerms": {
        "required": [
          "term"
        ],
        "type": "object",
        "description": "order payment terms",
        "properties": {
          "term": {
            "$ref": "#/components/schemas/OrderPaymentTerm"
          },
          "depositPercentage": {
            "type": "number"
          },
          "dueDate": {
            "type": "string",
            "format": "date-time"
          },
          "dueInDays": {
            "type": "number"
          },
          "note": {
            "type": "string"
          }
        }
      },
      "OrderRefund": {
        "type": "object",
        "required": [
          "type",
          "value"
        ],
        "properties": {
          "type": {
            "$ref": "#/components/schemas/OrderRefundType",
            "description": "Refund type"
          },
          "value": {
            "type": "number",
            "description": "absolute value of refund"
          },
          "label": {
            "type": "string",
            "description": "optional refund label"
          },
          "lineItemId": {
            "type": "string",
            "description": "optional reference to lineItems[].uniqueId for lineItem refund"
          },
          "lineItemQuantity": {
            "type": "number",
            "description": "optional quantity for lineItem refund"
          },
          "lineItemRestock": {
            "type": "boolean",
            "description": "optional restock attribute for lineItem refund"
          },
          "processedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Refund processing time"
          },
          "reference": {
            "type": "string",
            "description": "optional id/name for refund"
          }
        }
      },
      "OrderRefundType": {
        "type": "string",
        "description": "Order refund type",
        "enum": [
          "lineItem",
          "lineItemTax",
          "lineItemDiscount",
          "shipping",
          "shippingTax",
          "shippingDiscount",
          "other",
          "otherTax",
          "otherDiscount"
        ]
      },
      "OrderReplacementReason": {
        "type": "string",
        "enum": [
          "damaged",
          "lostInTransit",
          "wrongItem",
          "other"
        ]
      },
      "OrderRouting": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "routingId": {
                "type": "string",
                "description": "Routing ID"
              }
            }
          },
          {
            "$ref": "#/components/schemas/OrderRoutingCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "OrderRoutingCreateData": {
        "type": "object",
        "properties": {
          "compositeScoring": {
            "$ref": "#/components/schemas/CompositeScoringConfig"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "routingStrategy": {
            "$ref": "#/components/schemas/OrderRoutingStrategy"
          },
          "rules": {
            "$ref": "#/components/schemas/OrderRoutingRules"
          }
        }
      },
      "OrderRoutingCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "routing": {
                "$ref": "#/components/schemas/OrderRouting"
              }
            }
          }
        ]
      },
      "OrderRoutingCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "routing": {
                "$ref": "#/components/schemas/OrderRouting"
              }
            }
          }
        ]
      },
      "OrderRoutingFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "OrderRoutingFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "routing": {
                "$ref": "#/components/schemas/OrderRouting"
              }
            }
          }
        ]
      },
      "OrderRoutingListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/OrderRoutingsListFilter"
              }
            }
          }
        ]
      },
      "OrderRoutingListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/OrderRoutingsListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "routings": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrderRouting"
                }
              }
            }
          }
        ]
      },
      "OrderRoutingRule": {
        "type": "object",
        "description": "Routing rule definition"
      },
      "OrderRoutingRules": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/OrderRoutingRule"
        },
        "description": "Routing rules definition"
      },
      "OrderRoutingRun": {
        "allOf": [
          {
            "type": "object",
            "required": [
              "orderRoutingRunId",
              "status",
              "orderId",
              "extOrderId"
            ],
            "properties": {
              "orderRoutingRunId": {
                "type": "string",
                "description": "The unique identifier of the order routing run."
              }
            }
          },
          {
            "$ref": "#/components/schemas/OrderRoutingRunCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "OrderRoutingRunCreateData": {
        "type": "object",
        "required": [
          "orderId",
          "extOrderId",
          "status",
          "outcome"
        ],
        "properties": {
          "extOrderId": {
            "type": "string",
            "description": "The external id of the order that was processed."
          },
          "orderId": {
            "type": "string",
            "description": "The id of the order that was processed."
          },
          "outcome": {
            "$ref": "#/components/schemas/OrderRoutingRunOutcome"
          },
          "status": {
            "$ref": "#/components/schemas/OrderRoutingRunStatus"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "messages": {
            "$ref": "#/components/schemas/OrderRoutingRunMessages"
          },
          "orderProcessedAt": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time that the order was processed by Order Routing. In this context, processing means that the order was evaluated against the routing rules. This does not necessarily mean that the order was routed."
          },
          "snapshotS3Path": {
            "type": "string",
            "readOnly": true,
            "description": "Server-generated S3 key for the run snapshot payload (order state, inventory levels, routing rules evaluated, shipping requests, filters, and locations). Read-only, set by the server."
          },
          "snapshots": {
            "$ref": "#/components/schemas/OrderRoutingRunSnapshots"
          }
        }
      },
      "OrderRoutingRunCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "orderRoutingRun": {
                "$ref": "#/components/schemas/OrderRoutingRunCreateData"
              }
            }
          }
        ]
      },
      "OrderRoutingRunCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/OrderRoutingRunCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "OrderRoutingRunCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "orderRoutingRun": {
                "$ref": "#/components/schemas/OrderRoutingRun"
              },
              "snapshotS3UploadUrl": {
                "type": "string",
                "readOnly": true,
                "description": "Presigned S3 upload URL for uploading the run snapshot payload. Only present in the create response. Expires after 15 minutes."
              }
            }
          }
        ]
      },
      "OrderRoutingRunFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "OrderRoutingRunFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "orderRoutingRun": {
                "$ref": "#/components/schemas/OrderRoutingRun"
              },
              "snapshotS3DownloadUrl": {
                "type": "string",
                "readOnly": true,
                "description": "Presigned S3 download URL for the run snapshot payload. Only present on retrieve. Expires after 1 hour."
              }
            }
          }
        ]
      },
      "OrderRoutingRunMessage": {
        "type": "object",
        "required": [
          "message",
          "stage"
        ],
        "properties": {
          "message": {
            "type": "string",
            "description": "The message that was generated during the order routing run."
          },
          "stage": {
            "type": "string",
            "description": "The stage of the order routing run that the message was generated in.",
            "enum": [
              "PRE_ROUTING",
              "ROUTING",
              "FINAL_SUMMARY",
              "SYSTEM_FAILURE"
            ]
          },
          "filterId": {
            "type": "string",
            "description": "The filter that the message is associated with."
          },
          "integrationId": {
            "type": "string",
            "description": "The integration that the message is associated with."
          },
          "inventoryId": {
            "type": "string",
            "description": "The inventory that the message is associated with."
          },
          "locationId": {
            "type": "string",
            "description": "The location that the message is associated with."
          },
          "orderId": {
            "type": "string",
            "description": "The order that the message is associated with."
          },
          "orderLineItemUniqueIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The order line items that the message is associated with."
          },
          "routingId": {
            "type": "string",
            "description": "The order routing configuration that the message is associated with."
          },
          "ruleIndex": {
            "type": "integer",
            "description": "The index of the routing rule that the message is associated with."
          },
          "shipmentId": {
            "type": "string",
            "description": "The shipment that the message is associated with."
          }
        }
      },
      "OrderRoutingRunMessages": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/OrderRoutingRunMessage"
        },
        "description": "Messages that are generated during the order routing run."
      },
      "OrderRoutingRunOutcome": {
        "type": "object",
        "properties": {
          "arrivalIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The arrivals that were created during the order routing run as the inbound leg of the purchase orders."
          },
          "exceptionIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The exceptions that were created during the order routing run."
          },
          "purchaseIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The purchase orders that were raised against a supplier during the order routing run."
          },
          "shipmentIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The shipments that were created during the order routing run."
          },
          "transferIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The transfer orders that were created during the order routing run to replenish a fulfillment location."
          }
        }
      },
      "OrderRoutingRunSnapshots": {
        "type": "object",
        "properties": {
          "arrivals": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            },
            "description": "The arrivals that were created during routing, as they were at the time of the run."
          },
          "exceptions": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            },
            "description": "The exceptions that were created during routing."
          },
          "filters": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            },
            "description": "The filters that were used for routing."
          },
          "integration": {
            "type": "object",
            "additionalProperties": true,
            "description": "The integration that was used for routing."
          },
          "inventory": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            },
            "description": "The inventory that was used for routing."
          },
          "locations": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            },
            "description": "The locations that were used for routing."
          },
          "order": {
            "$ref": "#/components/schemas/Order",
            "description": "The order that was processed."
          },
          "orderRouting": {
            "type": "object",
            "additionalProperties": true,
            "description": "The order routing configuration used for routing."
          },
          "purchases": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            },
            "description": "The purchase orders that were created during routing, as they were at the time of the run."
          },
          "shipments": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            },
            "description": "The shipments that were created or evaluated during routing."
          },
          "transfers": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            },
            "description": "The transfer orders that were created during routing, as they were at the time of the run."
          }
        }
      },
      "OrderRoutingRunStatus": {
        "type": "string",
        "enum": [
          "FULLY_ROUTED",
          "PARTIALLY_ROUTED",
          "NOT_APPLICABLE",
          "ERROR"
        ],
        "description": "The status of the order routing run:\n* `FULLY_ROUTED` - All line items in the order have been routed successfully\n* `PARTIALLY_ROUTED` - Some line items in the order have been routed successfully. Remaining line items could not be routed in this run.\n* `NOT_APPLICABLE` - The order is not in a state that can be routed.\n* `ERROR` - An error occurred while routing the order\n"
      },
      "OrderRoutingRunUploadUrlResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "expiresIn": {
                "type": "integer",
                "readOnly": true,
                "description": "Number of seconds until the upload URL expires."
              },
              "snapshotS3UploadUrl": {
                "type": "string",
                "readOnly": true,
                "description": "Presigned S3 upload URL for uploading the run snapshot payload. Expires after 15 minutes."
              }
            }
          }
        ]
      },
      "OrderRoutingRunsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/OrderRoutingRunsListFilter"
              }
            }
          }
        ]
      },
      "OrderRoutingRunsListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "description": "Order routing runs list filter",
            "properties": {
              "extOrderId": {
                "$ref": "#/components/schemas/OrderRoutingRunsListFilterExtOrderId"
              },
              "orderId": {
                "$ref": "#/components/schemas/OrderRoutingRunsListFilterOrderId"
              },
              "orderRoutingRunId": {
                "$ref": "#/components/schemas/OrderRoutingRunsListFilterOrderRoutingRunId"
              },
              "status": {
                "$ref": "#/components/schemas/OrderRoutingRunsListFilterStatus"
              }
            }
          }
        ]
      },
      "OrderRoutingRunsListFilterExtOrderId": {
        "description": "Filter by matching extOrderId",
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "OrderRoutingRunsListFilterOrderId": {
        "description": "Filter by matching orderId",
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "OrderRoutingRunsListFilterOrderRoutingRunId": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Filter by matching orderRoutingRunId"
      },
      "OrderRoutingRunsListFilterStatus": {
        "description": "Filter by matching status",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/OrderRoutingRunStatus"
        }
      },
      "OrderRoutingRunsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/OrderRoutingRunsListFilter"
              },
              "orderRoutingRuns": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrderRoutingRun"
                }
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "OrderRoutingStrategy": {
        "type": "string",
        "enum": [
          "RULES",
          "COMPOSITE_SCORING"
        ],
        "description": "Which routing engine evaluates this configuration. When absent the\nrouting behaves as `RULES`, so existing configurations are unaffected.\n`COMPOSITE_SCORING` selects the deterministic composite scorer and\nrequires `compositeScoring` to be populated.\n"
      },
      "OrderRoutingUpdateData": {
        "type": "object",
        "properties": {
          "compositeScoring": {
            "$ref": "#/components/schemas/CompositeScoringConfig"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "routingStrategy": {
            "$ref": "#/components/schemas/OrderRoutingStrategy"
          },
          "rules": {
            "$ref": "#/components/schemas/OrderRoutingRules"
          }
        }
      },
      "OrderRoutingUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "OrderRoutingUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/OrderRoutingUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "OrderRoutingUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "routing": {
                "$ref": "#/components/schemas/OrderRouting"
              }
            }
          }
        ]
      },
      "OrderRoutingsDeleteError": {
        "type": "object",
        "xml": {
          "name": "response"
        },
        "required": [
          "success",
          "code"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "description": "Copy of HTTP status",
            "format": "int32",
            "minimum": 400,
            "example": 404
          },
          "success": {
            "type": "boolean",
            "description": "Always false",
            "enum": [
              false
            ],
            "example": false
          },
          "conflict": {
            "type": "object",
            "description": "Details of the conflicting state, when the failure is a 409. The shape depends on the endpoint — a duplicate-key failure carries the offending keys, while /shipping_requests/{id}/request-labels carries `labels` (the labels the shipment already holds), `existingExtLabelIds` (the extLabelIds already claimed) or `refundedExtLabelIds` (extLabelIds belonging to refunded labels, which cannot be reused)."
          },
          "errors": {
            "type": "array",
            "description": "Error detail",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "string",
            "description": "Error message"
          },
          "vendorCode": {
            "type": "string",
            "description": "Vendor-specific error code passed through from a downstream connector/carrier (e.g. EasyPost \"SHIPMENT.REFUND.UNAVAILABLE\"). Present only when the failure originated at the vendor."
          }
        }
      },
      "OrderRoutingsDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "message": {
                "type": "string",
                "example": "OK (but NYI)"
              }
            }
          }
        ]
      },
      "OrderRoutingsFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Order Routings Filter"
          }
        ],
        "properties": {
          "routingId": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Fetch routings by list of routingId"
          }
        }
      },
      "OrderRoutingsListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/OrderRoutingsFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys",
            "description": "List Order Routings Filter"
          }
        ]
      },
      "OrderShipByStatus": {
        "type": "string",
        "description": "Ship-by-date SLA state of an unfulfilled order: onTrack (safe margin), atRisk (approaching shipByDate), critical (about to breach), breached (not fulfilled by shipByDate), complied (fulfilled before shipByDate). Maintained by the system for orders that have a shipByDate",
        "enum": [
          "onTrack",
          "atRisk",
          "critical",
          "breached",
          "complied"
        ]
      },
      "OrderSkuCandidate": {
        "type": "object",
        "description": "A candidate SKU with quantity",
        "required": [
          "sku",
          "qty"
        ],
        "properties": {
          "qty": {
            "type": "string",
            "description": "Required quantity for this candidate"
          },
          "sku": {
            "type": "string",
            "description": "Candidate SKU identifier"
          }
        }
      },
      "OrderSkuRule": {
        "type": "object",
        "description": "Fulfillment rules for a specific SKU",
        "properties": {
          "shippingOptions": {
            "type": "array",
            "description": "Shipping constraint strings for this SKU",
            "items": {
              "$ref": "#/components/schemas/OrderLineItemShippingOption"
            }
          },
          "swaps": {
            "type": "array",
            "description": "Priority-ordered swap options. Each swap option is tried in order until one resolves fully.",
            "items": {
              "type": "array",
              "description": "A swap option consisting of AND groups. All AND groups must be resolved.",
              "items": {
                "type": "array",
                "description": "Priority-ordered candidate SKUs within an AND group. Pick the first with available inventory.",
                "items": {
                  "$ref": "#/components/schemas/OrderSkuCandidate"
                }
              }
            }
          }
        }
      },
      "OrderStatus": {
        "type": "string",
        "description": "Order Status",
        "enum": [
          "draft",
          "new",
          "onHold",
          "toBeValidated",
          "reviewRequired",
          "readyForFulfillment",
          "sentToFulfillment",
          "partialFulfillment",
          "fulfilled",
          "inTransit",
          "partialReceived",
          "received",
          "canceled",
          "returned",
          "refunded",
          "archived",
          "closed"
        ]
      },
      "OrderSyncRequest": {
        "type": "object",
        "properties": {
          "syncAE": {
            "type": "boolean",
            "description": "Reset autoEngUpdateStatus"
          }
        }
      },
      "OrderTax": {
        "type": "object",
        "properties": {
          "channelLiable": {
            "type": "boolean"
          },
          "code": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "lineItemId": {
            "type": "string"
          },
          "rate": {
            "type": "number"
          },
          "reference": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "order",
              "shipping",
              "lineItem",
              "other"
            ]
          },
          "value": {
            "type": "number"
          }
        }
      },
      "OrderType": {
        "type": "string",
        "description": "Order Type (online, pos, etc)",
        "enum": [
          "online",
          "pos",
          "wholesale",
          "edi",
          "other",
          "b2b",
          "aggregation",
          "bopis",
          "curbside",
          "ship_from_store"
        ]
      },
      "OrderUpdateData": {
        "type": "object",
        "properties": {
          "additionalCharges": {
            "nullable": true,
            "type": "array",
            "description": "Additional charges",
            "items": {
              "$ref": "#/components/schemas/AdditionalCharge"
            }
          },
          "autoEngUpdateStatus": {
            "$ref": "#/components/schemas/AutoEngUpdateStatus"
          },
          "billingAddress": {
            "$ref": "#/components/schemas/AddressUpdateData",
            "description": "Purchaser Address"
          },
          "currency": {
            "type": "string",
            "description": "Order currency code"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            },
            "nullable": true
          },
          "customer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrderCustomer"
              }
            ],
            "nullable": true
          },
          "customerPONumber": {
            "type": "string",
            "nullable": true
          },
          "deliveryProfiles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeliveryProfile"
            }
          },
          "disableShipmentsReuse": {
            "type": "boolean",
            "description": "Hint to whether shipmentId should be re-used, or not",
            "nullable": true
          },
          "discounts": {
            "nullable": true,
            "type": "array",
            "description": "Discounts",
            "items": {
              "$ref": "#/components/schemas/Discount"
            }
          },
          "dynamicLocationGroup": {
            "type": "array",
            "description": "Named location groups defined inline on the order",
            "nullable": true,
            "items": {
              "type": "object",
              "required": [
                "name",
                "locationIds"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "description": "Identifier used to reference this group from dynamicRoutingRules"
                },
                "locationIds": {
                  "type": "array",
                  "description": "Location IDs in this group",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "expectedDeliveryDate": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "description": "First Priority to be respected"
          },
          "extOrderApiId": {
            "type": "string",
            "nullable": true,
            "description": "External System Order API ID"
          },
          "extOrderCreatedAt": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "description": "When the order was created at source"
          },
          "extOrderId": {
            "type": "string",
            "description": "External Order ID"
          },
          "extOrderUpdatedAt": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "description": "When the order was updated at source"
          },
          "extOrderUrl": {
            "type": "string",
            "description": "Order Url in External System"
          },
          "fulfillmentStatus": {
            "type": "string",
            "nullable": true,
            "description": "status of the fulfillment"
          },
          "giftNote": {
            "type": "string",
            "nullable": true,
            "description": "Order Gift note"
          },
          "holdOptions": {
            "$ref": "#/components/schemas/OrderHoldOptions",
            "nullable": true
          },
          "holdUntil": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "isMultiAddress": {
            "type": "boolean",
            "description": "Indicates the order is a multi address destination order (default - false)",
            "nullable": true
          },
          "lastRerunRoutingTrigger": {
            "$ref": "#/components/schemas/LastRerunRoutingTrigger"
          },
          "lastRoutedAt": {
            "type": "string",
            "format": "date-time",
            "description": "When the order was last routed."
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderLineItem"
            }
          },
          "lineItemsEdits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderLineItemBasic"
            },
            "nullable": true
          },
          "locationId": {
            "type": "string",
            "nullable": true,
            "description": "Id of location defined in organization. Used as item origin for shipment."
          },
          "orderDiscount": {
            "type": "number",
            "nullable": true,
            "format": "float",
            "description": "Order Discount"
          },
          "orderNote": {
            "type": "string",
            "nullable": true,
            "description": "Order Notes"
          },
          "orderSource": {
            "type": "string",
            "nullable": true,
            "description": "The original order platform, walmart, etsy, etc"
          },
          "orderSourceType": {
            "$ref": "#/components/schemas/OrderType"
          },
          "orderTax": {
            "type": "number",
            "nullable": true,
            "format": "float",
            "description": "Order Tax"
          },
          "originalOrderId": {
            "type": "string",
            "nullable": true,
            "description": "Internal orderId of the original order that this order replaces. Set on the replacement, not the original; one original may have many replacements. Pass null to remove the link, or omit the key to leave it unchanged; an empty string is rejected."
          },
          "paymentStatus": {
            "type": "string",
            "nullable": true,
            "description": "status of the payment"
          },
          "paymentTerms": {
            "nullable": true,
            "description": "Payments terms",
            "$ref": "#/components/schemas/OrderPaymentTerms"
          },
          "payments": {
            "nullable": true,
            "type": "array",
            "description": "Payments",
            "items": {
              "$ref": "#/components/schemas/Payment"
            }
          },
          "preferredLocationGroupId": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of location-group IDs",
            "nullable": true
          },
          "priority": {
            "$ref": "#/components/schemas/Priority"
          },
          "privacyPolicy": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrivacyPolicy"
            },
            "nullable": true
          },
          "refunds": {
            "nullable": true,
            "type": "array",
            "description": "Order refunds",
            "items": {
              "$ref": "#/components/schemas/OrderRefund"
            }
          },
          "replacementReason": {
            "$ref": "#/components/schemas/OrderReplacementReason",
            "nullable": true
          },
          "requireShippingLabels": {
            "type": "boolean",
            "nullable": true,
            "description": "Indicates if fetching of shipping labels is required"
          },
          "respectLocationId": {
            "type": "boolean",
            "nullable": true,
            "description": "Use locationId if defined on order level or lineItems level as valid item origin for shipment (pre-route)."
          },
          "routingStatus": {
            "$ref": "#/components/schemas/RoutingStatus",
            "description": "order routing status"
          },
          "shipAfterDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Ship After Date"
          },
          "shipByDate": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "description": "Date-time by which the order is expected to ship (SLA target, typically set by the selling channel). Not a hard deadline: when the date passes an unfulfilled order keeps processing normally — no error is returned and fulfillment is not blocked — but the system marks its shipByStatus as breached (or complied when fulfilled on time). Example: an order with shipByDate 2026-07-03 still unfulfilled on 2026-07-04 can still be fulfilled; its shipByStatus becomes breached"
          },
          "shipByStatus": {
            "$ref": "#/components/schemas/OrderShipByStatus"
          },
          "shipCancelByDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Latest date-time the selling channel allows the order to ship; after this date the channel expects the order to be cancelled rather than shipped. Informational — Pipe17 does not cancel the order automatically when the date passes"
          },
          "shippingAddress": {
            "$ref": "#/components/schemas/AddressUpdateData",
            "description": "Recipient Address"
          },
          "shippingCarrier": {
            "type": "string",
            "nullable": true,
            "description": "Required with ShippingClass, 2nd Priority"
          },
          "shippingClass": {
            "type": "string",
            "nullable": true,
            "description": "Required with ShippingCarrier, 2nd Priority"
          },
          "shippingCode": {
            "type": "string",
            "nullable": true,
            "description": "1st Priority"
          },
          "shippingDestinations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Destination"
            }
          },
          "shippingNote": {
            "type": "string",
            "nullable": true,
            "description": "Shipping Notes"
          },
          "shippingPrice": {
            "type": "number",
            "nullable": true,
            "format": "float"
          },
          "skuRules": {
            "type": "object",
            "description": "SKU-level fulfillment rules, keyed by the **original line item SKU**. Defines alternate ways\nto fulfill a line when the ordered SKU cannot ship as-is (out of stock, must be split into\ncomponents, or has special shipping constraints).\n\nEach rule's `swaps` field is a 3-level nested array — `[swapOption][andGroup][candidate]`:\n  - **swapOption** (outer, priority-ordered): alternative fulfillment strategies. The router tries them top-down and picks the first that resolves fully.\n  - **andGroup** (middle): items that must ALL resolve together within the chosen swap option (use this for \"A + B + C together\").\n  - **candidate** (inner, priority-ordered): substitute SKUs within an AND group. Pick the first one with available inventory.\n\n**Example scenario** — a customer orders one `12-PACK`, with pack-type fallbacks if it's out of stock:\n\n```json\n\"skuRules\": {\n  \"12-PACK\": {\n    \"swaps\": [\n      [ [{ \"sku\": \"12-PACK\", \"qty\": \"1\"  }] ],\n      [ [{ \"sku\": \"6-PACK\",  \"qty\": \"2\"  }] ],\n      [ [{ \"sku\": \"3-PACK\",  \"qty\": \"4\"  }] ],\n      [ [{ \"sku\": \"SINGLE\",  \"qty\": \"12\" }] ]\n    ]\n  }\n}\n```\n\nRouter behavior: try the original `12-PACK` first; if out of stock, fulfill with two `6-PACK`s; else four `3-PACK`s; else twelve `SINGLE`s. A richer \"dynamic bundle\" case uses multiple AND groups per swap option — e.g., a gift basket composed of a fragrance + a lotion + a toothbrush, each with ranked substitutes.\n",
            "additionalProperties": {
              "$ref": "#/components/schemas/OrderSkuRule"
            },
            "nullable": true
          },
          "sourceDoc": {
            "nullable": true,
            "$ref": "#/components/schemas/SourceDoc"
          },
          "status": {
            "$ref": "#/components/schemas/OrderStatus"
          },
          "subTotalPrice": {
            "type": "number",
            "nullable": true,
            "format": "float",
            "description": "Order subtotal: the sum of line item prices (unit price times quantity), typically before order-level adjustments — excludes orderDiscount, orderTax, and shipping charges. Provided by the order source; Pipe17 stores it as-is and does not recalculate it"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags",
            "nullable": true
          },
          "taxes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderTax"
            },
            "nullable": true
          },
          "timestamp": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "description": "General Purpose Time Stamp"
          },
          "totalPrice": {
            "type": "number",
            "nullable": true,
            "format": "float",
            "description": "Total Price"
          }
        }
      },
      "OrderUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "order": {
                "$ref": "#/components/schemas/OrderUpdateData"
              }
            }
          }
        ]
      },
      "OrderUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/OrderUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "OrderUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "order": {
                "$ref": "#/components/schemas/Order"
              }
            }
          }
        ]
      },
      "OrderUpdateTagsRequest": {
        "type": "object",
        "required": [
          "tags"
        ],
        "properties": {
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 1
          }
        }
      },
      "OrderUpdateTagsResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "modifiedCount": {
                "type": "number",
                "description": "Number of modified orders"
              }
            }
          }
        ]
      },
      "OrdersCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "orders": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrderCreateResult"
                }
              }
            }
          }
        ]
      },
      "OrdersCreateRequest": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/OrderCreateData"
        },
        "xml": {
          "name": "request",
          "wrapped": true
        },
        "maxItems": 10
      },
      "OrdersCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "orders": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrderCreateResult"
                }
              }
            }
          }
        ]
      },
      "OrdersDeleteError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/OrdersDeleteFilter"
              }
            }
          }
        ]
      },
      "OrdersDeleteFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/OrdersFilter"
          },
          {
            "type": "object",
            "description": "Delete Orders Filter",
            "properties": {
              "integration": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Orders of these integrations"
              },
              "orgMode": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrganizationMode"
                },
                "description": "Orders assigned these orgModes"
              }
            }
          }
        ]
      },
      "OrdersDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "deleted": {
                "type": "integer",
                "description": "Number of deleted orders"
              },
              "filters": {
                "$ref": "#/components/schemas/OrdersDeleteFilter"
              },
              "orders": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Order"
                }
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "OrdersFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Orders Filter",
            "properties": {
              "acknowledgedBy": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Orders by list of acknowledging integrations"
              },
              "deleted": {
                "type": "boolean",
                "description": "Soft deleted orders"
              },
              "extOrderId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Orders by list of extOrderId"
              },
              "locationId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Orders by list of locationId"
              },
              "orderId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Orders by list of orderId"
              },
              "orderSource": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Orders by list of order sources"
              },
              "orderSourceType": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrderType"
                },
                "description": "Orders by list of types"
              },
              "priority": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Priority"
                }
              },
              "routingStatus": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/RoutingStatus"
                },
                "description": "Orders by list of routing statuses"
              },
              "shipmentLocationIds": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Orders by list of shipment fulfillment location IDs"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrderStatus"
                },
                "description": "Orders by list of statuses"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              }
            }
          }
        ]
      },
      "OrdersListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/OrdersListFilter"
              }
            }
          }
        ]
      },
      "OrdersListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/OrdersFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "description": "List Orders Filter",
            "properties": {
              "disposition": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrderDispositionType"
                },
                "description": "Fetch orders by list of order disposition types"
              },
              "email": {
                "type": "string",
                "description": "Orders by recipient email (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
              },
              "emailAddr": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Orders by list of billing/shippingAddress.email (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
              },
              "exceptionCategoryId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Orders by list of categories of the order related exceptions"
              },
              "exceptionType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Orders by list of types of the order related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)"
              },
              "fulfilledAtSince": {
                "type": "string",
                "format": "date-time",
                "description": "Fetch all orders with fulfilledAt after or at this date-time"
              },
              "fulfilledAtUntil": {
                "type": "string",
                "format": "date-time",
                "description": "Fetch all orders with fulfilledAt before or at this date-time"
              },
              "hasSourceDoc": {
                "type": "boolean",
                "description": "Orders containing a source document"
              },
              "holdUntilSince": {
                "type": "string",
                "format": "date-time",
                "description": "Fetch all orders with holdUntil after or at this date-time. Rounded down to the nearest minute"
              },
              "holdUntilUntil": {
                "type": "string",
                "format": "date-time",
                "description": "Fetch all orders with holdUntil before or at this date-time. Rounded down to the nearest minute"
              },
              "lineItemSku": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Orders containing line items with these SKUs"
              },
              "requireShippingLabels": {
                "type": "boolean",
                "description": "Orders by shipping labels requirement"
              },
              "shipByDateSince": {
                "type": "string",
                "format": "date-time",
                "description": "Fetch all orders with shipByDate after or at this date-time"
              },
              "shipByDateUntil": {
                "type": "string",
                "format": "date-time",
                "description": "Fetch all orders with shipByDate before or at this date-time"
              },
              "shipByStatus": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrderShipByStatus"
                },
                "description": "Orders by list of ship-by SLA states"
              },
              "timestamp": {
                "type": "boolean",
                "description": "if set to true use timestamp instead of create time"
              }
            }
          }
        ]
      },
      "OrdersListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "required": [
              "orders"
            ],
            "properties": {
              "orders": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Order"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/OrdersListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "Organization": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "accountId": {
                "type": "string",
                "description": "Parent account Id"
              },
              "billingAccounts": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrganizationBillingAccountView"
                },
                "description": "Alternate billing accounts"
              },
              "branding": {
                "description": "Custom branding options. Can only be defined for accounts having isRebrandingAllowed:true",
                "$ref": "#/components/schemas/Branding"
              },
              "consent": {
                "$ref": "#/components/schemas/OrganizationOutputConsent"
              },
              "demoConfiguration": {
                "$ref": "#/components/schemas/OrganizationDemoConfiguration"
              },
              "isExternalIntegrationAccessAllowed": {
                "type": "boolean",
                "description": "Toggle that gates the external integration access feature on this org and its secondaries. When true, consuming apps may auto-provision delegated API keys, bounded by the caller's permissions, and issue one-time, time-limited connection URLs that let an external person without a Pipe17 account connect a store (via credentials or OAuth) to the org. Settable only on the primary org.\n"
              },
              "isHoldingOrg": {
                "type": "boolean",
                "description": "Marks organization as holding, i.e. parent org with no access to business objects."
              },
              "status": {
                "$ref": "#/components/schemas/OrganizationStatus"
              }
            }
          },
          {
            "$ref": "#/components/schemas/OrganizationBase"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "OrganizationAddress": {
        "type": "object",
        "required": [
          "firstName",
          "lastName",
          "address1",
          "city",
          "zipCodeOrPostalCode",
          "country"
        ],
        "properties": {
          "address1": {
            "description": "Address",
            "type": "string"
          },
          "city": {
            "description": "City",
            "type": "string"
          },
          "country": {
            "description": "Country",
            "type": "string"
          },
          "firstName": {
            "description": "First Name",
            "type": "string"
          },
          "lastName": {
            "description": "Last Name",
            "type": "string"
          },
          "zipCodeOrPostalCode": {
            "description": "zipcode or postal code",
            "type": "string"
          },
          "address2": {
            "description": "Address Line 2",
            "type": "string"
          },
          "company": {
            "description": "Company",
            "type": "string"
          },
          "stateOrProvince": {
            "description": "State or Province",
            "type": "string"
          }
        }
      },
      "OrganizationBase": {
        "type": "object",
        "required": [
          "name",
          "tier",
          "email",
          "phone",
          "timeZone",
          "address"
        ],
        "properties": {
          "address": {
            "$ref": "#/components/schemas/OrganizationAddress"
          },
          "email": {
            "type": "string",
            "description": "Organization Contact email"
          },
          "name": {
            "type": "string",
            "description": "Organization Name"
          },
          "phone": {
            "type": "string",
            "description": "Organization Contact Phone"
          },
          "tier": {
            "$ref": "#/components/schemas/OrganizationServiceTier"
          },
          "timeZone": {
            "$ref": "#/components/schemas/Timezone"
          },
          "contacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrganizationContact"
            }
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "logoUrl": {
            "type": "string",
            "description": "Logo URL"
          },
          "monitoringEnabled": {
            "type": "boolean",
            "description": "Allows the internal pipe 17 folks to enable/disable monitoring on the internal app (default - false)"
          },
          "orgMode": {
            "$ref": "#/components/schemas/OrganizationMode"
          },
          "settings": {
            "type": "array",
            "description": "Organization level settings",
            "items": {
              "$ref": "#/components/schemas/OrganizationSetting"
            }
          }
        }
      },
      "OrganizationBillingAccount": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "description": "Pipe17 org key of the billing org. Takes precedence over 'customerId' when both present. At least one of 'accountId' or 'customerId' must be provided per entry."
          },
          "billingRuleRef": {
            "type": "string",
            "description": "Reference to an external rule ID defining metering criteria. If absent, report all orders (same as primary account behavior)."
          },
          "customerId": {
            "type": "string",
            "description": "External billing system ID (e.g., TABS customer ID). Used when 'accountId' is absent or resolves to an invalid/non-billable org. At least one of 'accountId' or 'customerId' must be provided per entry."
          },
          "enabled": {
            "type": "boolean",
            "description": "Disabling preserves historical cross-billing data when a contract changes."
          },
          "endDate": {
            "type": "string",
            "format": "date-time",
            "description": "If absent, meter indefinitely while org is active."
          },
          "startDate": {
            "type": "string",
            "format": "date-time",
            "description": "If absent, start metering immediately on save."
          }
        },
        "description": "Alternate billing account"
      },
      "OrganizationBillingAccountView": {
        "allOf": [
          {
            "$ref": "#/components/schemas/OrganizationBillingAccount"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string",
                "format": "date-time"
              },
              "updatedAt": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        ],
        "description": "Alternate billing account"
      },
      "OrganizationCleanupRequest": {
        "type": "object",
        "required": [
          "orgModes"
        ],
        "properties": {
          "orgModes": {
            "type": "array",
            "description": "Only cleanup entities assigned this orgModes",
            "items": {
              "$ref": "#/components/schemas/OrganizationMode"
            }
          },
          "entityTypes": {
            "type": "array",
            "description": "Only cleanup entities of these types",
            "items": {
              "$ref": "#/components/schemas/EntityName"
            }
          },
          "hardDelete": {
            "type": "boolean",
            "description": "Use hard delete for data cleanup"
          }
        },
        "xml": {
          "name": "request"
        }
      },
      "OrganizationConsentLevel": {
        "type": "string",
        "enum": [
          "disabled",
          "read",
          "enhanced",
          "full",
          "inherit"
        ]
      },
      "OrganizationContact": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "Emergency",
              "Operations",
              "Logistics"
            ]
          },
          "additionalEmails": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "email": {
            "type": "string",
            "description": "Required field if phone is not defined"
          },
          "integrationId": {
            "type": "string"
          },
          "phone": {
            "type": "string",
            "description": "Required field if email is not defined"
          },
          "phone2": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "name"
        ]
      },
      "OrganizationCreateData": {
        "allOf": [
          {
            "$ref": "#/components/schemas/OrganizationBase"
          },
          {
            "type": "object",
            "properties": {
              "consent": {
                "$ref": "#/components/schemas/OrganizationInputConsent"
              }
            }
          }
        ]
      },
      "OrganizationCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "organization": {
                "$ref": "#/components/schemas/OrganizationCreateData"
              }
            }
          }
        ]
      },
      "OrganizationCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/OrganizationCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "OrganizationCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "organization": {
                "$ref": "#/components/schemas/Organization"
              }
            }
          }
        ]
      },
      "OrganizationDemoConfiguration": {
        "type": "object",
        "nullable": true,
        "required": [
          "isAllowed"
        ],
        "properties": {
          "isAllowed": {
            "type": "boolean",
            "default": false,
            "description": "Indicates whether the demo integrations are allowed  (! orgMode has to be 'demo' or 'internal' to set true)"
          },
          "bootstrapLocationsCount": {
            "type": "integer",
            "default": 1,
            "description": "Indicate how many locations to create for the integration"
          },
          "bootstrapOrdersCount": {
            "type": "integer",
            "default": 10,
            "description": "Indicate how many sales orders to create for each integration added with product pull enabled"
          },
          "bootstrapProductsCount": {
            "type": "integer",
            "default": 100,
            "description": "Indicates how large a catalog to create for each integration added with product pull enabled"
          },
          "expirationDate": {
            "type": "string",
            "format": "date",
            "description": "Date when demo mode functionality is paused (createdAt + 1 month, by default; is only relevant if demo integrations are allowed )"
          },
          "liveEndAt": {
            "type": "string",
            "format": "date-time",
            "description": "Date-time after with job/lambda should revert back to running every 24 hours (- is only relevant if demo integrations are allowed)"
          },
          "liveStartAt": {
            "type": "string",
            "format": "date-time",
            "description": "Date-time when job/lambda should run every 5 min (- is only relevant if demo integrations are allowed)"
          },
          "maxIntegrations": {
            "type": "integer",
            "default": 5,
            "description": "Max number of demo integrations one can add (- is only relevant if demo integrations are allowed)"
          },
          "productThemes": {
            "type": "string",
            "description": "Comma separated string values of product themes we support to influence the type of products created in the catalog"
          }
        }
      },
      "OrganizationDetachRequest": {
        "type": "object"
      },
      "OrganizationFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "OrganizationFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "organization": {
                "$ref": "#/components/schemas/Organization"
              }
            }
          }
        ]
      },
      "OrganizationInputConsent": {
        "type": "object",
        "properties": {
          "level": {
            "$ref": "#/components/schemas/OrganizationConsentLevel"
          }
        }
      },
      "OrganizationMode": {
        "type": "string",
        "description": "Organization Mode",
        "enum": [
          "sandbox",
          "production",
          "internal",
          "demo"
        ]
      },
      "OrganizationMoveRequest": {
        "type": "object",
        "required": [
          "accountId"
        ],
        "properties": {
          "accountId": {
            "type": "string",
            "description": "Target account ID"
          }
        },
        "xml": {
          "name": "request"
        }
      },
      "OrganizationOutputConsent": {
        "type": "object",
        "properties": {
          "level": {
            "$ref": "#/components/schemas/OrganizationConsentLevel"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Last time the level was updated"
          },
          "updatedBy": {
            "type": "string",
            "description": "Who initiated update (- userId || apikeyId)"
          }
        }
      },
      "OrganizationServiceTier": {
        "type": "string",
        "description": "Organization Service Tier",
        "enum": [
          "free",
          "basic",
          "enterprise"
        ]
      },
      "OrganizationSetting": {
        "type": "object",
        "required": [
          "path",
          "type",
          "value"
        ],
        "properties": {
          "path": {
            "type": "string",
            "description": "Setting Name"
          },
          "type": {
            "type": "string",
            "description": "Setting Type",
            "enum": [
              "string",
              "number",
              "boolean",
              "date",
              "array",
              "object",
              "json"
            ]
          },
          "value": {
            "type": "object",
            "description": "Setting Value"
          }
        }
      },
      "OrganizationStatus": {
        "type": "string",
        "description": "Organization Account Status",
        "enum": [
          "pending",
          "active",
          "disabled"
        ]
      },
      "OrganizationSwitchRequest": {
        "type": "object",
        "required": [
          "orgMode"
        ],
        "properties": {
          "orgMode": {
            "description": "Assign organization this new orgMode",
            "$ref": "#/components/schemas/OrganizationMode"
          }
        },
        "xml": {
          "name": "request"
        }
      },
      "OrganizationUpdateAddress": {
        "type": "object",
        "properties": {
          "address1": {
            "description": "Address",
            "type": "string"
          },
          "address2": {
            "description": "Address Line 2",
            "type": "string"
          },
          "city": {
            "description": "City",
            "type": "string"
          },
          "company": {
            "description": "Company",
            "type": "string"
          },
          "country": {
            "description": "Country",
            "type": "string"
          },
          "firstName": {
            "description": "First Name",
            "type": "string"
          },
          "lastName": {
            "description": "Last Name",
            "type": "string"
          },
          "stateOrProvince": {
            "description": "State or Province",
            "type": "string"
          },
          "zipCodeOrPostalCode": {
            "description": "zipcode or postal code",
            "type": "string"
          }
        }
      },
      "OrganizationUpdateData": {
        "type": "object",
        "properties": {
          "address": {
            "$ref": "#/components/schemas/OrganizationUpdateAddress"
          },
          "branding": {
            "description": "Custom branding options. Can only be defined for accounts having isRebrandingAllowed:true",
            "$ref": "#/components/schemas/Branding"
          },
          "consent": {
            "$ref": "#/components/schemas/OrganizationInputConsent"
          },
          "contacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrganizationContact"
            },
            "nullable": true
          },
          "demoConfiguration": {
            "$ref": "#/components/schemas/OrganizationDemoConfiguration"
          },
          "email": {
            "type": "string",
            "description": "Organization Contact email"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "isExternalIntegrationAccessAllowed": {
            "type": "boolean",
            "description": "Toggle that gates the external integration access feature on this org and its secondaries. When true, consuming apps may auto-provision delegated API keys, bounded by the caller's permissions, and issue one-time, time-limited connection URLs that let an external person without a Pipe17 account connect a store (via credentials or OAuth) to the org. Settable only on the primary org.\n"
          },
          "isHoldingOrg": {
            "type": "boolean",
            "description": "Marks organization as holding, i.e. parent org with no access to business objects."
          },
          "logoUrl": {
            "type": "string",
            "description": "Logo URL"
          },
          "monitoringEnabled": {
            "type": "boolean",
            "description": "Allows the internal pipe 17 folks to enable/disable monitoring on the internal app",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Organization Name"
          },
          "phone": {
            "type": "string",
            "description": "Organization Contact Phone"
          },
          "settings": {
            "type": "array",
            "description": "Organization level settings",
            "items": {
              "$ref": "#/components/schemas/OrganizationSetting"
            }
          },
          "status": {
            "$ref": "#/components/schemas/OrganizationStatus"
          },
          "tier": {
            "$ref": "#/components/schemas/OrganizationServiceTier"
          },
          "timeZone": {
            "$ref": "#/components/schemas/Timezone"
          }
        }
      },
      "OrganizationUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "organization": {
                "$ref": "#/components/schemas/OrganizationUpdateData"
              }
            }
          }
        ]
      },
      "OrganizationUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/OrganizationUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "OrganizationUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "organization": {
                "$ref": "#/components/schemas/Organization"
              }
            }
          }
        ]
      },
      "OrganizationsDeleteError": {
        "type": "object",
        "xml": {
          "name": "response"
        },
        "required": [
          "success",
          "code"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "description": "Copy of HTTP status",
            "format": "int32",
            "minimum": 400,
            "example": 404
          },
          "success": {
            "type": "boolean",
            "description": "Always false",
            "enum": [
              false
            ],
            "example": false
          },
          "conflict": {
            "type": "object",
            "description": "Details of the conflicting state, when the failure is a 409. The shape depends on the endpoint — a duplicate-key failure carries the offending keys, while /shipping_requests/{id}/request-labels carries `labels` (the labels the shipment already holds), `existingExtLabelIds` (the extLabelIds already claimed) or `refundedExtLabelIds` (extLabelIds belonging to refunded labels, which cannot be reused)."
          },
          "errors": {
            "type": "array",
            "description": "Error detail",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "string",
            "description": "Error message"
          },
          "vendorCode": {
            "type": "string",
            "description": "Vendor-specific error code passed through from a downstream connector/carrier (e.g. EasyPost \"SHIPMENT.REFUND.UNAVAILABLE\"). Present only when the failure originated at the vendor."
          }
        }
      },
      "OrganizationsDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "message": {
                "type": "string",
                "example": "OK (but NYI)"
              }
            }
          }
        ]
      },
      "OrganizationsFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Organizations Filter",
            "properties": {
              "accountId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Organizations by list of account Ids"
              },
              "deleted": {
                "type": "boolean",
                "description": "Fetch only soft-deleted organizations (ignore status)"
              },
              "email": {
                "type": "string",
                "description": "Organizations by email (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
              },
              "monitoringEnabled": {
                "type": "boolean",
                "description": "Organizations by monitoringEnabled value"
              },
              "name": {
                "type": "string",
                "description": "Organizations by name (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
              },
              "orgKey": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Organizations by list of orgKey"
              },
              "orgMode": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrganizationMode"
                },
                "description": "Organizations by list of modes"
              },
              "phone": {
                "type": "string",
                "description": "Organizations by phone (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrganizationStatus"
                },
                "description": "Organizations by list of statuses"
              }
            }
          }
        ]
      },
      "OrganizationsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/OrganizationsListFilter"
              }
            }
          }
        ]
      },
      "OrganizationsListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/OrganizationsFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys",
            "description": "List Organizations Filter"
          }
        ]
      },
      "OrganizationsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/OrganizationsListFilter"
              },
              "organizations": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Organization"
                }
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "OverfulfillPolicy": {
        "type": "string",
        "description": "Overfulfill policy",
        "enum": [
          "strict",
          "report",
          "approved"
        ]
      },
      "PSLChangeError": {
        "type": "object",
        "xml": {
          "name": "response"
        },
        "required": [
          "success",
          "code"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "description": "Copy of HTTP status",
            "format": "int32",
            "minimum": 400,
            "example": 404
          },
          "success": {
            "type": "boolean",
            "description": "Always false",
            "enum": [
              false
            ],
            "example": false
          },
          "conflict": {
            "type": "object",
            "description": "Details of the conflicting state, when the failure is a 409. The shape depends on the endpoint — a duplicate-key failure carries the offending keys, while /shipping_requests/{id}/request-labels carries `labels` (the labels the shipment already holds), `existingExtLabelIds` (the extLabelIds already claimed) or `refundedExtLabelIds` (extLabelIds belonging to refunded labels, which cannot be reused)."
          },
          "errors": {
            "type": "array",
            "description": "Error detail",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "string",
            "description": "Error message"
          },
          "vendorCode": {
            "type": "string",
            "description": "Vendor-specific error code passed through from a downstream connector/carrier (e.g. EasyPost \"SHIPMENT.REFUND.UNAVAILABLE\"). Present only when the failure originated at the vendor."
          }
        }
      },
      "PSLChangeRequest": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "PSLChangeResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "subjects": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "subject",
                    "status"
                  ],
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "added",
                        "removed",
                        "erasing",
                        "skipped",
                        "rejected"
                      ],
                      "description": "- `added` - the subject has been added to the PSL, the erasure of existing sensitive info started in background, the storing of sensitive info in new data stopped\n- `removed` - the subject has been removed from the PSL, the storing of sensitive info in new data resumed\n- `erasing` - one time erasure started (it is the same as  `added`, but the subject will be removed from the PSL automatically, just after the erasue is completed)\n- `skipped` - the subject has already been added/removed to/from the PSL\n- `rejected` - the operation failed\n"
                    },
                    "reason": {
                      "type": "string",
                      "description": "The reason for the refusal"
                    },
                    "subject": {
                      "type": "object",
                      "properties": {
                        "orgKey": {
                          "type": "string"
                        },
                        "email": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        ]
      },
      "PSLRevealError": {
        "type": "object",
        "xml": {
          "name": "response"
        },
        "required": [
          "success",
          "code"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "description": "Copy of HTTP status",
            "format": "int32",
            "minimum": 400,
            "example": 404
          },
          "success": {
            "type": "boolean",
            "description": "Always false",
            "enum": [
              false
            ],
            "example": false
          },
          "conflict": {
            "type": "object",
            "description": "Details of the conflicting state, when the failure is a 409. The shape depends on the endpoint — a duplicate-key failure carries the offending keys, while /shipping_requests/{id}/request-labels carries `labels` (the labels the shipment already holds), `existingExtLabelIds` (the extLabelIds already claimed) or `refundedExtLabelIds` (extLabelIds belonging to refunded labels, which cannot be reused)."
          },
          "errors": {
            "type": "array",
            "description": "Error detail",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "string",
            "description": "Error message"
          },
          "vendorCode": {
            "type": "string",
            "description": "Vendor-specific error code passed through from a downstream connector/carrier (e.g. EasyPost \"SHIPMENT.REFUND.UNAVAILABLE\"). Present only when the failure originated at the vendor."
          }
        }
      },
      "PSLRevealResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "subjects": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "orgKey",
                    "email"
                  ],
                  "properties": {
                    "orgKey": {
                      "type": "string"
                    },
                    "email": {
                      "type": "string"
                    },
                    "transient": {
                      "type": "boolean",
                      "description": "Indicates an incomplete `erase' operation (- subject will be removed from the PSL automatically, just after erasure process completion)."
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time",
                      "description": "The date when the subject was added to the PSL"
                    }
                  }
                },
                "description": "Currently protected data subjects"
              }
            }
          }
        ]
      },
      "Pagination": {
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates first page. Only returned when offset matches size"
          },
          "last": {
            "type": "boolean",
            "description": "Indicates last page. Only returned when offset matches size"
          },
          "outOfBounds": {
            "type": "boolean",
            "description": "Indicates that current offset is out of list range."
          },
          "pageIndex": {
            "type": "integer",
            "description": "Current page index, 1-based"
          },
          "pageSize": {
            "type": "integer",
            "description": "Page size"
          },
          "pages": {
            "type": "integer",
            "description": "Number of pages. Only returned when offset matches size"
          },
          "total": {
            "type": "integer",
            "description": "Total number of items matching current filter"
          },
          "truncated": {
            "type": "boolean",
            "description": "Indicates that `total` is a lower bound rather than a count: more items may match the query than this list could report. Returned only when that is the case. Do not render an exact result or page count from `total` when it is set."
          }
        }
      },
      "PartialFulfillmentMode": {
        "type": "string",
        "description": "Behavior when a store cannot fulfill all requested quantities on a shipping request:\n- `fullRejection`: reject the entire shipping request when any line is short\n- `partialByLine`: ship only lines that can be fulfilled completely; reject short lines\n- `partialByQuantity`: ship whatever quantity is available per line; reject the shortfall\n",
        "enum": [
          "fullRejection",
          "partialByLine",
          "partialByQuantity"
        ],
        "default": "fullRejection"
      },
      "PartialFulfillmentModeByType": {
        "type": "object",
        "description": "Optional per-order-type overrides for partial fulfillment behavior.\nWhen a key is omitted, the store's top-level `partialFulfillmentMode`\napplies to that order type.\n",
        "properties": {
          "pickup": {
            "$ref": "#/components/schemas/PartialFulfillmentMode"
          },
          "shipping": {
            "$ref": "#/components/schemas/PartialFulfillmentMode"
          }
        }
      },
      "Payment": {
        "type": "object",
        "required": [
          "amount",
          "currency",
          "status",
          "method"
        ],
        "properties": {
          "amount": {
            "type": "number"
          },
          "currency": {
            "type": "string"
          },
          "method": {
            "type": "string",
            "description": "payment method name",
            "enum": [
              "cash",
              "giftCard",
              "creditCard",
              "storeCredit",
              "paypal",
              "other",
              "custom"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "succeeded",
              "failed"
            ]
          },
          "conversion": {
            "type": "number"
          },
          "customMethod": {
            "type": "string",
            "description": "custom payment method name"
          },
          "kind": {
            "type": "string",
            "enum": [
              "visa",
              "mastercard",
              "amex",
              "discover"
            ]
          },
          "processedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Payment processing time"
          },
          "reference": {
            "type": "string",
            "description": "payment reference id"
          }
        }
      },
      "PaymentCreateData": {
        "type": "object",
        "xml": {
          "name": "payment"
        },
        "required": [
          "amount",
          "currency",
          "paymentStatus",
          "method"
        ],
        "properties": {
          "amount": {
            "type": "number"
          },
          "currency": {
            "type": "string"
          },
          "method": {
            "$ref": "#/components/schemas/PaymentMethod"
          },
          "paymentStatus": {
            "$ref": "#/components/schemas/PaymentTransactionStatus"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "customMethod": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time"
          },
          "extOrderId": {
            "type": "string"
          },
          "extParentId": {
            "type": "string"
          },
          "extPaymentId": {
            "type": "string"
          },
          "extStatus": {
            "type": "string"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "kind": {
            "$ref": "#/components/schemas/PaymentKind"
          },
          "orderId": {
            "type": "string"
          },
          "originalAmount": {
            "type": "number"
          },
          "originalCurrency": {
            "type": "string"
          },
          "parentId": {
            "type": "string"
          },
          "processedAt": {
            "type": "string",
            "format": "date-time"
          },
          "reference": {
            "type": "string"
          },
          "refundId": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/PaymentStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "type": {
            "$ref": "#/components/schemas/PaymentType"
          }
        }
      },
      "PaymentCreateResult": {
        "type": "object",
        "properties": {
          "conflict": {
            "type": "object",
            "description": "Duplicate key error details, if failed"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Error details if failed"
          },
          "message": {
            "type": "string",
            "description": "Error message if failed"
          },
          "payment": {
            "$ref": "#/components/schemas/PaymentTransaction"
          },
          "status": {
            "type": "string",
            "enum": [
              "submitted",
              "failed"
            ]
          }
        }
      },
      "PaymentFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "PaymentFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "payment": {
                "$ref": "#/components/schemas/PaymentTransaction"
              }
            }
          }
        ]
      },
      "PaymentKind": {
        "type": "string",
        "description": "Payment kind",
        "enum": [
          "visa",
          "mastercard",
          "amex",
          "discover"
        ]
      },
      "PaymentMethod": {
        "type": "string",
        "description": "Payment method",
        "enum": [
          "cash",
          "giftCard",
          "creditCard",
          "storeCredit",
          "paypal",
          "other",
          "custom"
        ]
      },
      "PaymentStatus": {
        "type": "string",
        "description": "Payment status",
        "enum": [
          "draft",
          "pending",
          "reported",
          "failed",
          "canceled"
        ]
      },
      "PaymentTransaction": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentCreateData"
          },
          {
            "type": "object",
            "properties": {
              "integration": {
                "type": "string",
                "description": "Reference to integration that created the payment"
              },
              "orderIntegration": {
                "type": "string",
                "description": "Reference to integration that created the order"
              },
              "paymentId": {
                "type": "string",
                "description": "The payment ID"
              }
            }
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "PaymentTransactionStatus": {
        "type": "string",
        "enum": [
          "authorized",
          "capturePending",
          "captured",
          "declined",
          "voided"
        ]
      },
      "PaymentType": {
        "type": "string",
        "description": "Payment type",
        "enum": [
          "payment",
          "refund"
        ]
      },
      "PaymentUpdateData": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number"
          },
          "currency": {
            "type": "string"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            },
            "nullable": true
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time"
          },
          "extParentId": {
            "type": "string"
          },
          "extPaymentId": {
            "type": "string"
          },
          "extStatus": {
            "type": "string"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "originalAmount": {
            "type": "number"
          },
          "originalCurrency": {
            "type": "string"
          },
          "paymentStatus": {
            "$ref": "#/components/schemas/PaymentTransactionStatus"
          },
          "processedAt": {
            "type": "string",
            "format": "date-time"
          },
          "reference": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/PaymentStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags",
            "nullable": true
          }
        }
      },
      "PaymentUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "payment": {
                "$ref": "#/components/schemas/PaymentUpdateData"
              }
            }
          }
        ]
      },
      "PaymentUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "PaymentUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "payment": {
                "$ref": "#/components/schemas/PaymentTransaction"
              }
            }
          }
        ]
      },
      "PaymentsCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "payments": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PaymentCreateResult"
                }
              }
            }
          }
        ]
      },
      "PaymentsCreateRequest": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PaymentCreateData"
        },
        "xml": {
          "name": "request",
          "wrapped": true
        },
        "maxItems": 10
      },
      "PaymentsCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "payments": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PaymentCreateResult"
                }
              }
            }
          }
        ]
      },
      "PaymentsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/PaymentsListFilter"
              }
            }
          }
        ]
      },
      "PaymentsListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Payments Filter",
            "properties": {
              "deleted": {
                "type": "boolean",
                "description": "Select the soft deleted payments"
              },
              "extOrderId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select payments by extOrderId list"
              },
              "extPaymentId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select payments by extPaymentId list"
              },
              "orderId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select payments by orderId list"
              },
              "paymentId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select payments by paymentId list"
              },
              "paymentStatus": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PaymentTransactionStatus"
                },
                "description": "Select payments by paymentStatus list"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PaymentStatus"
                },
                "description": "Select payments by status list"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              },
              "type": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PaymentType"
                },
                "description": "Select payments by type list"
              }
            }
          }
        ]
      },
      "PaymentsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/PaymentsListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "payments": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PaymentTransaction"
                }
              }
            }
          }
        ]
      },
      "Permissions": {
        "type": "string",
        "pattern": "^[crudl]{1,5}$"
      },
      "PermissionsNullable": {
        "type": "string",
        "nullable": true,
        "pattern": "^[crudl]{1,5}$"
      },
      "PermissionsReadOnly": {
        "type": "string",
        "pattern": "^[rl]{1,2}$"
      },
      "PermissionsReadOnlyNullable": {
        "type": "string",
        "nullable": true,
        "pattern": "^[rl]{1,2}$"
      },
      "PreferenceObject": {
        "type": "object",
        "required": [
          "path",
          "type",
          "value"
        ],
        "properties": {
          "path": {
            "type": "string",
            "description": "Preference Name"
          },
          "type": {
            "type": "string",
            "description": "Preference Type",
            "enum": [
              "string",
              "number",
              "boolean",
              "date",
              "array",
              "object",
              "json"
            ]
          },
          "value": {
            "type": "object",
            "description": "Preference Value"
          }
        }
      },
      "Price": {
        "type": "object",
        "properties": {
          "currency": {
            "type": "string",
            "description": "ISO currency code"
          },
          "name": {
            "type": "string",
            "description": "Price Name"
          },
          "value": {
            "type": "number",
            "format": "float",
            "description": "Price Amount"
          }
        }
      },
      "Pricing": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "pricingId": {
                "type": "string",
                "description": "Pricing ID"
              }
            }
          },
          {
            "$ref": "#/components/schemas/PricingCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "PricingActiveUntil": {
        "type": "string",
        "format": "date-time",
        "description": "When the plan is active until in the pricing catalog, if date is in the past, the plan is a legacy plan"
      },
      "PricingCreateData": {
        "type": "object",
        "xml": {
          "name": "Pricing"
        },
        "required": [
          "name",
          "rank",
          "monthlyAmount",
          "annualAmount",
          "included",
          "excess",
          "sources",
          "activeUntil"
        ],
        "properties": {
          "activeUntil": {
            "$ref": "#/components/schemas/PricingActiveUntil"
          },
          "annualAmount": {
            "type": "number",
            "format": "float",
            "description": "Payment, USD, when paying annualy"
          },
          "excess": {
            "type": "number",
            "format": "float",
            "description": "USD, per order, for orders over included number"
          },
          "included": {
            "type": "number",
            "format": "int32",
            "description": "Number of orders included in plan per year"
          },
          "monthlyAmount": {
            "type": "number",
            "format": "float",
            "description": "Payment, USD, when paying monthly"
          },
          "name": {
            "type": "string",
            "description": "Name of pricing Plan"
          },
          "rank": {
            "type": "number",
            "format": "float",
            "description": "Rank of pricing plan, higher has more features"
          },
          "sources": {
            "$ref": "#/components/schemas/PricingSources"
          },
          "api": {
            "type": "boolean",
            "description": "If true, plan includes use of API"
          },
          "bundles": {
            "type": "boolean",
            "description": "If true, plan includes use of bundles"
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "cutOver": {
            "type": "number",
            "description": "when exceeding this number of orders in a year, recommend higher ranked plan"
          },
          "description": {
            "type": "string",
            "description": "Pricing plan description"
          },
          "includedMonthly": {
            "type": "number",
            "format": "int32",
            "description": "Number of orders included in plan per month"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "max3pl": {
            "type": "number",
            "description": "Number of fulfillment integrations allowed in plan"
          },
          "maxERP": {
            "type": "number",
            "description": "Number of ERP integrations allowed in plan"
          },
          "maxIntg": {
            "type": "number",
            "description": "Number of integrations allowed in plan"
          },
          "maxSub": {
            "type": "number",
            "description": "Number of secondary organizations allowed in plan"
          },
          "poto": {
            "type": "boolean",
            "description": "If true, plan includes use Purchase / Transfer orders"
          },
          "routing": {
            "type": "boolean",
            "description": "If true, plan includes order routing"
          }
        }
      },
      "PricingCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "Pricing": {
                "type": "object",
                "items": {
                  "$ref": "#/components/schemas/PricingCreateResult"
                }
              }
            }
          }
        ]
      },
      "PricingCreateRequest": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/PricingCreateData"
          }
        ]
      },
      "PricingCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "pricing": {
                "type": "object",
                "items": {
                  "$ref": "#/components/schemas/PricingCreateResult"
                }
              }
            }
          }
        ]
      },
      "PricingCreateResult": {
        "type": "object",
        "properties": {
          "Pricing": {
            "$ref": "#/components/schemas/Pricing"
          },
          "conflict": {
            "type": "object",
            "description": "Duplicate key error details, if failed"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Error details if failed"
          },
          "message": {
            "type": "string",
            "description": "Error message if failed"
          },
          "status": {
            "type": "string",
            "enum": [
              "created",
              "failed"
            ]
          }
        }
      },
      "PricingFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "PricingFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "Pricing": {
                "$ref": "#/components/schemas/Pricing"
              }
            }
          }
        ]
      },
      "PricingFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Pricing Filter",
            "properties": {
              "api": {
                "type": "boolean",
                "description": "Pricing plans allowing use of API"
              },
              "bundles": {
                "type": "boolean",
                "description": "Pricing plans allowing use of bundles"
              },
              "categories": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Pricing plans allowing these connector categories"
              },
              "included": {
                "type": "integer",
                "format": "int32",
                "description": "Pricing plans including at least this many orders"
              },
              "min3pl": {
                "type": "integer",
                "format": "int32",
                "description": "Pricing plans allowing at least this many 3pl integrations"
              },
              "poto": {
                "type": "boolean",
                "description": "Pricing plans allowing use of Purchase / Transfer orders"
              },
              "routing": {
                "type": "boolean",
                "description": "Pricing plans allowing use of order routing"
              }
            }
          }
        ]
      },
      "PricingListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/PricingListFilter"
              }
            }
          }
        ]
      },
      "PricingListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PricingFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys",
            "description": "List Pricing Filter"
          }
        ]
      },
      "PricingListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "required": [
              "Pricing"
            ],
            "properties": {
              "Pricing": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Pricing"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/PricingListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "PricingSources": {
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "app",
            "shopify",
            "shopify-mcf"
          ]
        },
        "description": "Plan is available through these sources"
      },
      "PricingUpdateData": {
        "type": "object",
        "properties": {
          "activeUntil": {
            "$ref": "#/components/schemas/PricingActiveUntil"
          },
          "annualAmount": {
            "type": "number",
            "format": "float",
            "description": "Payment, USD, when paying annualy"
          },
          "api": {
            "type": "boolean",
            "description": "If true, plan includes use of API"
          },
          "bundles": {
            "type": "boolean",
            "description": "If true, plan includes use of bundles"
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "cutOver": {
            "type": "number",
            "description": "when exceeding this number of orders in a year, recommend higher ranked plan"
          },
          "description": {
            "type": "string",
            "description": "Pricing plan description"
          },
          "excess": {
            "type": "number",
            "format": "float",
            "description": "USD, per order, for orders over included number"
          },
          "included": {
            "type": "number",
            "format": "int32",
            "description": "Number of orders included in plan per year"
          },
          "includedMonthly": {
            "type": "number",
            "format": "int32",
            "description": "Number of orders included in plan per month"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "max3pl": {
            "type": "number",
            "description": "Number of fulfillment integrations allowed in plan"
          },
          "maxERP": {
            "type": "number",
            "description": "Number of ERP integrations allowed in plan"
          },
          "maxIntg": {
            "type": "number",
            "description": "Number of integrations allowed in plan"
          },
          "maxSub": {
            "type": "number",
            "description": "Number of secondary organizations allowed in plan"
          },
          "monthlyAmount": {
            "type": "number",
            "format": "float",
            "description": "Payment, USD, when paying monthly"
          },
          "name": {
            "type": "string",
            "description": "Name of pricing Plan"
          },
          "poto": {
            "type": "boolean",
            "description": "If true, plan includes use Purchase / Transfer orders"
          },
          "rank": {
            "type": "number",
            "format": "float",
            "description": "Rank of pricing plan, higher has more features"
          },
          "routing": {
            "type": "boolean",
            "description": "If true, plan includes order routing"
          },
          "sources": {
            "$ref": "#/components/schemas/PricingSources"
          }
        }
      },
      "PricingUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "Pricing": {
                "$ref": "#/components/schemas/PricingUpdateData"
              }
            }
          }
        ]
      },
      "PricingUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PricingUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "PricingUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "pricing": {
                "$ref": "#/components/schemas/Pricing"
              }
            }
          }
        ]
      },
      "Priority": {
        "type": "string",
        "enum": [
          "high",
          "low",
          "regular"
        ]
      },
      "PrivacyPolicy": {
        "type": "string",
        "enum": [
          "amazon"
        ]
      },
      "ProducstListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/ProductsListFilter"
              }
            }
          }
        ]
      },
      "ProducstListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "required": [
              "products"
            ],
            "properties": {
              "products": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Product"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/ProductsListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "Product": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "autoEngUpdateStatus": {
                "$ref": "#/components/schemas/AutoEngUpdateStatus"
              },
              "autoEngUpdateStatusUpdatedAt": {
                "$ref": "#/components/schemas/AutoEngUpdateStatusUpdatedAt"
              },
              "exceptionCategories": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "References to categories of exceptions related to the product"
              },
              "exceptions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Types of exceptions related to the product"
              },
              "integration": {
                "type": "string",
                "description": "Reference to integration that created an item"
              },
              "mappedProduct": {
                "$ref": "#/components/schemas/ProductPublishedItem",
                "description": "Mapped product information - available for integrations only"
              },
              "productId": {
                "type": "string",
                "description": "Product ID"
              }
            }
          },
          {
            "$ref": "#/components/schemas/ProductCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "ProductBundleItem": {
        "type": "object",
        "required": [
          "sku",
          "quantity"
        ],
        "properties": {
          "quantity": {
            "type": "number",
            "format": "float",
            "description": "Bundle Item Quantity"
          },
          "sku": {
            "type": "string",
            "description": "Bundle Item SKU"
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Last update timestamp"
          },
          "updatedBy": {
            "type": "string",
            "description": "Id of the last-update requester, if known"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Channel SKU for this item. On a write made with withSKUMapping, the channel SKU that 'sku' was resolved from is recorded here.\n"
          }
        }
      },
      "ProductCreateData": {
        "type": "object",
        "xml": {
          "name": "product"
        },
        "description": "We don't allow duplicated SKU within the system",
        "required": [
          "sku",
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Display Name"
          },
          "sku": {
            "type": "string",
            "description": "Product SKU"
          },
          "autoEngUpdateStatus": {
            "$ref": "#/components/schemas/AutoEngUpdateStatus"
          },
          "bundleItems": {
            "type": "array",
            "description": "Bundle Item need to reference the SKU of the actual product",
            "items": {
              "$ref": "#/components/schemas/ProductBundleItem"
            }
          },
          "cost": {
            "type": "number",
            "format": "float",
            "description": "Cost"
          },
          "costCurrency": {
            "type": "string",
            "description": "Currency"
          },
          "countryOfOrigin": {
            "type": "string",
            "description": "Country of Origin"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "description": {
            "type": "string",
            "description": "Description"
          },
          "dimensionsUnit": {
            "type": "string",
            "description": "Dimensions UOM",
            "enum": [
              "cm",
              "in",
              "ft"
            ]
          },
          "extProductApiId": {
            "type": "string",
            "description": "External Product API Id"
          },
          "extProductCreatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "extProductId": {
            "type": "string",
            "description": "External Product Id"
          },
          "extProductUpdatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "harmonizedCode": {
            "type": "string",
            "description": "Harmonized System/Tarrif Code"
          },
          "height": {
            "type": "number",
            "format": "float",
            "description": "Height"
          },
          "hideInStore": {
            "type": "boolean",
            "description": "Mark item as hidden in marketplace Storefront"
          },
          "imageURLs": {
            "type": "array",
            "description": "Image URLs",
            "items": {
              "type": "string"
            }
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "international": {
            "$ref": "#/components/schemas/ProductInternational"
          },
          "inventoryNotTracked": {
            "type": "boolean",
            "description": "Do not track inventory flag"
          },
          "length": {
            "type": "number",
            "format": "float",
            "description": "Length"
          },
          "options": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductOption"
            }
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "packingInstructions": {
            "type": "string"
          },
          "parentExtProductId": {
            "type": "string",
            "description": "Variant parent external product Id"
          },
          "partId": {
            "type": "string",
            "description": "Manufacturer part number"
          },
          "prices": {
            "type": "array",
            "description": "Start off with basePrice",
            "items": {
              "$ref": "#/components/schemas/Price"
            }
          },
          "published": {
            "type": "array",
            "description": "Published Channels",
            "items": {
              "$ref": "#/components/schemas/ProductPublishedItem"
            }
          },
          "sourceDoc": {
            "$ref": "#/components/schemas/SourceDoc"
          },
          "status": {
            "$ref": "#/components/schemas/ProductStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "taxable": {
            "type": "boolean",
            "description": "Taxable"
          },
          "types": {
            "type": "array",
            "description": "Product types",
            "items": {
              "$ref": "#/components/schemas/ProductType"
            }
          },
          "upc": {
            "type": "string",
            "description": "UPC"
          },
          "variantOptions": {
            "type": "array",
            "description": "this let us know the variant description",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "vendor": {
            "type": "string",
            "description": "vendor"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Channel SKU for this item. On a write made with withSKUMapping, the channel SKU that 'sku' was resolved from is recorded here.\n"
          },
          "weight": {
            "type": "number",
            "format": "float",
            "description": "Weight"
          },
          "weightUnit": {
            "type": "string",
            "description": "Weight UOM",
            "enum": [
              "lb",
              "oz",
              "kg",
              "g"
            ]
          },
          "width": {
            "type": "number",
            "format": "float",
            "description": "Width"
          }
        }
      },
      "ProductCreateResult": {
        "type": "object",
        "properties": {
          "conflict": {
            "type": "object",
            "description": "Duplicate key error details, if failed"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Error details if failed"
          },
          "message": {
            "type": "string",
            "description": "Error message if failed"
          },
          "product": {
            "$ref": "#/components/schemas/Product"
          },
          "status": {
            "type": "string",
            "enum": [
              "submitted",
              "failed"
            ]
          }
        }
      },
      "ProductFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "ProductFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "product": {
                "$ref": "#/components/schemas/Product"
              }
            }
          }
        ]
      },
      "ProductInternational": {
        "type": "object",
        "properties": {
          "currency": {
            "type": "string"
          },
          "declaredValue": {
            "type": "number",
            "format": "float"
          },
          "description": {
            "type": "string"
          }
        }
      },
      "ProductOption": {
        "type": "string",
        "enum": [
          "digital",
          "packagingMaterial",
          "insert",
          "nonReturnable",
          "fragile",
          "oversized",
          "SIOC",
          "hazmat",
          "lotTracked",
          "serialNumberTracked",
          "expiryDateTracked"
        ]
      },
      "ProductPublishedItem": {
        "type": "object",
        "required": [
          "integrationId"
        ],
        "properties": {
          "integrationId": {
            "type": "string",
            "description": "Reference to channel integration"
          },
          "bufferInventory": {
            "type": "integer",
            "format": "int32",
            "description": "Reserved buffer inventory quantity when publishing to this channel"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "extProductId": {
            "type": "string",
            "description": "Channel specific product id"
          },
          "inventoryNotTracked": {
            "type": "boolean",
            "description": "Do not track inventory for this channel"
          },
          "name": {
            "type": "string"
          },
          "sku": {
            "type": "string",
            "description": "Channel specific SKU"
          },
          "status": {
            "$ref": "#/components/schemas/ProductPublishedItemStatus"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Channel specific product updatedAt timestamp"
          },
          "updatedBy": {
            "type": "string",
            "description": "Id of the last-update requester, if known"
          }
        }
      },
      "ProductPublishedItemStatus": {
        "type": "string",
        "description": "Product published item status",
        "enum": [
          "tobepublished",
          "published",
          "tobeunpublished",
          "unpublished",
          "disabled"
        ]
      },
      "ProductPublishedItemUpdate": {
        "type": "object",
        "properties": {
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "extProductId": {
            "type": "string",
            "description": "Channel specific product id"
          },
          "integrationId": {
            "type": "string",
            "description": "Reference to channel integration"
          },
          "sku": {
            "type": "string",
            "description": "Channel specific product sku"
          },
          "status": {
            "$ref": "#/components/schemas/ProductPublishedItemStatus"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Channel specific product updatedAt timestamp"
          },
          "updatedBy": {
            "type": "string",
            "description": "Id of the last-update requester, if known"
          }
        }
      },
      "ProductStatus": {
        "type": "string",
        "description": "Product Status",
        "enum": [
          "active",
          "inactive"
        ]
      },
      "ProductSyncRequest": {
        "type": "object",
        "properties": {
          "syncAE": {
            "type": "boolean",
            "description": "Reset autoEngUpdateStatus"
          }
        }
      },
      "ProductType": {
        "type": "string",
        "description": "Product Type",
        "enum": [
          "simple",
          "bundle",
          "bundleItem",
          "child",
          "parent"
        ]
      },
      "ProductUpdateData": {
        "type": "object",
        "properties": {
          "autoEngUpdateStatus": {
            "$ref": "#/components/schemas/AutoEngUpdateStatus"
          },
          "bundleItems": {
            "type": "array",
            "nullable": true,
            "description": "Bundle Item need to reference the SKU of the actual product",
            "items": {
              "$ref": "#/components/schemas/ProductBundleItem"
            }
          },
          "cost": {
            "type": "number",
            "nullable": true,
            "format": "float",
            "description": "Cost"
          },
          "costCurrency": {
            "type": "string",
            "nullable": true,
            "description": "Currency"
          },
          "countryOfOrigin": {
            "type": "string",
            "nullable": true,
            "description": "Country of Origin"
          },
          "customFields": {
            "type": "array",
            "nullable": true,
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "description": {
            "type": "string",
            "description": "Description"
          },
          "dimensionsUnit": {
            "type": "string",
            "description": "Dimensions UOM",
            "enum": [
              "cm",
              "in",
              "ft"
            ]
          },
          "extProductApiId": {
            "type": "string",
            "description": "External Product API Id"
          },
          "extProductCreatedAt": {
            "type": "string",
            "nullable": true,
            "format": "date-time"
          },
          "extProductUpdatedAt": {
            "type": "string",
            "nullable": true,
            "format": "date-time"
          },
          "harmonizedCode": {
            "type": "string",
            "nullable": true,
            "description": "Harmonized System/Tariff Code"
          },
          "height": {
            "type": "number",
            "nullable": true,
            "format": "float",
            "description": "Height"
          },
          "hideInStore": {
            "type": "boolean",
            "nullable": true,
            "description": "Mark item as hidden in marketplace Storefront"
          },
          "imageURLs": {
            "type": "array",
            "description": "Image URLs",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "international": {
            "$ref": "#/components/schemas/ProductInternational"
          },
          "inventoryNotTracked": {
            "type": "boolean",
            "nullable": true,
            "description": "Do not track inventory flag"
          },
          "length": {
            "type": "number",
            "nullable": true,
            "format": "float",
            "description": "Length"
          },
          "mappedProduct": {
            "$ref": "#/components/schemas/ProductPublishedItemUpdate",
            "description": "Mapped product information - for integrations only"
          },
          "name": {
            "type": "string",
            "description": "Display Name"
          },
          "options": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductOption"
            },
            "nullable": true
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "packingInstructions": {
            "type": "string",
            "nullable": true
          },
          "parentExtProductId": {
            "type": "string",
            "nullable": true,
            "description": "Variant parent external product Id"
          },
          "partId": {
            "type": "string",
            "nullable": true,
            "description": "Manufacturer part number"
          },
          "prices": {
            "type": "array",
            "description": "Start off with basePrice",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Price"
            }
          },
          "published": {
            "type": "array",
            "nullable": true,
            "description": "Published Channels",
            "items": {
              "$ref": "#/components/schemas/ProductPublishedItem"
            }
          },
          "sku": {
            "type": "string",
            "description": "Product SKU"
          },
          "sourceDoc": {
            "nullable": true,
            "$ref": "#/components/schemas/SourceDoc"
          },
          "status": {
            "$ref": "#/components/schemas/ProductStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags",
            "nullable": true
          },
          "taxable": {
            "type": "boolean",
            "nullable": true,
            "description": "Taxable"
          },
          "types": {
            "type": "array",
            "description": "Product types",
            "items": {
              "$ref": "#/components/schemas/ProductType"
            }
          },
          "upc": {
            "type": "string",
            "nullable": true,
            "description": "UPC"
          },
          "variantOptions": {
            "type": "array",
            "nullable": true,
            "description": "this let us know the variant description",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "vendor": {
            "type": "string",
            "nullable": true,
            "description": "vendor"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Channel SKU for this item. On a write made with withSKUMapping, the channel SKU that 'sku' was resolved from is recorded here.\n"
          },
          "weight": {
            "type": "number",
            "nullable": true,
            "format": "float",
            "description": "Weight"
          },
          "weightUnit": {
            "type": "string",
            "nullable": true,
            "description": "Weight UOM",
            "enum": [
              "lb",
              "oz",
              "kg",
              "g"
            ]
          },
          "width": {
            "type": "number",
            "nullable": true,
            "format": "float",
            "description": "Width"
          }
        }
      },
      "ProductUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "product": {
                "$ref": "#/components/schemas/ProductUpdateData"
              }
            }
          }
        ]
      },
      "ProductUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ProductUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "ProductUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "product": {
                "$ref": "#/components/schemas/Product"
              }
            }
          }
        ]
      },
      "ProductsCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "products": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ProductCreateResult"
                }
              }
            }
          }
        ]
      },
      "ProductsCreateRequest": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ProductCreateData"
        },
        "xml": {
          "name": "request",
          "wrapped": true
        },
        "maxItems": 10
      },
      "ProductsCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "products": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ProductCreateResult"
                }
              }
            }
          }
        ]
      },
      "ProductsDeleteError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/ProductsDeleteFilter"
              }
            }
          }
        ]
      },
      "ProductsDeleteFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ProductsFilter"
          },
          {
            "type": "object",
            "description": "Delete Products Filter",
            "properties": {
              "orgMode": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrganizationMode"
                },
                "description": "Products assigned these orgModes"
              }
            }
          }
        ]
      },
      "ProductsDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "deleted": {
                "type": "integer",
                "description": "Number of deleted products"
              },
              "filters": {
                "$ref": "#/components/schemas/ProductsDeleteFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "products": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Product"
                }
              }
            }
          }
        ]
      },
      "ProductsFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Products Filter",
            "properties": {
              "deleted": {
                "type": "boolean",
                "description": "Soft deleted products"
              },
              "extProductId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Products by list of extProductId"
              },
              "integration": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Products of these integrations"
              },
              "mappedSKU": {
                "type": "boolean",
                "description": "Products with SKU mapping defined"
              },
              "parentExtProductId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "All variants of a parent products by list of external ids"
              },
              "productId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Products by list of productId"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ProductStatus"
                },
                "description": "Products with this status"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              },
              "types": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ProductType"
                },
                "description": "Products matching specified types"
              }
            }
          }
        ]
      },
      "ProductsListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ProductsFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "description": "List Products Filter",
            "properties": {
              "bundleSKU": {
                "type": "string",
                "description": "Products of the bundle with this SKU"
              },
              "exceptionCategoryId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Products by list of categories of the product related exceptions"
              },
              "exceptionType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Products by list of types of the product related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)"
              },
              "hasSourceDoc": {
                "type": "boolean",
                "description": "Products containing a source document"
              },
              "inBundle": {
                "type": "string",
                "description": "All bundles containing the item with this SKU"
              },
              "inventoryNotTracked": {
                "type": "boolean",
                "description": "Retrieve products by inventoryNotTracked value (default - any)"
              },
              "name": {
                "type": "string",
                "description": "Products by name (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
              },
              "notPublished": {
                "type": "boolean",
                "description": "Products that do not have \"published channels\""
              },
              "publishedSKU": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Products with this published SKU"
              },
              "publishedStatus": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ProductPublishedItemStatus"
                },
                "description": "Products with this published status"
              },
              "requestorId": {
                "type": "string",
                "description": "Requestor Id (- forcibly replaced with integration ID if the request came from an integration)"
              },
              "sku": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Products by list sku"
              },
              "sku_gt": {
                "type": "string",
                "description": "Products in which SKU is lexicographically greater than the specified value"
              },
              "sku_lt": {
                "type": "string",
                "description": "Products in which SKU is lexicographically less than the specified value"
              }
            }
          }
        ]
      },
      "Purchase": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "exceptionCategories": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "References to categories of exceptions related to the purchase"
              },
              "exceptions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Types of exceptions related to the purchase"
              },
              "integration": {
                "type": "string",
                "description": "Reference to integration that created an item"
              },
              "purchaseId": {
                "type": "string",
                "description": "Purchase ID"
              },
              "timeline": {
                "description": "Timeline of updates",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PurchaseChangelogEntry"
                }
              }
            }
          },
          {
            "$ref": "#/components/schemas/PurchaseCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "PurchaseChangelogEntry": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "extOrderId": {
                "type": "string",
                "description": "External Order Id"
              },
              "purchaseId": {
                "type": "string",
                "description": "Purchase order Id"
              }
            }
          },
          {
            "$ref": "#/components/schemas/ChangelogEntryBase"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "PurchaseCost": {
        "type": "object",
        "required": [
          "name",
          "cost"
        ],
        "properties": {
          "cost": {
            "type": "number",
            "format": "float",
            "description": "Cost"
          },
          "name": {
            "type": "string",
            "description": "Name"
          },
          "quantity": {
            "type": "number",
            "format": "float",
            "description": "Quantity"
          }
        }
      },
      "PurchaseCosts": {
        "type": "array",
        "nullable": true,
        "items": {
          "$ref": "#/components/schemas/PurchaseCost"
        },
        "description": "Purchase costs"
      },
      "PurchaseCreateData": {
        "type": "object",
        "xml": {
          "name": "purchase"
        },
        "required": [
          "extOrderId"
        ],
        "properties": {
          "extOrderId": {
            "type": "string",
            "description": "External Purchase Order ID"
          },
          "actualArrivalDate": {
            "type": "string",
            "format": "date-time",
            "description": "Actual Arrival Date (from most recent Arrival)"
          },
          "billingAddress": {
            "$ref": "#/components/schemas/Address"
          },
          "costs": {
            "$ref": "#/components/schemas/PurchaseCosts"
          },
          "currency": {
            "type": "string",
            "description": "Order currency code"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "disableShipmentsReuse": {
            "type": "boolean",
            "description": "Hint to whether shipmentId should be re-used, or not"
          },
          "employeeName": {
            "type": "string",
            "description": "Purchase order created by"
          },
          "expectedArrivalDate": {
            "type": "string",
            "format": "date-time",
            "description": "Expected Arrival Date"
          },
          "extOrderApiId": {
            "type": "string",
            "description": "External System Purchase Order API ID"
          },
          "extReferenceId": {
            "type": "string",
            "description": "Reference ID"
          },
          "holdUntil": {
            "type": "string",
            "format": "date-time"
          },
          "incoterms": {
            "type": "string",
            "description": "International Commercial Terms"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PurchaseLineItem"
            }
          },
          "purchaseNotes": {
            "type": "string",
            "description": "Purchase Notes"
          },
          "purchaseOrderDate": {
            "type": "string",
            "format": "date-time",
            "description": "Purchase Order Date"
          },
          "purchaseTax": {
            "type": "number",
            "format": "float",
            "description": "Purchase Tax"
          },
          "referenceNumber": {
            "type": "string",
            "description": "Purchase order reference number"
          },
          "shipByDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date-time by which the vendor is expected to ship the purchase order (SLA target). Not a hard deadline: no automatic action is taken and no error occurs when the date passes — it is stored for visibility and vendor-performance tracking"
          },
          "shippingCarrier": {
            "type": "string",
            "description": "Shipping Carrier"
          },
          "shippingNotes": {
            "type": "string",
            "description": "Shipping Notes"
          },
          "shippingService": {
            "type": "string",
            "description": "Shipping Service Type"
          },
          "sourceDoc": {
            "$ref": "#/components/schemas/SourceDoc"
          },
          "status": {
            "$ref": "#/components/schemas/PurchaseStatus"
          },
          "subTotalPrice": {
            "type": "number",
            "format": "float",
            "description": "Sub Total Price"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "description": "General Purpose Time Stamp"
          },
          "toAddress": {
            "$ref": "#/components/schemas/Address",
            "description": "Ship to address"
          },
          "toLocationId": {
            "type": "string",
            "description": "Ship to location ID"
          },
          "totalPrice": {
            "type": "number",
            "format": "float",
            "description": "Total Price"
          },
          "vendorAddress": {
            "$ref": "#/components/schemas/Address",
            "description": "Vendor address"
          }
        }
      },
      "PurchaseCreateResult": {
        "type": "object",
        "properties": {
          "conflict": {
            "type": "object",
            "description": "Duplicate key error details, if failed"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Error details if failed"
          },
          "message": {
            "type": "string",
            "description": "Error message if failed"
          },
          "purchase": {
            "$ref": "#/components/schemas/Purchase"
          },
          "status": {
            "type": "string",
            "enum": [
              "submitted",
              "failed"
            ]
          }
        }
      },
      "PurchaseFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "PurchaseFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "purchase": {
                "$ref": "#/components/schemas/Purchase"
              }
            }
          }
        ]
      },
      "PurchaseLabelRequest": {
        "type": "object",
        "required": [
          "carrier",
          "serviceLevel",
          "userId"
        ],
        "properties": {
          "carrier": {
            "type": "string",
            "description": "Shipping carrier (e.g., FedEx, UPS, USPS)"
          },
          "serviceLevel": {
            "type": "string",
            "description": "Service level (e.g., Ground, Express, Priority)"
          },
          "userId": {
            "type": "string",
            "description": "Associate user ID requesting the label"
          },
          "packageDimensions": {
            "type": "object",
            "properties": {
              "length": {
                "type": "number",
                "format": "float"
              },
              "width": {
                "type": "number",
                "format": "float"
              },
              "height": {
                "type": "number",
                "format": "float"
              }
            }
          },
          "packageWeight": {
            "type": "number",
            "format": "float",
            "description": "Package weight in ounces"
          }
        }
      },
      "PurchaseLabelResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "label": {
                "type": "object",
                "properties": {
                  "labelUrl": {
                    "type": "string",
                    "description": "URL to download/print the label"
                  },
                  "trackingNumber": {
                    "type": "string",
                    "description": "Carrier tracking number"
                  },
                  "carrier": {
                    "type": "string"
                  },
                  "serviceLevel": {
                    "type": "string"
                  },
                  "estimatedDelivery": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "cost": {
                    "type": "number",
                    "format": "float"
                  }
                }
              },
              "shipment": {
                "$ref": "#/components/schemas/Shipment"
              }
            }
          }
        ]
      },
      "PurchaseLineItem": {
        "type": "object",
        "required": [
          "uniqueId",
          "quantity"
        ],
        "properties": {
          "quantity": {
            "type": "number",
            "format": "float",
            "description": "Item Quantity"
          },
          "uniqueId": {
            "type": "string",
            "description": "Item unique Id (within purchase)"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "locationId": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "Item Name or Description"
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "partId": {
            "type": "string",
            "description": "Manufacturer Part ID"
          },
          "price": {
            "type": "number",
            "format": "float",
            "description": "Item Price"
          },
          "quantityUnit": {
            "$ref": "#/components/schemas/ItemQuantityUnit"
          },
          "receivedQuantity": {
            "type": "number",
            "format": "float",
            "description": "Received quantity"
          },
          "routed": {
            "type": "boolean"
          },
          "shippedQuantity": {
            "type": "number",
            "format": "float",
            "description": "Shipped quantity"
          },
          "sku": {
            "type": "string",
            "description": "Purchaser Item SKU"
          },
          "upc": {
            "type": "string",
            "description": "Item UPC"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Channel SKU for this item. On a write made with withSKUMapping, the channel SKU that 'sku' was resolved from is recorded here.\n"
          }
        }
      },
      "PurchaseStatus": {
        "type": "string",
        "description": "Purchase Status",
        "enum": [
          "draft",
          "new",
          "onHold",
          "toBeValidated",
          "reviewRequired",
          "readyForFulfillment",
          "sentToFulfillment",
          "partialFulfillment",
          "fulfilled",
          "inTransit",
          "partialReceived",
          "received",
          "canceled",
          "returned",
          "refunded",
          "archived",
          "closed"
        ]
      },
      "PurchaseUpdateData": {
        "type": "object",
        "properties": {
          "actualArrivalDate": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "description": "Actual Arrival Date (from most recent Arrival)"
          },
          "billingAddress": {
            "$ref": "#/components/schemas/AddressUpdateData"
          },
          "costs": {
            "$ref": "#/components/schemas/PurchaseCosts"
          },
          "currency": {
            "type": "string",
            "description": "Order currency code"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "disableShipmentsReuse": {
            "type": "boolean",
            "description": "Hint to whether shipmentId should be re-used, or not",
            "nullable": true
          },
          "employeeName": {
            "type": "string",
            "nullable": true,
            "description": "Purchase order created by"
          },
          "expectedArrivalDate": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "description": "Expected Arrival Date"
          },
          "extReferenceId": {
            "type": "string",
            "description": "Reference ID"
          },
          "holdUntil": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PurchaseUpdateLineItem"
            }
          },
          "purchaseNotes": {
            "type": "string",
            "nullable": true,
            "description": "Purchase Notes"
          },
          "purchaseTax": {
            "type": "number",
            "nullable": true,
            "format": "float",
            "description": "Purchase Tax"
          },
          "referenceNumber": {
            "type": "string",
            "nullable": true,
            "description": "Purchase order reference number"
          },
          "shipByDate": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "description": "Date-time by which the vendor is expected to ship the purchase order (SLA target). Not a hard deadline: no automatic action is taken and no error occurs when the date passes — it is stored for visibility and vendor-performance tracking"
          },
          "shippingCarrier": {
            "type": "string",
            "nullable": true,
            "description": "Shipping Carrier"
          },
          "shippingNotes": {
            "type": "string",
            "nullable": true,
            "description": "Shipping Notes"
          },
          "shippingService": {
            "type": "string",
            "nullable": true,
            "description": "Shipping Service Type"
          },
          "sourceDoc": {
            "nullable": true,
            "$ref": "#/components/schemas/SourceDoc"
          },
          "status": {
            "$ref": "#/components/schemas/PurchaseStatus"
          },
          "subTotalPrice": {
            "type": "number",
            "nullable": true,
            "format": "float",
            "description": "Sub Total Price"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "timestamp": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "description": "General Purpose Time Stamp"
          },
          "toAddress": {
            "$ref": "#/components/schemas/AddressNullable",
            "description": "Ship to address"
          },
          "toLocationId": {
            "type": "string",
            "nullable": true,
            "description": "Ship to location ID"
          },
          "totalPrice": {
            "type": "number",
            "nullable": true,
            "format": "float",
            "description": "Total Price"
          },
          "vendorAddress": {
            "$ref": "#/components/schemas/AddressUpdateData",
            "description": "Vendor address"
          }
        }
      },
      "PurchaseUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "purchase": {
                "$ref": "#/components/schemas/PurchaseUpdateData"
              }
            }
          }
        ]
      },
      "PurchaseUpdateLineItem": {
        "type": "object",
        "properties": {
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "locationId": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "Item Name or Description"
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "partId": {
            "type": "string",
            "description": "Manufacturer Part ID"
          },
          "price": {
            "type": "number",
            "format": "float",
            "description": "Item Price"
          },
          "quantity": {
            "type": "number",
            "format": "float",
            "description": "Item Quantity"
          },
          "quantityUnit": {
            "$ref": "#/components/schemas/ItemQuantityUnit"
          },
          "receivedQuantity": {
            "type": "number",
            "format": "float",
            "description": "Received quantity"
          },
          "routed": {
            "type": "boolean"
          },
          "shippedQuantity": {
            "type": "number",
            "format": "float",
            "description": "Shipped quantity"
          },
          "sku": {
            "type": "string",
            "description": "Purchaser Item SKU"
          },
          "uniqueId": {
            "type": "string",
            "description": "Item unique Id (within purchase)"
          },
          "upc": {
            "type": "string",
            "description": "Item UPC"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Channel SKU for this item. On a write made with withSKUMapping, the channel SKU that 'sku' was resolved from is recorded here.\n"
          }
        }
      },
      "PurchaseUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PurchaseUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "PurchaseUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "purchase": {
                "$ref": "#/components/schemas/Purchase"
              }
            }
          }
        ]
      },
      "PurchasesCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "purchases": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PurchaseCreateResult"
                }
              }
            }
          }
        ]
      },
      "PurchasesCreateRequest": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PurchaseCreateData"
        },
        "xml": {
          "name": "request",
          "wrapped": true
        },
        "maxItems": 10
      },
      "PurchasesCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "purchases": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PurchaseCreateResult"
                }
              }
            }
          }
        ]
      },
      "PurchasesDeleteError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/PurchasesDeleteFilter"
              }
            }
          }
        ]
      },
      "PurchasesDeleteFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PurchasesFilter"
          },
          {
            "type": "object",
            "description": "Delete Purchases Filter",
            "properties": {
              "orgMode": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrganizationMode"
                },
                "description": "Purchases assigned these orgModes"
              }
            }
          }
        ]
      },
      "PurchasesDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "deleted": {
                "type": "integer",
                "description": "Number of deleted purchases"
              },
              "filters": {
                "$ref": "#/components/schemas/PurchasesDeleteFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "purchases": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Purchase"
                }
              }
            }
          }
        ]
      },
      "PurchasesFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Purchases Filter",
            "properties": {
              "deleted": {
                "type": "boolean",
                "description": "Soft deleted purchases"
              },
              "extOrderId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Purchases by list of external purchase IDs"
              },
              "extReferenceId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Purchases by `extReferenceId` list"
              },
              "integration": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Purchases of these integrations"
              },
              "purchaseId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Purchases by list of purchaseId"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PurchaseStatus"
                },
                "description": "Purchases by list of statuses"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              },
              "toLocationId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Purchases by list of toLocationId"
              }
            }
          }
        ]
      },
      "PurchasesListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/PurchasesListFilter"
              }
            }
          }
        ]
      },
      "PurchasesListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PurchasesFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "description": "List Purchases Filter",
            "properties": {
              "exceptionCategoryId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Purchases by list of categories of the purchase related exceptions"
              },
              "exceptionType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Purchases by list of types of the purchase related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)"
              },
              "hasSourceDoc": {
                "type": "boolean",
                "description": "Purchases containing a source document"
              },
              "timestamp": {
                "type": "boolean",
                "description": "if set to true use timestamp instead of create time"
              }
            }
          }
        ]
      },
      "PurchasesListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "required": [
              "purchases"
            ],
            "properties": {
              "purchases": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Purchase"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/PurchasesListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "RawScheduleBody": {
        "type": "object",
        "description": "Underlying property bag for a Schedule. All fields are optional here; the\ndownstream wrappers `ScheduleUpdateData` and `ScheduleBody` decide which\nfields are required for their respective wire contexts (PATCH vs. POST).\n",
        "properties": {
          "description": {
            "type": "string",
            "maxLength": 2000,
            "description": "Free-text operational description. Trimmed server-side."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200,
            "description": "Human-readable name. Trimmed server-side before validation. Unique within\nan organization (case-sensitive, post-trim).\n"
          },
          "scheduleExceptions": {
            "type": "array",
            "nullable": true,
            "maxItems": 200,
            "description": "One-off or holiday overrides to the recurring `windows`. Each entry\neither fully closes the schedule (`effect: closed`, the default) or\nsets special hours (`effect: open` with `windows`) on a single\ncalendar `date` or a recognized `holiday` symbol.\n\nSend `null` or omit the field to leave it unconfigured — consumers\nthen inherit the exceptions of a default/integration schedule; `null`\nbehaves exactly like omitting it and never round-trips as `null`\n(reads back absent). Send `[]` to set an explicit empty set (no\noverrides, and nothing inherited). Send entries to set them. Full\nreplacement on update (not a delta): on update, `null` or `[]` clears\nany previously stored exceptions.\n\nTo resolve holiday symbols to concrete observed dates over a calendar\nrange, call `GET /schedules/{ScheduleId}/resolved-exceptions?from=&to=`.\n",
            "items": {
              "$ref": "#/components/schemas/ScheduleException"
            }
          },
          "timezone": {
            "type": "string",
            "nullable": true,
            "description": "IANA timezone identifier (e.g., \"America/New_York\"). The literal string\n\"UTC\" is accepted as a convenience and normalized to \"Etc/UTC\" on write.\n\n`null` in storage indicates a templated/contextual schedule: the consumer\n(Location, holds policy, etc.) supplies the interpretation timezone at\nuse time. A single \"9-5 weekday\" definition can be referenced from\nwarehouses across multiple regions without copying the windows per zone.\nThe schema declares `nullable: true` because GET responses for templated\nschedules legitimately carry `\"timezone\": null`.\n\nWire idiom for clients: do not send literal `null` on either create or\nupdate. To create a templated schedule, omit the `timezone` field on\nPOST — the server canonicalizes the absence to `null` in storage. To\nswitch a pinned schedule back to templated, delete and recreate it.\n`POST {\"timezone\": null}` is rejected by the descriptor (generator drops\n`nullable: true` on create). `PATCH {\"timezone\": null}` is rejected by\nthe handler for symmetry with create and to keep storage semantics\nconsistent (the underlying update layer translates null to `$unset`,\nwhich would diverge from the BSON-null storage shape; rather than work\naround that, we just disallow the wire form).\n"
          },
          "windows": {
            "type": "array",
            "maxItems": 500,
            "description": "Replacement set of active windows on the weekly circular timeline (full\nreplacement on update, not delta). Server canonicalizes window order on write.\n",
            "items": {
              "$ref": "#/components/schemas/ScheduleWindow"
            }
          }
        }
      },
      "Receipt": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "arrivalIntegration": {
                "type": "string",
                "description": "Reference to integration that created arrival tied to receipt"
              },
              "exceptionCategories": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "References to categories of exceptions related to the receipt"
              },
              "exceptions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Types of exceptions related to the receipt"
              },
              "extArrivalId": {
                "type": "string",
                "description": "External arrival ID"
              },
              "extOrderId": {
                "type": "string",
                "description": "External Order ID"
              },
              "integration": {
                "type": "string",
                "description": "Reference to integration that created receipt"
              },
              "lineItems": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ReceiptItemWithRefs"
                }
              },
              "orderIntegration": {
                "type": "string",
                "description": "Reference to integration that created order tied to receipt"
              },
              "receiptId": {
                "type": "string",
                "description": "Receipt ID"
              },
              "status": {
                "type": "string",
                "enum": [
                  "received",
                  "deleted"
                ]
              },
              "timeline": {
                "description": "Timeline of updates",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ReceiptChangelogEntry"
                }
              }
            }
          },
          {
            "$ref": "#/components/schemas/ReceiptCreateBaseData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "ReceiptChangelogEntry": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "arrivalId": {
                "type": "string",
                "description": "Arrival Id"
              },
              "receiptId": {
                "type": "string",
                "description": "Receipt Id"
              }
            }
          },
          {
            "$ref": "#/components/schemas/ChangelogEntryBase"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "ReceiptCreateBaseData": {
        "type": "object",
        "xml": {
          "name": "receipt"
        },
        "required": [
          "arrivalId"
        ],
        "properties": {
          "arrivalId": {
            "type": "string",
            "description": "Arrival ID"
          },
          "actualArrivalDate": {
            "type": "string",
            "format": "date-time",
            "description": "Actual arrival date"
          },
          "currency": {
            "type": "string",
            "description": "Currency"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "extReceiptApiId": {
            "type": "string",
            "description": "External System Receipt API ID"
          },
          "extReceiptId": {
            "type": "string",
            "description": "Reference to receipt on external system (vendor)"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "shippingCarrier": {
            "type": "string",
            "description": "Shipping Carrier"
          },
          "shippingClass": {
            "type": "string",
            "description": "Shipping Carrier"
          },
          "sourceDoc": {
            "$ref": "#/components/schemas/SourceDoc"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          }
        }
      },
      "ReceiptCreateData": {
        "allOf": [
          {
            "type": "object",
            "xml": {
              "name": "receipt"
            },
            "required": [
              "arrivalId",
              "lineItems"
            ],
            "properties": {
              "lineItems": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ReceiptItem"
                }
              }
            }
          },
          {
            "$ref": "#/components/schemas/ReceiptCreateBaseData"
          }
        ]
      },
      "ReceiptCreateResult": {
        "type": "object",
        "properties": {
          "conflict": {
            "type": "object",
            "description": "Duplicate key error details, if failed"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Error details if failed"
          },
          "message": {
            "type": "string",
            "description": "Error message if failed"
          },
          "receipt": {
            "$ref": "#/components/schemas/Receipt"
          },
          "status": {
            "type": "string",
            "enum": [
              "submitted",
              "failed"
            ]
          }
        }
      },
      "ReceiptFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "ReceiptFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "receipt": {
                "$ref": "#/components/schemas/Receipt"
              }
            }
          }
        ]
      },
      "ReceiptItem": {
        "type": "object",
        "required": [
          "sku",
          "quantity"
        ],
        "properties": {
          "quantity": {
            "type": "number",
            "format": "float",
            "description": "Item Quantity"
          },
          "sku": {
            "type": "string",
            "description": "Item SKU"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "expirationDate": {
            "description": "Item expirationDate",
            "type": "string",
            "format": "date-time"
          },
          "lotNumber": {
            "type": "string"
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "palletQuantity": {
            "type": "number",
            "format": "integer"
          },
          "quantityDamaged": {
            "type": "number",
            "format": "float",
            "description": "Received item damaged quantity"
          },
          "quantityUnit": {
            "$ref": "#/components/schemas/ItemQuantityUnit"
          },
          "serialNumbers": {
            "description": "Item serial numbers. Each entry is either a single serial (e.g. \"10105\") or an inclusive alphanumeric range \"FROM..TO\" using the \"..\" separator (e.g. \"10120..10199\" or \"SN-00100..SN-00199\"). Range endpoints must share an identical prefix and end with a numeric tail. Single serials may contain hyphens; only \"..\" denotes a range.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "uniqueId": {
            "type": "string",
            "description": "Item unique Id (to be matched with arrival line item)"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Channel SKU for this item. On a write made with withSKUMapping, the channel SKU that 'sku' was resolved from is recorded here.\n"
          }
        }
      },
      "ReceiptItemWithRefs": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReceiptItem"
          },
          {
            "type": "object",
            "properties": {
              "extOrderId": {
                "type": "string",
                "description": "Item extOrderId"
              },
              "purchaseId": {
                "type": "string",
                "description": "Item purchaseId"
              },
              "transferId": {
                "type": "string",
                "description": "Item transferId"
              }
            }
          }
        ]
      },
      "ReceiptUpdateData": {
        "type": "object",
        "xml": {
          "name": "receipt"
        },
        "properties": {
          "actualArrivalDate": {
            "type": "string",
            "format": "date-time",
            "description": "Actual arrival date"
          },
          "arrivalId": {
            "type": "string",
            "description": "Arrival ID"
          },
          "currency": {
            "type": "string",
            "description": "Currency"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "extArrivalId": {
            "type": "string",
            "description": "External arrival ID"
          },
          "extReceiptId": {
            "type": "string",
            "description": "Reference to receipt on external system (vendor)"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReceiptItem"
            }
          },
          "shippingCarrier": {
            "type": "string",
            "description": "Shipping Carrier"
          },
          "shippingClass": {
            "type": "string",
            "description": "Shipping Carrier"
          },
          "sourceDoc": {
            "$ref": "#/components/schemas/SourceDoc"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          }
        }
      },
      "ReceiptUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "receipt": {
                "$ref": "#/components/schemas/ReceiptUpdateData"
              }
            }
          }
        ]
      },
      "ReceiptUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReceiptUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "ReceiptUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "receipt": {
                "$ref": "#/components/schemas/Receipt"
              }
            }
          }
        ]
      },
      "ReceiptsCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "receipts": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ReceiptCreateResult"
                }
              }
            }
          }
        ]
      },
      "ReceiptsCreateRequest": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ReceiptCreateData"
        },
        "xml": {
          "name": "request",
          "wrapped": true
        },
        "maxItems": 10
      },
      "ReceiptsCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "receipts": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ReceiptCreateResult"
                }
              }
            }
          }
        ]
      },
      "ReceiptsDeleteError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/ReceiptsDeleteFilter"
              }
            }
          }
        ]
      },
      "ReceiptsDeleteFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReceiptsFilter"
          }
        ],
        "description": "Receipts Filter for Multiple Delete query"
      },
      "ReceiptsDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "deleted": {
                "type": "integer",
                "description": "Number of deleted receipts"
              },
              "filters": {
                "$ref": "#/components/schemas/ReceiptsDeleteFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "receipts": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Receipt"
                }
              }
            }
          }
        ]
      },
      "ReceiptsFilter": {
        "allOf": [
          {
            "type": "object",
            "description": "Receipts Filter",
            "properties": {
              "arrivalId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Receipts by list of arrivalId"
              },
              "deleted": {
                "type": "boolean",
                "description": "Soft deleted receipts"
              },
              "extArrivalId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Receipts by list of extArrivalId"
              },
              "extOrderId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Receipts by list of extOrderId"
              },
              "extReceiptId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Receipts by list of extReceiptId"
              },
              "integration": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Receipts of these integrations"
              },
              "receiptId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Receipts by list of receiptId"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              }
            }
          },
          {
            "$ref": "#/components/schemas/BaseFilter"
          }
        ]
      },
      "ReceiptsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/ReceiptsListFilter"
              }
            }
          }
        ]
      },
      "ReceiptsListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReceiptsFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "properties": {
              "exceptionCategoryId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Receipts by list of categories of the receipt related exceptions"
              },
              "exceptionType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Receipts by list of types of the receipt related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)"
              },
              "hasSourceDoc": {
                "type": "boolean",
                "description": "Receipts containing a source document"
              }
            }
          }
        ],
        "description": "Receipts Filter for List query"
      },
      "ReceiptsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "required": [
              "receipts"
            ],
            "properties": {
              "receipts": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Receipt"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/ReceiptsListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "Refund": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "exceptionCategories": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "References to categories of exceptions related to the refund"
              },
              "exceptions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Types of exceptions related to the refund"
              },
              "integration": {
                "type": "string",
                "description": "Reference to integration that created an item"
              },
              "refundId": {
                "type": "string",
                "description": "Refund ID"
              }
            }
          },
          {
            "$ref": "#/components/schemas/RefundCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "RefundCreateData": {
        "type": "object",
        "required": [
          "returnId",
          "type"
        ],
        "properties": {
          "returnId": {
            "type": "string",
            "description": "Return ID"
          },
          "type": {
            "$ref": "#/components/schemas/RefundType"
          },
          "amount": {
            "type": "number",
            "format": "float",
            "description": "Refund amount"
          },
          "creditIssued": {
            "type": "number",
            "format": "float",
            "description": "Credit issued to customer"
          },
          "creditSpent": {
            "type": "number",
            "format": "float",
            "description": "Credit spent by customer"
          },
          "currency": {
            "type": "string",
            "description": "Refund currency"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "customerInvoiceAmount": {
            "type": "number",
            "format": "float",
            "description": "Customer invoice amount"
          },
          "extOrderId": {
            "type": "string",
            "description": "Order ID on external system"
          },
          "extReferenceId": {
            "type": "string",
            "description": "Reference ID"
          },
          "extRefundApiId": {
            "type": "string",
            "description": "External System Refund API ID"
          },
          "extRefundId": {
            "type": "string",
            "description": "Refund ID on external system"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "merchantInvoiceAmount": {
            "type": "number",
            "format": "float",
            "description": "Merchant invoice amount"
          },
          "sourceDoc": {
            "$ref": "#/components/schemas/SourceDoc"
          },
          "status": {
            "$ref": "#/components/schemas/RefundStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          }
        }
      },
      "RefundCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "refund": {
                "$ref": "#/components/schemas/RefundCreateData"
              }
            }
          }
        ]
      },
      "RefundCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RefundCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "RefundCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "refund": {
                "$ref": "#/components/schemas/Refund"
              }
            }
          }
        ]
      },
      "RefundFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "RefundFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "refund": {
                "$ref": "#/components/schemas/Refund"
              }
            }
          }
        ]
      },
      "RefundStatus": {
        "type": "string",
        "description": "Refund status",
        "enum": [
          "pending",
          "settled"
        ]
      },
      "RefundType": {
        "type": "string",
        "description": "Refund type",
        "enum": [
          "refund",
          "voucher"
        ]
      },
      "RefundUpdateData": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "float",
            "description": "Refund amount"
          },
          "creditIssued": {
            "type": "number",
            "format": "float",
            "description": "Credit issued to customer"
          },
          "creditSpent": {
            "type": "number",
            "format": "float",
            "description": "Credit spent by customer"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "customerInvoiceAmount": {
            "type": "number",
            "format": "float",
            "description": "Customer invoice amount"
          },
          "extReferenceId": {
            "type": "string",
            "description": "Reference ID"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "merchantInvoiceAmount": {
            "type": "number",
            "format": "float",
            "description": "Merchant invoice amount"
          },
          "sourceDoc": {
            "nullable": true,
            "$ref": "#/components/schemas/SourceDoc"
          },
          "status": {
            "$ref": "#/components/schemas/RefundStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          }
        }
      },
      "RefundUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "refund": {
                "$ref": "#/components/schemas/RefundUpdateData"
              }
            }
          }
        ]
      },
      "RefundUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RefundUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "RefundUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "refund": {
                "$ref": "#/components/schemas/Refund"
              }
            }
          }
        ]
      },
      "RefundsDeleteError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/RefundsDeleteFilter"
              }
            }
          }
        ]
      },
      "RefundsDeleteFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RefundsFilter"
          },
          {
            "type": "object",
            "description": "Delete Refunds Filter",
            "properties": {
              "orgMode": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrganizationMode"
                },
                "description": "Refunds assigned these orgModes"
              }
            }
          }
        ]
      },
      "RefundsDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "deleted": {
                "type": "integer",
                "description": "Number of deleted refunds"
              },
              "filters": {
                "$ref": "#/components/schemas/RefundsDeleteFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "refunds": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Refund"
                }
              }
            }
          }
        ]
      },
      "RefundsFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Refunds Filter",
            "properties": {
              "deleted": {
                "type": "boolean",
                "description": "Soft deleted refunds"
              },
              "extOrderId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Refunds by list of external order ids"
              },
              "extReferenceId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Refunds by `extReferenceId` list"
              },
              "extRefundId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Refunds by list of external refund ids"
              },
              "extReturnId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Refunds by list of external refund ids"
              },
              "integration": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Refunds of these integrations"
              },
              "refundId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Refunds by list of refundId"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/RefundStatus"
                },
                "description": "Refunds by list of statuses"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              },
              "type": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/RefundType"
                },
                "description": "Refunds by list of types"
              }
            }
          }
        ]
      },
      "RefundsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/RefundsFilter"
              }
            }
          }
        ]
      },
      "RefundsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/RefundsFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "refunds": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Refund"
                }
              }
            }
          }
        ]
      },
      "RequestLabelsBody": {
        "type": "object",
        "required": [
          "userId"
        ],
        "properties": {
          "userId": {
            "type": "string",
            "description": "Associate user ID requesting the labels"
          },
          "carrierCode": {
            "type": "string",
            "description": "Carrier to buy from (e.g., USPS, UPS, FedEx) for cartons that name no quoted rate. A carton carrying extShipmentId + rateId buys that rate instead, and this value is then used only to re-select an equivalent rate if the quote has expired.\n"
          },
          "cartons": {
            "type": "array",
            "description": "Package details. Each carton becomes one Label entity. Each carton MUST include extLabelId — the client-generated unique key for the label. Retrying with the same extLabelId set is safe and returns the existing labels (idempotent replay).\n",
            "items": {
              "type": "object",
              "required": [
                "extLabelId"
              ],
              "properties": {
                "extLabelId": {
                  "type": "string",
                  "description": "Client-generated unique label key (per org). Duplicate within the request body or across active labels returns 409 Conflict.\n"
                },
                "extShipmentId": {
                  "type": "string",
                  "description": "Optional. EasyPost shipment id (shp_...) returned by /get-rates for this carton. When set with rateId, the connector buys that exact quoted rate instead of auto-selecting a new one.\n"
                },
                "rateId": {
                  "type": "string",
                  "description": "Optional. Chosen rate id (rate_...) from /get-rates. Buys this specific carrier/service. If the quote has gone stale the connector re-rates and matches by carrier/service. Must be sent together with extShipmentId; on its own it is rejected with 400.\n"
                },
                "carrier": {
                  "type": "string",
                  "description": "Optional. Carrier of the chosen rate (echoed from /get-rates). Used to re-select the same option if the quoted rateId has gone stale.\n"
                },
                "service": {
                  "type": "string",
                  "description": "Optional. Service level of the chosen rate (echoed from /get-rates). Paired with carrier for the stale-rate re-select.\n"
                },
                "weight": {
                  "type": "object",
                  "properties": {
                    "value": {
                      "type": "number"
                    },
                    "unit": {
                      "type": "string",
                      "enum": [
                        "OUNCE",
                        "POUND",
                        "GRAM",
                        "KILOGRAM"
                      ]
                    }
                  }
                },
                "dimensions": {
                  "type": "object",
                  "properties": {
                    "length": {
                      "type": "number"
                    },
                    "width": {
                      "type": "number"
                    },
                    "height": {
                      "type": "number"
                    },
                    "unit": {
                      "type": "string",
                      "enum": [
                        "INCH",
                        "CENTIMETER"
                      ]
                    }
                  }
                },
                "lineItems": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "orderLineId": {
                        "type": "string"
                      },
                      "quantity": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          },
          "connectorName": {
            "type": "string",
            "description": "Connector name to use for label generation. Default: connector-shipping-easypost. Use connector-shipping-easyship for Easyship.\n"
          },
          "insuranceAmount": {
            "type": "number",
            "default": 0,
            "description": "Insurance amount in USD per carton"
          },
          "labelFormat": {
            "type": "string",
            "enum": [
              "PDF",
              "ZPL",
              "PNG"
            ],
            "default": "PDF"
          },
          "labelIntegrationId": {
            "type": "string",
            "description": "Integration ID of the label connector (e.g., EasyPost). If omitted, auto-discovers by connectorName for the org.\n"
          },
          "serviceCode": {
            "type": "string",
            "description": "Service level to buy (e.g., Priority, Ground) for cartons that name no quoted rate. Paired with carrierCode for the expired-quote re-select.\n"
          }
        }
      },
      "RequestLabelsResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "labels": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "labelId": {
                      "type": "string"
                    },
                    "extLabelId": {
                      "type": "string",
                      "description": "Client-supplied external label key (echoed back)."
                    },
                    "labelUrl": {
                      "type": "string",
                      "description": "Absolute URL to download/print the label"
                    },
                    "trackingNumber": {
                      "type": "string"
                    },
                    "carrier": {
                      "type": "string",
                      "description": "Carrier the label was purchased from"
                    },
                    "serviceLevel": {
                      "type": "string",
                      "description": "Service level the label was purchased at"
                    },
                    "labelFormat": {
                      "type": "string"
                    }
                  }
                }
              },
              "shipment": {
                "$ref": "#/components/schemas/Shipment"
              }
            }
          }
        ]
      },
      "RequiresShippingSource": {
        "type": "string",
        "enum": [
          "source",
          "integration",
          "automation",
          "manual",
          "unknown"
        ]
      },
      "ResolvedScheduleException": {
        "type": "object",
        "description": "A stored schedule exception expanded to a concrete calendar day within a\nrequested range. Computed server-side (not stored). The `date` is a\ntimezone-independent civil day in ISO `YYYY-MM-DD`.\n\nPrecedence when more than one stored exception lands on the same day:\nan explicit one-off `date` exception outranks a `holiday`-derived one.\nThe winning exception is reflected in `effect`/`windows`/`source`; any\nexception it displaced is listed in `overrides`.\n",
        "properties": {
          "date": {
            "type": "string",
            "description": "Concrete observed/one-off calendar day, ISO `YYYY-MM-DD`."
          },
          "effect": {
            "type": "string",
            "enum": [
              "closed",
              "open"
            ],
            "description": "Same meaning as on the stored exception."
          },
          "label": {
            "type": "string",
            "description": "Operator label carried over from the stored exception, if any."
          },
          "overrides": {
            "type": "array",
            "description": "Stored exceptions that also fell on this day but lost to `source` by\nthe precedence rule (explicit `date` outranks `holiday`) — e.g. a\nholiday hidden by an explicit one-off date. Present only when at least\none exception was displaced.\n",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "date",
                    "holiday"
                  ]
                },
                "holiday": {
                  "type": "string"
                },
                "effect": {
                  "type": "string",
                  "enum": [
                    "closed",
                    "open"
                  ]
                },
                "label": {
                  "type": "string"
                }
              }
            }
          },
          "source": {
            "type": "object",
            "description": "Which stored exception produced this entry.",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "date",
                  "holiday"
                ]
              },
              "holiday": {
                "type": "string",
                "description": "The holiday symbol, when `source.type` is `holiday`."
              }
            }
          },
          "windows": {
            "type": "array",
            "description": "Special open-hours for an open (`effect=open`) day; omitted when closed.",
            "items": {
              "$ref": "#/components/schemas/TimeOfDayWindow"
            }
          }
        }
      },
      "Return": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "exceptionCategories": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "References to categories of exceptions related to the return"
              },
              "exceptions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Types of exceptions related to the return"
              },
              "extReferenceUrl": {
                "type": "string"
              },
              "integration": {
                "type": "string",
                "description": "Reference to integration that created an item"
              },
              "receipts": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ReturnReceipt"
                }
              },
              "returnId": {
                "type": "string",
                "description": "Return ID"
              },
              "timeline": {
                "description": "Timeline of updates",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ReturnChangelogEntry"
                }
              }
            }
          },
          {
            "$ref": "#/components/schemas/ReturnCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "ReturnChangelogEntry": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "extReturnId": {
                "type": "string",
                "description": "External Return Id"
              },
              "returnId": {
                "type": "string",
                "description": "Return Id"
              }
            }
          },
          {
            "$ref": "#/components/schemas/ChangelogEntryBase"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "ReturnCreateData": {
        "type": "object",
        "properties": {
          "arrivedAt": {
            "type": "string",
            "format": "date-time"
          },
          "completedAt": {
            "type": "string",
            "format": "date-time"
          },
          "currency": {
            "type": "string",
            "description": "Currency value, e.g. 'USD'"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "customerNotes": {
            "type": "string",
            "description": "Customer notes"
          },
          "discount": {
            "type": "number",
            "format": "float"
          },
          "estimatedTotal": {
            "type": "number",
            "format": "float",
            "description": "Expected refund total for the return as calculated by the source system — generally subTotal adjusted for discount, tax, shipping refund, and fees such as restockingFee and shippingLabelFee. Pipe17 stores it as-is and does not compute it"
          },
          "expectedArrivalDate": {
            "type": "string",
            "format": "date-time",
            "description": "Expected arrival date"
          },
          "extReferenceId": {
            "type": "string",
            "description": "Reference ID"
          },
          "extReturnApiId": {
            "type": "string",
            "description": "External System Return API ID"
          },
          "extReturnId": {
            "type": "string",
            "description": "Return ID on external system"
          },
          "fulfillmentIntegrationId": {
            "type": "string",
            "description": "fulfillment integration Id"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "isExchange": {
            "type": "boolean"
          },
          "isGift": {
            "type": "boolean"
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReturnLineItem"
            }
          },
          "locationId": {
            "type": "string",
            "description": "Destination location Id"
          },
          "notes": {
            "type": "string",
            "description": "Merchant notes"
          },
          "refundedAt": {
            "type": "string",
            "format": "date-time"
          },
          "requiresShipping": {
            "type": "boolean"
          },
          "restockingFee": {
            "type": "number",
            "format": "float"
          },
          "shippingAddress": {
            "$ref": "#/components/schemas/Address",
            "description": "Customer Address (ship from address)"
          },
          "shippingCarrier": {
            "type": "string",
            "description": "shipping carrier"
          },
          "shippingLabelFee": {
            "type": "number",
            "format": "float"
          },
          "shippingPrice": {
            "type": "number",
            "format": "float"
          },
          "shippingQuote": {
            "type": "number",
            "format": "float"
          },
          "shippingRefund": {
            "type": "number",
            "format": "float"
          },
          "shippingService": {
            "type": "string",
            "description": "shipping service"
          },
          "sourceDoc": {
            "$ref": "#/components/schemas/SourceDoc"
          },
          "status": {
            "$ref": "#/components/schemas/ReturnStatus"
          },
          "subTotal": {
            "type": "number",
            "format": "float",
            "description": "Sum of the returned line items' prices (unit price times quantity), typically before discounts, taxes, shipping, and fees. Provided by the return source; Pipe17 stores it as-is and does not recalculate it"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "tax": {
            "type": "number",
            "format": "float"
          },
          "total": {
            "type": "number",
            "format": "float"
          },
          "trackingNumber": {
            "type": "string",
            "description": "Tracking number"
          }
        }
      },
      "ReturnCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "return": {
                "$ref": "#/components/schemas/ReturnCreateData"
              }
            }
          }
        ]
      },
      "ReturnCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReturnCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "ReturnCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "return": {
                "$ref": "#/components/schemas/Return"
              }
            }
          }
        ]
      },
      "ReturnFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "ReturnFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "return": {
                "$ref": "#/components/schemas/Return"
              }
            }
          }
        ]
      },
      "ReturnLineItem": {
        "type": "object",
        "required": [
          "uniqueId",
          "extOrderId",
          "sku",
          "quantity",
          "cause"
        ],
        "properties": {
          "cause": {
            "$ref": "#/components/schemas/ReturnLineItemCause",
            "description": "Return cause"
          },
          "extOrderId": {
            "type": "string",
            "description": "original order extOrderId"
          },
          "quantity": {
            "type": "number",
            "format": "float",
            "description": "Item Quantity"
          },
          "sku": {
            "type": "string",
            "description": "Item SKU"
          },
          "uniqueId": {
            "type": "string",
            "description": "Item unique Id (within original order)"
          },
          "action": {
            "$ref": "#/components/schemas/ReturnLineItemAction"
          },
          "causeNote": {
            "type": "string",
            "description": "Return cause note"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "extShipmentId": {
            "type": "string",
            "description": "original order extShipmentId"
          },
          "itemCharge": {
            "type": "number",
            "format": "float",
            "description": "Return item original charge (??)"
          },
          "itemDiscount": {
            "type": "number",
            "format": "float",
            "description": "Return item original discount (??)"
          },
          "itemEstimatedTotal": {
            "type": "number",
            "format": "float",
            "description": "Return item estimated refund amount"
          },
          "itemLabelCost": {
            "type": "number",
            "format": "float",
            "description": "Return shipping label cost"
          },
          "itemRestockingFee": {
            "type": "number",
            "format": "float",
            "description": "Return item restocking fee"
          },
          "itemReturnShippingPaid": {
            "type": "number",
            "format": "float",
            "description": "Return shipping paid amount"
          },
          "itemShippingCharge": {
            "type": "number",
            "format": "float",
            "description": "Return item original shipping charge (??)"
          },
          "itemTax": {
            "type": "number",
            "format": "float",
            "description": "Return item original tax (??)"
          },
          "itemTotal": {
            "type": "number",
            "format": "float",
            "description": "Return item refund amount"
          },
          "name": {
            "type": "string",
            "description": "Item Name or Description"
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "originalSKUExchange": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'skuExchange' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "quantityDamaged": {
            "type": "number",
            "format": "float",
            "description": "Damaged Item Quantity (quantityReceived includes quantityDamaged)"
          },
          "quantityExchanged": {
            "type": "number",
            "format": "float",
            "description": "Exchanged Item Quantity"
          },
          "quantityReceived": {
            "type": "number",
            "format": "float",
            "description": "Received Item Quantity"
          },
          "quantityRefunded": {
            "type": "number",
            "format": "float",
            "description": "Refunded Item Quantity"
          },
          "quantityUnit": {
            "$ref": "#/components/schemas/ItemQuantityUnit"
          },
          "skuExchange": {
            "type": "string",
            "description": "Item SKU"
          },
          "upc": {
            "type": "string",
            "description": "Item UPC"
          },
          "upcExchange": {
            "type": "string",
            "description": "Item UPC"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Channel SKU for this item. On a write made with withSKUMapping, the channel SKU that 'sku' was resolved from is recorded here.\n"
          }
        }
      },
      "ReturnLineItemAction": {
        "type": "string",
        "description": "Return line item action",
        "enum": [
          "refund",
          "credit",
          "exchange",
          "none"
        ]
      },
      "ReturnLineItemCause": {
        "type": "string",
        "description": "Return line item cause",
        "enum": [
          "size",
          "defective",
          "invalid",
          "unexpected",
          "condition",
          "other"
        ]
      },
      "ReturnReceipt": {
        "type": "object",
        "required": [
          "extReceiptId",
          "lineItems"
        ],
        "properties": {
          "extReceiptId": {
            "type": "string",
            "description": "Unique identifier of return receipt"
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReturnReceiptLineItem"
            }
          },
          "actualArrivalDate": {
            "type": "string",
            "format": "date-time",
            "description": "Actual arrival date"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          }
        }
      },
      "ReturnReceiptLineItem": {
        "type": "object",
        "required": [
          "sku",
          "quantity"
        ],
        "properties": {
          "quantity": {
            "type": "number",
            "description": "Received item quantity"
          },
          "sku": {
            "type": "string",
            "description": "Received item SKU"
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "quantityDamaged": {
            "type": "number",
            "description": "Received item damaged quantity"
          },
          "quantityUnit": {
            "$ref": "#/components/schemas/ItemQuantityUnit"
          },
          "uniqueId": {
            "type": "string",
            "description": "Received item uniqueId"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Channel SKU for this item. On a write made with withSKUMapping, the channel SKU that 'sku' was resolved from is recorded here.\n"
          }
        }
      },
      "ReturnStatus": {
        "type": "string",
        "description": "Return status",
        "enum": [
          "draft",
          "authorized",
          "shipped",
          "expected",
          "partialReceived",
          "received",
          "accepted",
          "refunded",
          "completed",
          "expired",
          "canceled",
          "failed"
        ]
      },
      "ReturnUpdateData": {
        "type": "object",
        "properties": {
          "arrivedAt": {
            "type": "string",
            "format": "date-time"
          },
          "completedAt": {
            "type": "string",
            "format": "date-time"
          },
          "currency": {
            "type": "string",
            "description": "Currency value, e.g. 'USD'"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "customerNotes": {
            "type": "string",
            "description": "Customer notes"
          },
          "discount": {
            "type": "number",
            "format": "float"
          },
          "estimatedTotal": {
            "type": "number",
            "format": "float",
            "description": "Expected refund total for the return as calculated by the source system — generally subTotal adjusted for discount, tax, shipping refund, and fees such as restockingFee and shippingLabelFee. Pipe17 stores it as-is and does not compute it"
          },
          "expectedArrivalDate": {
            "type": "string",
            "format": "date-time",
            "description": "Expected arrival date"
          },
          "extReferenceId": {
            "type": "string"
          },
          "extReferenceUrl": {
            "type": "string"
          },
          "fulfillmentIntegrationId": {
            "type": "string",
            "description": "fulfillment integration Id"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "isExchange": {
            "type": "boolean"
          },
          "isGift": {
            "type": "boolean"
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReturnLineItem"
            }
          },
          "locationId": {
            "type": "string",
            "description": "Destination location Id"
          },
          "notes": {
            "type": "string",
            "description": "Merchant notes"
          },
          "receipts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReturnReceipt"
            }
          },
          "refundedAt": {
            "type": "string",
            "format": "date-time"
          },
          "requiresShipping": {
            "type": "boolean"
          },
          "restockingFee": {
            "type": "number",
            "format": "float"
          },
          "shippingAddress": {
            "$ref": "#/components/schemas/Address",
            "description": "Customer Address"
          },
          "shippingCarrier": {
            "type": "string",
            "description": "shipping carrier"
          },
          "shippingLabelFee": {
            "type": "number",
            "format": "float"
          },
          "shippingPrice": {
            "type": "number",
            "format": "float"
          },
          "shippingQuote": {
            "type": "number",
            "format": "float"
          },
          "shippingRefund": {
            "type": "number",
            "format": "float"
          },
          "shippingService": {
            "type": "string",
            "description": "shipping service"
          },
          "sourceDoc": {
            "$ref": "#/components/schemas/SourceDoc"
          },
          "status": {
            "$ref": "#/components/schemas/ReturnStatus"
          },
          "subTotal": {
            "type": "number",
            "format": "float",
            "description": "Sum of the returned line items' prices (unit price times quantity), typically before discounts, taxes, shipping, and fees. Provided by the return source; Pipe17 stores it as-is and does not recalculate it"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "tax": {
            "type": "number",
            "format": "float"
          },
          "total": {
            "type": "number",
            "format": "float"
          },
          "trackingNumber": {
            "type": "string",
            "description": "Tracking number"
          }
        }
      },
      "ReturnUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "return": {
                "$ref": "#/components/schemas/ReturnUpdateData"
              }
            }
          }
        ]
      },
      "ReturnUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReturnUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "ReturnUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "return": {
                "$ref": "#/components/schemas/Return"
              }
            }
          }
        ]
      },
      "ReturnsDeleteError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/ReturnsDeleteFilter"
              }
            }
          }
        ]
      },
      "ReturnsDeleteFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReturnsFilter"
          },
          {
            "type": "object",
            "description": "Delete Returns Filter",
            "properties": {
              "orgMode": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrganizationMode"
                },
                "description": "Returns assigned these orgModes"
              }
            }
          }
        ]
      },
      "ReturnsDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "deleted": {
                "type": "integer",
                "description": "Number of deleted returns"
              },
              "filters": {
                "$ref": "#/components/schemas/ReturnsDeleteFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "returns": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Return"
                }
              }
            }
          }
        ]
      },
      "ReturnsFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Returns Filter",
            "properties": {
              "deleted": {
                "type": "boolean",
                "description": "Soft deleted returns"
              },
              "extOrderId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Returns by list of external order ids"
              },
              "extReferenceId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Returns by `extReferenceId` list"
              },
              "extReturnId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Returns by list of external return ids"
              },
              "integration": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "locationId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Returns by list of location ids"
              },
              "returnId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Returns by list of returnId"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ReturnStatus"
                },
                "description": "Returns by list of statuses"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              }
            }
          }
        ]
      },
      "ReturnsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/ReturnsFilter"
              }
            }
          }
        ]
      },
      "ReturnsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/ReturnsFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "returns": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Return"
                }
              }
            }
          }
        ]
      },
      "Role": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "roleId": {
                "type": "string",
                "description": "Role ID"
              },
              "status": {
                "$ref": "#/components/schemas/RoleStatus"
              }
            }
          },
          {
            "$ref": "#/components/schemas/RoleCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "RoleCreateData": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Role Name"
          },
          "description": {
            "type": "string",
            "description": "Role's description"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "isPublic": {
            "type": "boolean",
            "description": "Global role indicator"
          },
          "methods": {
            "$ref": "#/components/schemas/Methods"
          }
        }
      },
      "RoleCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "role": {
                "$ref": "#/components/schemas/RoleCreateData"
              }
            }
          }
        ]
      },
      "RoleCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RoleCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "RoleCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "role": {
                "$ref": "#/components/schemas/Role"
              }
            }
          }
        ]
      },
      "RoleFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "RoleFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "role": {
                "$ref": "#/components/schemas/Role"
              }
            }
          }
        ]
      },
      "RoleStatus": {
        "type": "string",
        "description": "Role status",
        "enum": [
          "active",
          "disabled"
        ]
      },
      "RoleUpdateData": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "Role's description"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "methods": {
            "$ref": "#/components/schemas/MethodsUpdateData"
          },
          "name": {
            "type": "string",
            "description": "Role Name"
          },
          "status": {
            "$ref": "#/components/schemas/RoleStatus"
          }
        }
      },
      "RoleUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "role": {
                "$ref": "#/components/schemas/RoleUpdateData"
              }
            }
          }
        ]
      },
      "RoleUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RoleUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "RoleUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "role": {
                "$ref": "#/components/schemas/Role"
              }
            }
          }
        ]
      },
      "RolesDeleteError": {
        "type": "object",
        "xml": {
          "name": "response"
        },
        "required": [
          "success",
          "code"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "description": "Copy of HTTP status",
            "format": "int32",
            "minimum": 400,
            "example": 404
          },
          "success": {
            "type": "boolean",
            "description": "Always false",
            "enum": [
              false
            ],
            "example": false
          },
          "conflict": {
            "type": "object",
            "description": "Details of the conflicting state, when the failure is a 409. The shape depends on the endpoint — a duplicate-key failure carries the offending keys, while /shipping_requests/{id}/request-labels carries `labels` (the labels the shipment already holds), `existingExtLabelIds` (the extLabelIds already claimed) or `refundedExtLabelIds` (extLabelIds belonging to refunded labels, which cannot be reused)."
          },
          "errors": {
            "type": "array",
            "description": "Error detail",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "string",
            "description": "Error message"
          },
          "vendorCode": {
            "type": "string",
            "description": "Vendor-specific error code passed through from a downstream connector/carrier (e.g. EasyPost \"SHIPMENT.REFUND.UNAVAILABLE\"). Present only when the failure originated at the vendor."
          }
        }
      },
      "RolesDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "message": {
                "type": "string",
                "example": "OK (but NYI)"
              }
            }
          }
        ]
      },
      "RolesFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Roles Filter",
            "properties": {
              "name": {
                "type": "string",
                "description": "Roles by name (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
              },
              "roleId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Roles by list of roleId"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/RoleStatus"
                },
                "description": "Roles by list of statuses"
              }
            }
          }
        ]
      },
      "RolesListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/RolesListFilter"
              }
            }
          }
        ]
      },
      "RolesListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RolesFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys",
            "description": "List Roles Filter"
          }
        ]
      },
      "RolesListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/RolesListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "roles": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Role"
                }
              }
            }
          }
        ]
      },
      "Routing": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "routingId": {
                "type": "string",
                "description": "Routing ID"
              }
            }
          },
          {
            "$ref": "#/components/schemas/RoutingCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "RoutingCreateData": {
        "type": "object",
        "required": [
          "isPublic",
          "description",
          "enabled",
          "filter"
        ],
        "properties": {
          "description": {
            "type": "string",
            "description": "Description"
          },
          "enabled": {
            "type": "boolean",
            "description": "Is Routing Filter Enabled"
          },
          "filter": {
            "type": "string",
            "description": "Routing Filter"
          },
          "isPublic": {
            "type": "boolean",
            "description": "Public Routing"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "uuid": {
            "type": "string",
            "description": "UUID"
          }
        }
      },
      "RoutingCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "routing": {
                "$ref": "#/components/schemas/RoutingCreateData"
              }
            }
          }
        ]
      },
      "RoutingCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RoutingCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "RoutingCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "routing": {
                "$ref": "#/components/schemas/Routing"
              }
            }
          }
        ]
      },
      "RoutingFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "RoutingFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "routing": {
                "$ref": "#/components/schemas/Routing"
              }
            }
          }
        ]
      },
      "RoutingStatus": {
        "type": "string",
        "description": "Routing Status:\n  * `pending` - order should be be processed by Order Routing engine once its status is readyForFulfillment\n  * `ready` - order is ready to be processed by Order Routing engine. This status is applied\n    * when order status transitions to readyForFulfillment and current routing status is `pending`\n    * when routing status is `acknowledged` or `failed` and significant order properties are changed\n  * `pendingInventory` - order should be routed by Order Routing engine once inventory is available\n  * `acknowledged` - order is acknowledged by Order Routing engine and will not be processed by Order routing\n  * `disabled` - order routing is disabled\n  * `failed` - order routing failed and will be retried by Order Routing engine\n",
        "enum": [
          "disabled",
          "pending",
          "ready",
          "acknowledged",
          "failed",
          "excluded",
          "pendingInventory"
        ]
      },
      "RoutingUpdateData": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "Description"
          },
          "enabled": {
            "type": "boolean",
            "description": "Is Routing Filter Enabled"
          },
          "filter": {
            "type": "string",
            "nullable": true,
            "description": "Routing Filter"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          }
        }
      },
      "RoutingUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "routing": {
                "$ref": "#/components/schemas/RoutingUpdateData"
              }
            }
          }
        ]
      },
      "RoutingUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RoutingUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "RoutingUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "routing": {
                "$ref": "#/components/schemas/Routing"
              }
            }
          }
        ]
      },
      "RoutingsDeleteError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/RoutingsDeleteFilter"
              }
            }
          }
        ]
      },
      "RoutingsDeleteFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RoutingsFilter"
          },
          {
            "type": "object",
            "description": "Delete Routings Filter",
            "properties": {
              "orgMode": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrganizationMode"
                },
                "description": "Routings assigned these orgModes"
              }
            }
          }
        ]
      },
      "RoutingsDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "deleted": {
                "type": "integer",
                "description": "Number of deleted routings"
              },
              "filters": {
                "$ref": "#/components/schemas/RoutingsDeleteFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "routings": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Routing"
                }
              }
            }
          }
        ]
      },
      "RoutingsFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Routings Filter",
            "properties": {
              "deleted": {
                "type": "boolean",
                "description": "Soft deleted routings"
              },
              "routingId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Routings by list of routingId"
              },
              "uuid": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Routings by list of UUIDs"
              }
            }
          }
        ]
      },
      "RoutingsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/RoutingsListFilter"
              }
            }
          }
        ]
      },
      "RoutingsListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RoutingsFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "description": "List Routings Filter",
            "properties": {
              "desc": {
                "type": "string",
                "description": "Fetch routings by description (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
              }
            }
          }
        ]
      },
      "RoutingsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/RoutingsListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "routings": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Routing"
                }
              }
            }
          }
        ]
      },
      "SSOConnection": {
        "type": "object",
        "properties": {
          "auth0ConnectionId": {
            "type": "string",
            "description": "Auth0 connection ID",
            "example": "con_abc123xyz"
          },
          "auth0ConnectionName": {
            "type": "string",
            "description": "Auth0 connection name (must be unique)",
            "example": "acme-corp-samlp"
          },
          "displayName": {
            "type": "string",
            "description": "Human-readable display name",
            "example": "ACME Corporation"
          },
          "domains": {
            "type": "array",
            "description": "Allowed email domains for this SSO connection",
            "items": {
              "type": "string"
            },
            "example": [
              "acme.com",
              "acme.co.uk"
            ]
          },
          "ssoConnectionId": {
            "type": "string",
            "description": "Unique identifier for the SSO connection (16-char hex)",
            "example": "7f8e9d0c1b2a3456"
          },
          "strategy": {
            "$ref": "#/components/schemas/SSOConnectionStrategy"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the connection was created"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the connection was last updated"
          }
        },
        "required": [
          "ssoConnectionId",
          "auth0ConnectionName",
          "auth0ConnectionId",
          "strategy",
          "domains",
          "displayName"
        ]
      },
      "SSOConnectionCreateError": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "string"
          },
          "success": {
            "type": "boolean"
          }
        }
      },
      "SSOConnectionCreateRequest": {
        "type": "object",
        "properties": {
          "auth0ConnectionId": {
            "type": "string",
            "description": "Auth0 connection ID"
          },
          "auth0ConnectionName": {
            "type": "string",
            "description": "Auth0 connection name (must be unique)"
          },
          "displayName": {
            "type": "string",
            "description": "Display name"
          },
          "domains": {
            "type": "array",
            "description": "Allowed email domains",
            "items": {
              "type": "string"
            }
          },
          "strategy": {
            "$ref": "#/components/schemas/SSOConnectionStrategy"
          }
        },
        "required": [
          "auth0ConnectionName",
          "auth0ConnectionId",
          "strategy",
          "domains",
          "displayName"
        ]
      },
      "SSOConnectionCreateResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer"
          },
          "message": {
            "type": "string"
          },
          "sso_connection": {
            "$ref": "#/components/schemas/SSOConnection"
          },
          "success": {
            "type": "boolean"
          }
        }
      },
      "SSOConnectionDeleteError": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer"
          },
          "message": {
            "type": "string"
          },
          "success": {
            "type": "boolean"
          }
        }
      },
      "SSOConnectionDeleteResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer"
          },
          "message": {
            "type": "string"
          },
          "success": {
            "type": "boolean"
          }
        }
      },
      "SSOConnectionListError": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer"
          },
          "message": {
            "type": "string"
          },
          "success": {
            "type": "boolean"
          }
        }
      },
      "SSOConnectionListFilterSSOConnectionId": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "SSOConnectionListFilterStrategy": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SSOConnectionStrategy"
        }
      },
      "SSOConnectionListResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer"
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          },
          "sso_connections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SSOConnection"
            }
          },
          "success": {
            "type": "boolean"
          }
        }
      },
      "SSOConnectionRetrieveError": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer"
          },
          "message": {
            "type": "string"
          },
          "success": {
            "type": "boolean"
          }
        }
      },
      "SSOConnectionRetrieveResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer"
          },
          "sso_connection": {
            "$ref": "#/components/schemas/SSOConnection"
          },
          "success": {
            "type": "boolean"
          }
        }
      },
      "SSOConnectionStrategy": {
        "type": "string",
        "description": "Authentication strategy for SSO connection",
        "enum": [
          "samlp",
          "oidc",
          "waad",
          "okta",
          "google-apps",
          "adfs",
          "pingfederate"
        ]
      },
      "SSOConnectionUpdateError": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer"
          },
          "message": {
            "type": "string"
          },
          "success": {
            "type": "boolean"
          }
        }
      },
      "SSOConnectionUpdateRequest": {
        "type": "object",
        "properties": {
          "auth0ConnectionId": {
            "type": "string",
            "description": "Auth0 connection ID"
          },
          "auth0ConnectionName": {
            "type": "string",
            "description": "Auth0 connection name"
          },
          "displayName": {
            "type": "string"
          },
          "domains": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "strategy": {
            "$ref": "#/components/schemas/SSOConnectionStrategy"
          }
        }
      },
      "SSOConnectionUpdateResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer"
          },
          "message": {
            "type": "string"
          },
          "sso_connection": {
            "$ref": "#/components/schemas/SSOConnection"
          },
          "success": {
            "type": "boolean"
          }
        }
      },
      "Schedule": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "scheduleId": {
                "type": "string",
                "description": "Schedule ID (server-assigned, immutable)"
              }
            }
          },
          {
            "$ref": "#/components/schemas/ScheduleBody"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "ScheduleBody": {
        "description": "POST shape for a Schedule. Inherits all properties from `RawScheduleBody`\nand marks `name` and `windows` as required at creation time. Embedded by\nconsumers (Locations, holds policies, EDD pickup cutoffs, etc.) when they\nwant to inline a schedule shape.\n\n`timezone` is intentionally NOT required on create. Its absence is a\ndeliberate signal for a templated/contextual schedule (interpreted in a\nconsumer-supplied zone) and is canonicalized to `null` server-side. See the\nfield's description on `RawScheduleBody` for the wire idiom.\n\nThe empty `properties: {}` in the second `allOf` shard is intentional: the\napi-conv-cli generator only collects `required` from shards that include a\n`properties` key, so we need it there to make the augmentation effective.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/RawScheduleBody"
          },
          {
            "type": "object",
            "required": [
              "name",
              "windows"
            ],
            "properties": {}
          }
        ],
        "example": {
          "name": "Weekday Office Hours",
          "timezone": "America/New_York",
          "windows": [
            {
              "start": {
                "dayOfWeek": "monday",
                "hour": 9,
                "minute": 0
              },
              "end": {
                "dayOfWeek": "monday",
                "hour": 17,
                "minute": 0
              }
            },
            {
              "start": {
                "dayOfWeek": "tuesday",
                "hour": 9,
                "minute": 0
              },
              "end": {
                "dayOfWeek": "tuesday",
                "hour": 17,
                "minute": 0
              }
            },
            {
              "start": {
                "dayOfWeek": "wednesday",
                "hour": 9,
                "minute": 0
              },
              "end": {
                "dayOfWeek": "wednesday",
                "hour": 17,
                "minute": 0
              }
            },
            {
              "start": {
                "dayOfWeek": "thursday",
                "hour": 9,
                "minute": 0
              },
              "end": {
                "dayOfWeek": "thursday",
                "hour": 17,
                "minute": 0
              }
            },
            {
              "start": {
                "dayOfWeek": "friday",
                "hour": 9,
                "minute": 0
              },
              "end": {
                "dayOfWeek": "friday",
                "hour": 17,
                "minute": 0
              }
            }
          ]
        }
      },
      "ScheduleCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "schedule": {
                "$ref": "#/components/schemas/ScheduleBody"
              }
            }
          }
        ]
      },
      "ScheduleCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ScheduleBody"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "ScheduleCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "schedule": {
                "$ref": "#/components/schemas/Schedule"
              }
            }
          }
        ]
      },
      "ScheduleException": {
        "type": "object",
        "description": "A one-off override to the recurring weekly `windows` on a specific\ncalendar day or recognized holiday — either a concrete `date`\n(`type: date`) or a `holiday` symbol (`type: holiday`). Field rules:\n  - `type: date`    => `date` set (YYYY-MM-DD), `holiday` omitted\n  - `type: holiday` => `holiday` set, `date` omitted\n  - `effect: open`  => non-empty `windows` (special/reduced hours)\n  - `effect: closed` (default) => no `windows` (fully closed that day)\n",
        "required": [
          "type"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Discriminator selecting the one-off-date vs holiday-symbol form.",
            "enum": [
              "date",
              "holiday"
            ]
          },
          "date": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "description": "Concrete calendar day in ISO `YYYY-MM-DD` form (required iff\n`type: date`). Stored as a plain string, NOT an OpenAPI `date`, to\navoid datetime/timezone coercion in storage — an exception day is\ntimezone-independent. Consumers apply the schedule's timezone only\nwhen merging the date with windows.\n"
          },
          "effect": {
            "type": "string",
            "default": "closed",
            "description": "Whether the day is fully closed or open with special hours. `closed`\n(default) drops all recurring window-occurrences that day; `open`\nreplaces them with this entry's `windows`.\n",
            "enum": [
              "closed",
              "open"
            ]
          },
          "holiday": {
            "type": "string",
            "description": "Recognized holiday symbol (required iff `type: holiday`),\nregion-namespaced as `<ISO 3166-1 alpha-2 region>/<slug>`. The region\ncode is standardized; the slug is Pipe17's own. Resolved server-side\nto observed calendar dates. Currently the US federal set; the\nnamespace leaves room for other regions without a schema redesign.\n",
            "enum": [
              "US/new_years_day",
              "US/mlk_day",
              "US/washingtons_birthday",
              "US/memorial_day",
              "US/juneteenth",
              "US/independence_day",
              "US/labor_day",
              "US/columbus_day",
              "US/veterans_day",
              "US/thanksgiving",
              "US/christmas_day"
            ]
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "description": "Optional operator-supplied label (e.g. \"Christmas Eve - early close\").\nTrimmed before validation; must be non-empty after trimming if present.\n"
          },
          "windows": {
            "type": "array",
            "maxItems": 50,
            "description": "Special/reduced open-hours for an `effect: open` exception (required\nand non-empty iff `effect: open`; forbidden when `effect: closed`).\nEach is a within-day `TimeOfDayWindow`.\n",
            "items": {
              "$ref": "#/components/schemas/TimeOfDayWindow"
            }
          }
        }
      },
      "ScheduleFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "ScheduleFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "schedule": {
                "$ref": "#/components/schemas/Schedule"
              }
            }
          }
        ]
      },
      "ScheduleLocationsResponse": {
        "description": "Locations referencing the given Schedule. Mirrors the entries returned\nby GET /locations.\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "locations": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Location"
                }
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "ScheduleResolvedExceptionsResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "from": {
                "type": "string",
                "description": "Echo of the requested range start, ISO `YYYY-MM-DD`."
              },
              "resolvedScheduleExceptions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ResolvedScheduleException"
                }
              },
              "scheduleId": {
                "type": "string"
              },
              "to": {
                "type": "string",
                "description": "Echo of the requested range end, ISO `YYYY-MM-DD`."
              }
            }
          }
        ]
      },
      "ScheduleUpdateData": {
        "description": "PATCH shape for a Schedule. Inherits all properties from `RawScheduleBody`;\nno fields are required (omit a property to leave it unchanged).\n",
        "allOf": [
          {
            "$ref": "#/components/schemas/RawScheduleBody"
          }
        ]
      },
      "ScheduleUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "schedule": {
                "$ref": "#/components/schemas/ScheduleUpdateData"
              }
            }
          }
        ]
      },
      "ScheduleUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ScheduleUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "ScheduleUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "schedule": {
                "$ref": "#/components/schemas/Schedule"
              }
            }
          }
        ]
      },
      "ScheduleWindow": {
        "type": "object",
        "description": "A single active interval on the weekly circular timeline. Half-open semantics:\n`start` is inclusive, `end` is exclusive. A window with `start == end` covers the\nentire week and is legal only when it is the sole window in its schedule.\nA window with `start > end` (in minutes-since-monday-00:00) wraps the week\nboundary, e.g. friday 22:00 to monday 06:00.\n",
        "required": [
          "start",
          "end"
        ],
        "properties": {
          "end": {
            "$ref": "#/components/schemas/ScheduleWindowTime"
          },
          "start": {
            "$ref": "#/components/schemas/ScheduleWindowTime"
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "description": "Optional operator-supplied label (e.g. \"morning shift\"). Trimmed before\nvalidation; must be non-empty after trimming if present. No maximum length.\n"
          }
        }
      },
      "ScheduleWindowTime": {
        "description": "A wall-clock instant on the weekly timeline at minute precision. Denotes the\ninstant `<dayOfWeek> HH:MM:00.000` exactly (no flooring at query time).\nComposed as a `TimeOfDay` plus the weekday it falls on. The `dayOfWeek`\nshard is listed first so the generated descriptor field order\n(`dayOfWeek, hour, minute`) is unchanged by the refactor.\n",
        "allOf": [
          {
            "type": "object",
            "required": [
              "dayOfWeek"
            ],
            "properties": {
              "dayOfWeek": {
                "$ref": "#/components/schemas/DayOfWeek"
              }
            }
          },
          {
            "$ref": "#/components/schemas/TimeOfDay"
          }
        ]
      },
      "SchedulesDeleteError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/SchedulesDeleteFilter"
              }
            }
          }
        ]
      },
      "SchedulesDeleteFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SchedulesFilter"
          },
          {
            "type": "object",
            "description": "Delete Schedules Filter"
          }
        ]
      },
      "SchedulesDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "deleted": {
                "type": "integer",
                "description": "Number of deleted schedules"
              },
              "filters": {
                "$ref": "#/components/schemas/SchedulesDeleteFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "schedules": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Schedule"
                }
              }
            }
          }
        ]
      },
      "SchedulesFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Schedules Filter",
            "properties": {
              "deleted": {
                "type": "boolean",
                "description": "Soft deleted schedules"
              },
              "scheduleId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Schedules by list of scheduleId"
              }
            }
          }
        ]
      },
      "SchedulesListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/SchedulesListFilter"
              }
            }
          }
        ]
      },
      "SchedulesListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SchedulesFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "description": "List Schedules Filter",
            "properties": {
              "name": {
                "type": "string",
                "description": "Retrieve schedules by name (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
              }
            }
          }
        ]
      },
      "SchedulesListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/SchedulesListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "schedules": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Schedule"
                }
              }
            }
          }
        ]
      },
      "SetHoldingLocationRequest": {
        "type": "object",
        "description": "Set temporal holding locations during pick-pack by store associate.\n`holdingLocations.wave` follows preserve/overwrite/clear semantics (null clears).\n`holdingLocations.shipments` is additive - request entries merge into the existing\nmap; null on the map itself is rejected. Only shipmentIds assigned to the wave are accepted.\n",
        "properties": {
          "holdingLocations": {
            "$ref": "#/components/schemas/HoldingLocations"
          }
        },
        "xml": {
          "name": "request"
        }
      },
      "SetHoldingLocationResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "wave": {
                "$ref": "#/components/schemas/Wave"
              }
            }
          }
        ]
      },
      "SettingType": {
        "type": "string",
        "enum": [
          "string",
          "number",
          "boolean",
          "date",
          "array",
          "object",
          "json"
        ],
        "description": "Setting/Option Value Type"
      },
      "Settings": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SettingsUpdateData"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string",
                "format": "date-time",
                "readOnly": true,
                "description": "When the object was created within Pipe17"
              },
              "updatedAt": {
                "type": "string",
                "format": "date-time",
                "readOnly": true,
                "description": "When the object was updated within Pipe17"
              }
            }
          }
        ]
      },
      "SettingsFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "SettingsFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "settings": {
                "$ref": "#/components/schemas/Settings"
              }
            }
          }
        ]
      },
      "SettingsUpdateData": {
        "type": "object",
        "properties": {
          "cleaningAllowed": {
            "type": "boolean",
            "default": true,
            "description": "Indicates whether the execution of cleaning functions is allowed or not"
          },
          "cleaningRegion": {
            "type": "string",
            "description": "Region where cleaning functions are allowed to be executed",
            "enum": [
              "us-west-2",
              "us-east-1"
            ],
            "default": "us-west-2"
          },
          "monitoringAllowed": {
            "type": "boolean",
            "default": true,
            "description": "Indicates whether the execution of monitoring function is allowed or not"
          },
          "monitoringRegion": {
            "type": "string",
            "description": "Region where monitoring function is allowed to be executed",
            "enum": [
              "us-west-2",
              "us-east-1"
            ],
            "default": "us-west-2"
          },
          "secretsProtected": {
            "type": "boolean",
            "default": true,
            "description": "Indicates whether access to integration secrets is disallowed for non-connectors or not"
          }
        }
      },
      "SettingsUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "settings": {
                "$ref": "#/components/schemas/SettingsUpdateData"
              }
            }
          }
        ]
      },
      "SettingsUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SettingsUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "SettingsUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          }
        ]
      },
      "Shipment": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "autoEngUpdateStatus": {
                "$ref": "#/components/schemas/AutoEngUpdateStatus"
              },
              "autoEngUpdateStatusUpdatedAt": {
                "$ref": "#/components/schemas/AutoEngUpdateStatusUpdatedAt"
              },
              "canceledAt": {
                "type": "string",
                "format": "date-time",
                "description": "The cancellation date"
              },
              "canceledBy": {
                "type": "string",
                "description": "The cancel requester Id"
              },
              "canceledByType": {
                "type": "string",
                "enum": [
                  "user",
                  "integration",
                  "apikey"
                ],
                "description": "The cancel requester Id type"
              },
              "cancellationStatus": {
                "$ref": "#/components/schemas/ShipmentCancellationStatus"
              },
              "exceptionCategories": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "References to categories of exceptions related to the shipment"
              },
              "exceptions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Types of exceptions related to the shipment"
              },
              "extOrderApiId": {
                "type": "string",
                "description": "External System Order API ID"
              },
              "fulfilledAt": {
                "type": "string",
                "format": "date-time",
                "description": "Fulfillment timestamp"
              },
              "integration": {
                "type": "string",
                "description": "Reference to integration that created an item"
              },
              "lineItems": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ShipmentLineItem"
                }
              },
              "orderIntegration": {
                "type": "string",
                "description": "Reference to integration that created order tied to an item"
              },
              "reused": {
                "type": "boolean",
                "description": "Indicates the shipment's extShipmentId is being reused in another one"
              },
              "sentToFulfillmentAt": {
                "type": "string",
                "format": "date-time",
                "description": "Sent to fulfillment timestamp"
              },
              "shipmentId": {
                "type": "string",
                "description": "Shipment ID"
              },
              "status": {
                "$ref": "#/components/schemas/ShipmentStatus"
              },
              "timeline": {
                "description": "Timeline of updates",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ShipmentChangelogEntry"
                }
              },
              "version": {
                "type": "number",
                "description": "Shipping request ordinal number - each new shipping request will have this value incremented for the same orderId"
              }
            }
          },
          {
            "$ref": "#/components/schemas/ShipmentBase"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "ShipmentBase": {
        "type": "object",
        "xml": {
          "name": "shipment"
        },
        "required": [
          "extOrderId",
          "shippingAddress"
        ],
        "properties": {
          "extOrderId": {
            "type": "string",
            "description": "Customer friendly ID on the order object"
          },
          "shippingAddress": {
            "$ref": "#/components/schemas/Address"
          },
          "alternatePickupPersons": {
            "type": "array",
            "description": "Additional people authorized to pickup order (BOPIS/BOPAC)",
            "items": {
              "type": "object",
              "properties": {
                "firstName": {
                  "type": "string"
                },
                "lastName": {
                  "type": "string"
                },
                "phone": {
                  "type": "string"
                },
                "email": {
                  "type": "string",
                  "format": "email"
                },
                "relationship": {
                  "type": "string",
                  "description": "Relationship to orderer"
                },
                "authorizedBy": {
                  "type": "string",
                  "description": "Who authorized this person (usually order placer)"
                },
                "authorizedAt": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          },
          "billingAddress": {
            "$ref": "#/components/schemas/Address",
            "description": "Purchaser Address"
          },
          "currency": {
            "type": "string",
            "description": "Currency code (inherited from order)"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "customerPONumber": {
            "type": "string",
            "nullable": true,
            "description": "Customer purchase order number (inherited from order)"
          },
          "deliveryProfiles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeliveryProfile"
            }
          },
          "excludeFromReuse": {
            "type": "boolean",
            "default": false,
            "description": "A flag to indicate whether id of this SR can be reused, or not"
          },
          "expectedDeliveryDate": {
            "type": "string",
            "format": "date-time",
            "description": "First Priority to be respected"
          },
          "expectedShipDate": {
            "type": "string",
            "format": "date-time",
            "description": "Expected ship date"
          },
          "extReferenceId": {
            "type": "string",
            "description": "Customer Friendly reference to this shipping request on destination vendor"
          },
          "extReferenceUrl": {
            "type": "string",
            "description": "Direct link to this shipping request on destination vendor"
          },
          "extShipmentId": {
            "type": "string",
            "description": "Customer Friendly reference to this shipping request on originating vendor, auto generated if not provided"
          },
          "extStatus": {
            "type": "string",
            "description": "Shipping request status on external system"
          },
          "fulfillmentIntegrationId": {
            "type": "string",
            "description": "Destination of this shipping request"
          },
          "giftNote": {
            "type": "string",
            "description": "Shipping Gift note"
          },
          "holdOptions": {
            "$ref": "#/components/schemas/ShipmentHoldOptions",
            "nullable": true
          },
          "holdUntil": {
            "type": "string",
            "format": "date-time"
          },
          "incoterms": {
            "type": "string",
            "description": "International Commercial Terms"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "locationId": {
            "type": "string",
            "description": "Id of location defined in organization"
          },
          "orderCreateTime": {
            "type": "string",
            "format": "date-time",
            "description": "Create time of linked order"
          },
          "orderId": {
            "type": "string",
            "description": "Pipe17 Internal Order's orderId"
          },
          "orderSource": {
            "type": "string",
            "description": "Actual Order source, Walmart, Etsy, etc"
          },
          "orderSourceType": {
            "$ref": "#/components/schemas/OrderType"
          },
          "orderType": {
            "$ref": "#/components/schemas/ShipmentOrderType"
          },
          "overfulfillPolicy": {
            "$ref": "#/components/schemas/OverfulfillPolicy"
          },
          "packedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of the 'pickStatus' transition to 'packed' state"
          },
          "pickStatus": {
            "$ref": "#/components/schemas/ShipmentPickStatus"
          },
          "pickedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of the 'pickStatus' transition to 'picked' state"
          },
          "pickupPerson": {
            "type": "object",
            "description": "Primary person authorized to pickup order (BOPIS/BOPAC)",
            "nullable": true,
            "properties": {
              "firstName": {
                "type": "string",
                "description": "Pickup person first name"
              },
              "lastName": {
                "type": "string",
                "description": "Pickup person last name"
              },
              "phone": {
                "type": "string",
                "description": "Pickup person phone number"
              },
              "email": {
                "type": "string",
                "format": "email",
                "description": "Pickup person email"
              },
              "pickupCode": {
                "type": "string",
                "description": "Unique code for pickup verification"
              },
              "relationship": {
                "type": "string",
                "description": "Relationship to orderer (self, spouse, friend, etc.)"
              }
            }
          },
          "pickupVerification": {
            "type": "object",
            "description": "Verification requirements for pickup (BOPIS/BOPAC)",
            "nullable": true,
            "properties": {
              "idRequired": {
                "type": "boolean",
                "default": true,
                "description": "Whether photo ID is required"
              },
              "signatureRequired": {
                "type": "boolean",
                "default": true,
                "description": "Whether signature is required"
              },
              "photoRequired": {
                "type": "boolean",
                "default": false,
                "description": "Whether photo evidence is required"
              },
              "pickupCodeRequired": {
                "type": "boolean",
                "default": true,
                "description": "Whether pickup code verification is required"
              }
            }
          },
          "priority": {
            "$ref": "#/components/schemas/Priority"
          },
          "privacyPolicy": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrivacyPolicy"
            }
          },
          "shipAfterDate": {
            "type": "string",
            "format": "date-time",
            "description": "Ship After Date"
          },
          "shipByDate": {
            "type": "string",
            "format": "date-time",
            "description": "Ship By Date"
          },
          "shipCancelByDate": {
            "type": "string",
            "format": "date-time",
            "description": "Ship Cancel By Date"
          },
          "shippedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of the 'pickStatus' transition to 'shipped' state"
          },
          "shippingCarrier": {
            "type": "string",
            "description": "Required with ShippingClass, 2nd Priority.\nConvention for fulfillment methods:\n- BOPIS: \"PICKUP\"\n- BOPAC (Curbside): \"PICKUP\"\n- BOSS: Actual courier (e.g., \"FedEx\", \"UPS\")\n"
          },
          "shippingClass": {
            "type": "string",
            "description": "Required with ShippingCarrier, 2nd Priority.\nConvention for fulfillment methods:\n- BOPIS: \"INSTORE\"\n- BOPAC (Curbside): \"CURBSIDE\"\n- BOSS: Service level (e.g., \"Ground\", \"Express\")\n"
          },
          "shippingCode": {
            "type": "string",
            "description": "1st Priority.\nConvention: \"BOPIS\", \"BOPAC\", or \"BOSS\" to indicate fulfillment method\n"
          },
          "shippingLabels": {
            "type": "array",
            "description": "References to the labels of this shipment. Each entry is either a labelId or a download URL of the form {apiBaseUrl}/labels/{labelId}/download — shipping connectors write URLs, the Pipe17 app writes ids, so both shapes occur. Resolve either with GET /labels?labelId=... — labels bought through request-labels are also tagged shipment:{shipmentId}.\n",
            "items": {
              "type": "string"
            }
          },
          "shippingMethodMapping": {
            "type": "boolean",
            "description": "Enable shipping method mapping (defaults to company setting if not provided)"
          },
          "shippingNote": {
            "type": "string",
            "description": "Shipping Note.\nFor BOPAC: Curbside instructions (car make/model/color, parking spot).\nFor BOPIS: Special pickup instructions\n"
          },
          "shippingPrice": {
            "type": "number",
            "format": "float",
            "description": "Shipping price"
          },
          "skipLocation": {
            "type": "boolean",
            "description": "A flag to indicate the location in this SR should be skipped during rerun-routing"
          },
          "skipLocationUntil": {
            "type": "string",
            "format": "date-time",
            "description": "Time limit for skipping location (default: no time-bound skip for that SR)"
          },
          "sourceDoc": {
            "$ref": "#/components/schemas/SourceDoc"
          },
          "storeId": {
            "type": "string",
            "nullable": true,
            "description": "Store ID for store fulfillment routing (populated by Order Routing Engine, read-only for clients)"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "waveStatus": {
            "$ref": "#/components/schemas/ShipmentWaveStatus"
          }
        }
      },
      "ShipmentBox": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "boxId": {
                "type": "string",
                "description": "Box Id"
              },
              "exceptionCategories": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "References to categories of exceptions related to the box"
              },
              "exceptions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Types of exceptions related to the box"
              }
            }
          },
          {
            "$ref": "#/components/schemas/ShipmentBoxCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "ShipmentBoxCreateData": {
        "type": "object",
        "required": [
          "extBoxId"
        ],
        "properties": {
          "extBoxId": {
            "type": "string",
            "description": "External Box Id"
          },
          "billOfLading": {
            "type": "string"
          },
          "customFields": {
            "type": "array",
            "nullable": true,
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "dimensionsUnit": {
            "type": "string",
            "description": "Dimensions UOM",
            "enum": [
              "cm",
              "in",
              "ft"
            ]
          },
          "height": {
            "type": "number",
            "format": "float",
            "description": "Height"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "labelId": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Label Ids"
          },
          "length": {
            "type": "number",
            "format": "float",
            "description": "Length"
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShipmentBoxLineItem"
            }
          },
          "shipmentId": {
            "type": "string",
            "description": "Shipment Id"
          },
          "ssccCode": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/ShipmentBoxStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "ucc128": {
            "type": "string"
          },
          "weight": {
            "type": "number",
            "format": "float",
            "description": "Weight"
          },
          "weightUnit": {
            "type": "string",
            "description": "Weight UOM",
            "enum": [
              "lb",
              "oz",
              "kg",
              "g"
            ]
          },
          "width": {
            "type": "number",
            "format": "float",
            "description": "Width"
          }
        }
      },
      "ShipmentBoxCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "box": {
                "$ref": "#/components/schemas/ShipmentBoxCreateData"
              }
            }
          }
        ]
      },
      "ShipmentBoxCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ShipmentBoxCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "ShipmentBoxCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "box": {
                "$ref": "#/components/schemas/ShipmentBox"
              }
            }
          }
        ]
      },
      "ShipmentBoxFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "ShipmentBoxFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "box": {
                "$ref": "#/components/schemas/ShipmentBox"
              }
            }
          }
        ]
      },
      "ShipmentBoxLineItem": {
        "type": "object",
        "description": "Line-item",
        "required": [
          "sku",
          "quantity"
        ],
        "properties": {
          "quantity": {
            "type": "integer",
            "format": "int32",
            "description": "Item Quantity"
          },
          "sku": {
            "type": "string",
            "description": "Item SKU"
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "quantityUnit": {
            "$ref": "#/components/schemas/ItemQuantityUnit"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Channel SKU for this item. On a write made with withSKUMapping, the channel SKU that 'sku' was resolved from is recorded here.\n"
          }
        }
      },
      "ShipmentBoxStatus": {
        "type": "string",
        "description": "Box Status",
        "enum": [
          "new",
          "packed",
          "reported",
          "labeled",
          "shipped"
        ]
      },
      "ShipmentBoxUpdateData": {
        "type": "object",
        "properties": {
          "billOfLading": {
            "type": "string"
          },
          "customFields": {
            "type": "array",
            "nullable": true,
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "dimensionsUnit": {
            "type": "string",
            "description": "Dimensions UOM",
            "enum": [
              "cm",
              "in",
              "ft"
            ]
          },
          "height": {
            "type": "number",
            "format": "float",
            "description": "Height"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "labelId": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Label Ids"
          },
          "length": {
            "type": "number",
            "format": "float",
            "description": "Length"
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShipmentBoxUpdateLineItem"
            }
          },
          "shipmentId": {
            "type": "string",
            "description": "Shipment Id"
          },
          "ssccCode": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/ShipmentBoxStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "ucc128": {
            "type": "string"
          },
          "weight": {
            "type": "number",
            "format": "float",
            "description": "Weight"
          },
          "weightUnit": {
            "type": "string",
            "description": "Weight UOM",
            "enum": [
              "lb",
              "oz",
              "kg",
              "g"
            ]
          },
          "width": {
            "type": "number",
            "format": "float",
            "description": "Width"
          }
        }
      },
      "ShipmentBoxUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "box": {
                "$ref": "#/components/schemas/ShipmentBoxUpdateData"
              }
            }
          }
        ]
      },
      "ShipmentBoxUpdateLineItem": {
        "type": "object",
        "description": "Line-item",
        "properties": {
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "quantity": {
            "type": "integer",
            "format": "int32",
            "description": "Item Quantity"
          },
          "quantityUnit": {
            "$ref": "#/components/schemas/ItemQuantityUnit"
          },
          "sku": {
            "type": "string",
            "description": "Item SKU"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Channel SKU for this item. On a write made with withSKUMapping, the channel SKU that 'sku' was resolved from is recorded here.\n"
          }
        }
      },
      "ShipmentBoxUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ShipmentBoxUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "ShipmentBoxUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          }
        ]
      },
      "ShipmentBoxesListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/ShipmentBoxesListFilter"
              }
            }
          }
        ]
      },
      "ShipmentBoxesListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Shipment Boxes Filter",
            "properties": {
              "boxId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Shipment boxes by list of boxId"
              },
              "exceptionCategoryId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Shipment boxes by list of categories of the box related exceptions"
              },
              "exceptionType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Shipment boxes by list of types of the box related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)"
              },
              "extBoxId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Shipment boxes by list of extBoxId"
              },
              "shipmentId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Shipment boxes by list of shipmentId"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ShipmentBoxStatus"
                },
                "description": "Shipment boxes by list of statuses"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              }
            }
          }
        ]
      },
      "ShipmentBoxesListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "boxes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ShipmentBox"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/ShipmentBoxesListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "ShipmentCancellationStatus": {
        "type": "string",
        "description": "Shipping request cancellation status",
        "enum": [
          "pending",
          "accepted",
          "rejected"
        ]
      },
      "ShipmentChangelogEntry": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "orderId": {
                "type": "string",
                "description": "Order Id"
              },
              "pickStatus": {
                "type": "string"
              },
              "shipmentId": {
                "type": "string",
                "description": "Shipment Id"
              },
              "waveStatus": {
                "type": "string"
              }
            }
          },
          {
            "$ref": "#/components/schemas/ChangelogEntryBase"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "ShipmentCreateData": {
        "type": "object",
        "xml": {
          "name": "shipment"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/ShipmentBase"
          },
          {
            "type": "object",
            "properties": {
              "autoEngUpdateStatus": {
                "$ref": "#/components/schemas/AutoEngUpdateStatus"
              },
              "lineItems": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ShipmentCreateLineItem"
                }
              },
              "status": {
                "$ref": "#/components/schemas/ShipmentCreateStatus"
              }
            }
          }
        ]
      },
      "ShipmentCreateLineItem": {
        "type": "object",
        "required": [
          "uniqueId",
          "sku",
          "quantity"
        ],
        "properties": {
          "quantity": {
            "type": "number",
            "format": "float",
            "description": "Item Quantity"
          },
          "sku": {
            "type": "string",
            "description": "Item SKU"
          },
          "uniqueId": {
            "type": "string",
            "description": "Item unique Id (within shipment)"
          },
          "bundleQuantity": {
            "type": "number",
            "description": "quantity of item in bundle for bundle components"
          },
          "bundleSKU": {
            "type": "string",
            "description": "reference to bundle for bundle components"
          },
          "bundleUPC": {
            "type": "string",
            "description": "reference to bundle for bundle components"
          },
          "components": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShipmentLineItemComponent"
            }
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "deliveryMethod": {
            "description": "Delivery method/type for this lineItem",
            "$ref": "#/components/schemas/DeliveryMethod"
          },
          "deliveryProfileId": {
            "type": "string",
            "description": "Delivery profile Id for this lineItem"
          },
          "itemDiscount": {
            "type": "number",
            "format": "float",
            "description": "Item Price"
          },
          "itemPrice": {
            "type": "number",
            "format": "float",
            "description": "Item Price"
          },
          "name": {
            "type": "string",
            "description": "Item Name"
          },
          "originalBundleSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'bundleSKU' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "quantityUnit": {
            "$ref": "#/components/schemas/ItemQuantityUnit"
          },
          "shippedQuantity": {
            "type": "number",
            "format": "float",
            "description": "Item Shipped Quantity"
          },
          "trackedAtSourceChannel": {
            "type": "boolean"
          },
          "upc": {
            "type": "string",
            "description": "Item UPC"
          },
          "vendorBundleSKU": {
            "type": "string",
            "description": "Channel SKU for the bundle. On a write made with withSKUMapping, the channel SKU that 'bundleSKU' was resolved from is recorded here.\n"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Channel SKU for this item. On a write made with withSKUMapping, the channel SKU that 'sku' was resolved from is recorded here.\n"
          }
        }
      },
      "ShipmentCreateResult": {
        "type": "object",
        "properties": {
          "conflict": {
            "type": "object",
            "description": "Duplicate key error details, if failed"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Error details if failed"
          },
          "message": {
            "type": "string",
            "description": "Error message if failed"
          },
          "shipment": {
            "$ref": "#/components/schemas/Shipment"
          },
          "status": {
            "type": "string",
            "enum": [
              "submitted",
              "failed"
            ]
          }
        }
      },
      "ShipmentCreateStatus": {
        "type": "string",
        "description": "Shipment Status",
        "enum": [
          "new",
          "pendingInventory",
          "pendingShippingLabel",
          "reviewRequired",
          "readyForFulfillment"
        ]
      },
      "ShipmentFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "ShipmentFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "shipment": {
                "$ref": "#/components/schemas/Shipment"
              }
            }
          }
        ]
      },
      "ShipmentHoldOptions": {
        "type": "object",
        "description": "Hold state for a shipment, present while the shipment is `onHold` and cleared to\n`null` on release. Shipment holds are always timed, so there is no hold type or\ncondition.\n",
        "properties": {
          "holdNextStatus": {
            "$ref": "#/components/schemas/HoldNextStatus",
            "nullable": true
          },
          "holdUntil": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "When the hold releases."
          }
        }
      },
      "ShipmentLineItem": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ShipmentCreateLineItem"
          },
          {
            "type": "object",
            "properties": {
              "rejectedQuantity": {
                "type": "number",
                "format": "float",
                "description": "Item Rejected Quantity"
              }
            }
          }
        ]
      },
      "ShipmentLineItemComponent": {
        "type": "object",
        "required": [
          "sku",
          "quantity"
        ],
        "properties": {
          "quantity": {
            "type": "number",
            "format": "float"
          },
          "sku": {
            "type": "string"
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Channel SKU for this item. On a write made with withSKUMapping, the channel SKU that 'sku' was resolved from is recorded here.\n"
          }
        }
      },
      "ShipmentOrderType": {
        "type": "string",
        "description": "Type of order that initiated this shipping request",
        "enum": [
          "sales",
          "transfer",
          "purchase"
        ]
      },
      "ShipmentPickStatus": {
        "type": "string",
        "enum": [
          "onHold",
          "readyToPick",
          "picking",
          "picked",
          "packing",
          "packed",
          "readyToLoad",
          "partiallyShipped",
          "shipped",
          "canceled"
        ]
      },
      "ShipmentRejectRequest": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "canceled",
              "canceledRestock",
              "failed",
              "reviewRequired"
            ],
            "default": "canceled",
            "description": "Reason for reject (- specifies SR status upon completion)"
          }
        }
      },
      "ShipmentRejectResponse": {
        "type": "object",
        "required": [
          "success",
          "code"
        ],
        "xml": {
          "name": "response"
        },
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32",
            "description": "Copy of HTTP status",
            "enum": [
              200,
              201,
              202
            ],
            "example": 200
          },
          "success": {
            "type": "boolean",
            "description": "Always true",
            "enum": [
              true
            ],
            "example": true
          }
        }
      },
      "ShipmentSearchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "shipments": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Shipment"
                }
              },
              "total": {
                "type": "integer"
              }
            }
          }
        ]
      },
      "ShipmentStatus": {
        "type": "string",
        "description": "Shipping request Status",
        "enum": [
          "new",
          "pendingInventory",
          "pendingShippingLabel",
          "reviewRequired",
          "readyForFulfillment",
          "sentToFulfillment",
          "fulfilled",
          "partialFulfillment",
          "canceled",
          "canceledRestock",
          "failed",
          "onHold"
        ]
      },
      "ShipmentSyncRequest": {
        "type": "object",
        "properties": {
          "syncAE": {
            "type": "boolean",
            "description": "Reset autoEngUpdateStatus"
          }
        }
      },
      "ShipmentUpdateData": {
        "type": "object",
        "properties": {
          "autoEngUpdateStatus": {
            "$ref": "#/components/schemas/AutoEngUpdateStatus"
          },
          "billingAddress": {
            "$ref": "#/components/schemas/AddressUpdateData",
            "description": "Purchaser Address"
          },
          "cancellationStatus": {
            "$ref": "#/components/schemas/ShipmentCancellationStatus"
          },
          "currency": {
            "type": "string",
            "description": "Currency code (updating is prohibited if the SR status is in [`sentToFulfillment`, `partialFulfillment`, `fulfilled`, `canceled`, `canceledRestock`])"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "customerPONumber": {
            "type": "string",
            "nullable": true,
            "description": "Customer purchase order number (updating is prohibited if the SR status is in [`sentToFulfillment`, `partialFulfillment`, `fulfilled`, `canceled`, `canceledRestock`])"
          },
          "deliveryProfiles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeliveryProfile"
            }
          },
          "excludeFromReuse": {
            "type": "boolean",
            "default": false,
            "description": "A flag to indicate whether id of this SR can be reused, or not"
          },
          "expectedDeliveryDate": {
            "type": "string",
            "format": "date-time",
            "description": "First Priority to be respected (updating is prohibited if the SR status is in [`sentToFulfillment`, `partialFulfillment`, `fulfilled`, `canceled`, `canceledRestock`])"
          },
          "expectedShipDate": {
            "type": "string",
            "format": "date-time",
            "description": "Expected ship date (updating is prohibited if the SR status is in [`sentToFulfillment`, `partialFulfillment`, `fulfilled`, `canceled`, `canceledRestock`])"
          },
          "extReferenceId": {
            "type": "string",
            "description": "Customer Friendly reference to this shipping request on destination vendor"
          },
          "extReferenceUrl": {
            "type": "string",
            "description": "Direct link to this shipping request on destination vendor"
          },
          "extShipmentId": {
            "type": "string",
            "description": "Customer Friendly reference to this shipping request on originating vendor, auto generated if not provided"
          },
          "extStatus": {
            "type": "string",
            "nullable": true,
            "description": "Shipping request status on external system"
          },
          "giftNote": {
            "type": "string",
            "description": "Shipping Gift note"
          },
          "holdOptions": {
            "$ref": "#/components/schemas/ShipmentHoldOptions",
            "nullable": true
          },
          "holdUntil": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "incoterms": {
            "type": "string",
            "description": "International Commercial Terms (updating is prohibited if the SR status is in [`sentToFulfillment`, `partialFulfillment`, `fulfilled`, `canceled`, `canceledRestock`])"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShipmentUpdateLineItem"
            }
          },
          "locationId": {
            "type": "string",
            "description": "Id of location defined in organization (can be updated only if the SR is sentToFulfillment already)"
          },
          "overfulfillPolicy": {
            "$ref": "#/components/schemas/OverfulfillPolicy"
          },
          "packedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of the 'pickStatus' transition to 'packed' state"
          },
          "pickStatus": {
            "$ref": "#/components/schemas/ShipmentPickStatus"
          },
          "pickedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of the 'pickStatus' transition to 'picked' state"
          },
          "privacyPolicy": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrivacyPolicy"
            },
            "nullable": true
          },
          "shipAfterDate": {
            "type": "string",
            "format": "date-time",
            "description": "Ship After Date"
          },
          "shipByDate": {
            "type": "string",
            "format": "date-time",
            "description": "Ship By Date (updating is prohibited if the SR status is in [`sentToFulfillment`, `partialFulfillment`, `fulfilled`, `canceled`, `canceledRestock`])"
          },
          "shipCancelByDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "Ship Cancel By Date"
          },
          "shippedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of the 'pickStatus' transition to 'shipped' state"
          },
          "shippingAddress": {
            "$ref": "#/components/schemas/AddressUpdateData",
            "description": "Shipping address (updating is prohibited if the SR status is in [`sentToFulfillment`, `partialFulfillment`, `fulfilled`, `canceled`, `canceledRestock`])"
          },
          "shippingCarrier": {
            "type": "string",
            "description": "Required with ShippingClass, 2nd Priority (updating is prohibited if the SR status is in [`fulfilled`, `canceled`, `canceledRestock`])"
          },
          "shippingClass": {
            "type": "string",
            "description": "Required with ShippingCarrier, 2nd Priority (updating is prohibited if the SR status is in [`fulfilled`, `canceled`, `canceledRestock`])"
          },
          "shippingCode": {
            "type": "string",
            "description": "1st Priority (updating is prohibited if the SR status is in [`sentToFulfillment`, `partialFulfillment`, `fulfilled`, `canceled`, `canceledRestock`])"
          },
          "shippingLabels": {
            "type": "array",
            "description": "References to the labels of this shipment. Each entry is either a labelId or a download URL of the form {apiBaseUrl}/labels/{labelId}/download — shipping connectors write URLs, the Pipe17 app writes ids, so both shapes occur. Resolve either with GET /labels?labelId=... (updating is prohibited if the SR status is in [`fulfilled`, `canceled`, `canceledRestock`])\n",
            "items": {
              "type": "string"
            }
          },
          "shippingMethodMapping": {
            "type": "boolean",
            "description": "Enable shipping method mapping (defaults to company setting if not provided)"
          },
          "shippingNote": {
            "type": "string",
            "description": "Shipping Note (updating is prohibited if the SR status is in [`sentToFulfillment`, `partialFulfillment`, `fulfilled`, `canceled`, `canceledRestock`])"
          },
          "shippingPrice": {
            "type": "number",
            "format": "float",
            "description": "Shipping price (updating is prohibited if the SR status is in [`sentToFulfillment`, `partialFulfillment`, `fulfilled`, `canceled`, `canceledRestock`])"
          },
          "skipLocation": {
            "type": "boolean",
            "description": "A flag to indicate the location in this SR should be skipped during rerun-routing"
          },
          "skipLocationUntil": {
            "type": "string",
            "format": "date-time",
            "description": "Time limit for skipping location (default: no time-bound skip for that SR)",
            "nullable": true
          },
          "sourceDoc": {
            "$ref": "#/components/schemas/SourceDoc"
          },
          "status": {
            "$ref": "#/components/schemas/ShipmentStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags",
            "nullable": true
          },
          "waveStatus": {
            "$ref": "#/components/schemas/ShipmentWaveStatus"
          }
        }
      },
      "ShipmentUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "shipment": {
                "$ref": "#/components/schemas/ShipmentUpdateData"
              }
            }
          }
        ]
      },
      "ShipmentUpdateLineItem": {
        "type": "object",
        "properties": {
          "bundleQuantity": {
            "type": "number",
            "description": "quantity of item in bundle for bundle components (updating is prohibited if the SR status is in [`sentToFulfillment`, `partialFulfillment`, `fulfilled`, `canceled`, `canceledRestock`])"
          },
          "bundleSKU": {
            "type": "string",
            "description": "reference to bundle for bundle components (updating is prohibited if the SR status is in [`sentToFulfillment`, `partialFulfillment`, `fulfilled`, `canceled`, `canceledRestock`])"
          },
          "bundleUPC": {
            "type": "string",
            "description": "reference to bundle for bundle components (updating is prohibited if the SR status is in [`sentToFulfillment`, `partialFulfillment`, `fulfilled`, `canceled`, `canceledRestock`])"
          },
          "components": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShipmentLineItemComponent"
            },
            "nullable": true
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "deliveryMethod": {
            "$ref": "#/components/schemas/DeliveryMethod",
            "description": "Delivery method/type for this lineItem (updating is prohibited if the SR status is in [`sentToFulfillment`, `partialFulfillment`, `fulfilled`, `canceled`, `canceledRestock`])"
          },
          "deliveryProfileId": {
            "type": "string",
            "description": "Delivery profile Id for this lineItem (updating is prohibited if the SR status is in [`sentToFulfillment`, `partialFulfillment`, `fulfilled`, `canceled`, `canceledRestock`])"
          },
          "itemDiscount": {
            "type": "number",
            "format": "float",
            "description": "Item Price (updating is prohibited if the SR status is in [`sentToFulfillment`, `partialFulfillment`, `fulfilled`, `canceled`, `canceledRestock`])"
          },
          "itemPrice": {
            "type": "number",
            "format": "float",
            "description": "Item Price (updating is prohibited if the SR status is in [`sentToFulfillment`, `partialFulfillment`, `fulfilled`, `canceled`, `canceledRestock`])"
          },
          "name": {
            "type": "string",
            "description": "Item Name (updating is prohibited if the SR status is in [`sentToFulfillment`, `partialFulfillment`, `fulfilled`, `canceled`, `canceledRestock`])"
          },
          "originalBundleSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'bundleSKU' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "quantityUnit": {
            "$ref": "#/components/schemas/ItemQuantityUnit",
            "description": "(updating is prohibited if the SR status is in [`sentToFulfillment`, `partialFulfillment`, `fulfilled`, `canceled`, `canceledRestock`])"
          },
          "shippedQuantity": {
            "type": "number",
            "format": "float",
            "description": "Item Shipped Quantity"
          },
          "sku": {
            "type": "string",
            "description": "Item SKU"
          },
          "trackedAtSourceChannel": {
            "type": "boolean",
            "description": "(updating is prohibited if the SR status is in [`sentToFulfillment`, `partialFulfillment`, `fulfilled`, `canceled`, `canceledRestock`])"
          },
          "uniqueId": {
            "type": "string",
            "description": "Item unique Id (within shipment). Line-level identifier used to disambiguate updates when multiple lines share the same SKU (e.g. decomposed bundle components). ENG-31841."
          },
          "upc": {
            "type": "string",
            "description": "Item UPC"
          },
          "vendorBundleSKU": {
            "type": "string",
            "description": "Channel SKU for the bundle. On a write made with withSKUMapping, the channel SKU that 'bundleSKU' was resolved from is recorded here.\n"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Channel SKU for this item. On a write made with withSKUMapping, the channel SKU that 'sku' was resolved from is recorded here.\n"
          }
        }
      },
      "ShipmentUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ShipmentUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "ShipmentUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "shipment": {
                "$ref": "#/components/schemas/Shipment"
              }
            }
          }
        ]
      },
      "ShipmentWaveStatus": {
        "type": "string",
        "description": "BOPIS pickup wave-driven notification status",
        "enum": [
          "readyToPickup",
          "notified"
        ]
      },
      "ShipmentsCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "shipments": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ShipmentCreateResult"
                }
              }
            }
          }
        ]
      },
      "ShipmentsCreateRequest": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ShipmentCreateData"
        },
        "xml": {
          "name": "request",
          "wrapped": true
        },
        "maxItems": 10
      },
      "ShipmentsCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "shipments": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ShipmentCreateResult"
                }
              }
            }
          }
        ]
      },
      "ShipmentsDeleteError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/ShipmentsDeleteFilter"
              }
            }
          }
        ]
      },
      "ShipmentsDeleteFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ShipmentsFilter"
          },
          {
            "type": "object",
            "description": "Shipping Requests Filter for Multiple Delete query",
            "properties": {
              "orgMode": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrganizationMode"
                },
                "description": "Shipping requests assigned these orgModes"
              }
            }
          }
        ]
      },
      "ShipmentsDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "deleted": {
                "type": "integer",
                "description": "Number of deleted shipments"
              },
              "filters": {
                "$ref": "#/components/schemas/ShipmentsDeleteFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "shipments": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Shipment"
                }
              }
            }
          }
        ]
      },
      "ShipmentsFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Shipping Request Filter",
            "properties": {
              "cancellationStatus": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ShipmentCancellationStatus"
                },
                "description": "Shipping requests by list of statuses"
              },
              "deleted": {
                "type": "boolean",
                "description": "Soft deleted shipping requests"
              },
              "emailAddr": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Shipping requests by list of shippingAddress.email"
              },
              "extOrderId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Shipping requests by list of extOrderId"
              },
              "extReferenceId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Shipping requests by list of extReferenceId"
              },
              "extShipmentId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Shipping requests by list of extShipmentId"
              },
              "fulfillmentIntegrationId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Shipping requests by list of fulfillmentIntegrationId"
              },
              "integration": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Shipping requests of these integrations"
              },
              "locationId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Shipping requests by list of locationId"
              },
              "orderId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Shipping requests by list of orderId"
              },
              "orderType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Shipping requests by list of order types"
              },
              "priority": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Priority"
                }
              },
              "shipmentId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Shipping requests by list of shipmentId"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ShipmentStatus"
                },
                "description": "Shipping requests by list of statuses"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              },
              "version": {
                "type": "number",
                "description": "Shipping requests by version number"
              },
              "waveStatus": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ShipmentWaveStatus"
                },
                "description": "Shipping requests by list of wave-driven pickup statuses"
              }
            }
          }
        ]
      },
      "ShipmentsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/ShipmentsFilter"
              }
            }
          }
        ]
      },
      "ShipmentsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "required": [
              "shipments"
            ],
            "properties": {
              "shipments": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Shipment"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/ShipmentsFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "ShippingCarrier": {
        "type": "string",
        "enum": [
          "ups",
          "usps",
          "fedex",
          "deliverr",
          "amazon",
          "other"
        ]
      },
      "ShippingMethod": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "integration": {
                "type": "string",
                "description": "Reference to integration that created an item"
              },
              "methodId": {
                "type": "string",
                "description": "Shipping Method ID"
              }
            }
          },
          {
            "$ref": "#/components/schemas/ShippingMethodCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "ShippingMethodCreateData": {
        "type": "object",
        "required": [
          "sourceType"
        ],
        "properties": {
          "sourceType": {
            "$ref": "#/components/schemas/ShippingMethodSourceType",
            "description": "Shipping method source type"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "description": {
            "type": "string",
            "description": "Shipping method description"
          },
          "extMethodId": {
            "type": "string",
            "description": "Shipping method external Id"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "isDefault": {
            "type": "boolean",
            "description": "Marks shipping method as default for given sourceIntegrationId"
          },
          "isPassthrough": {
            "type": "boolean",
            "description": "Marks shipping method as passthrough for given sourceIntegrationId"
          },
          "mappedMethods": {
            "type": "array",
            "description": "List of mapped methods",
            "items": {
              "$ref": "#/components/schemas/ShippingMethodMapping"
            }
          },
          "name": {
            "type": "string",
            "description": "Shipping method name"
          },
          "shippingCarrier": {
            "type": "string",
            "description": "Shipping carrier"
          },
          "shippingCode": {
            "type": "string",
            "description": "Shipping code"
          },
          "shippingService": {
            "type": "string",
            "description": "Shipping service"
          },
          "sourceIntegrationId": {
            "type": "string",
            "description": "Shipping method source integrationId"
          },
          "status": {
            "$ref": "#/components/schemas/ShippingMethodStatus",
            "description": "Shipping method status"
          }
        }
      },
      "ShippingMethodCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "methods": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ShippingMethod"
                }
              }
            }
          }
        ]
      },
      "ShippingMethodCreateRequest": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ShippingMethodCreateData"
        },
        "xml": {
          "name": "request",
          "wrapped": true
        },
        "maxItems": 10
      },
      "ShippingMethodCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "methods": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ShippingMethodCreateResult"
                }
              }
            }
          }
        ]
      },
      "ShippingMethodCreateResult": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32",
            "description": "HTTP status code"
          },
          "conflict": {
            "type": "object",
            "description": "Duplicate key error details, if failed"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Error details if failed"
          },
          "message": {
            "type": "string",
            "description": "Error message if failed"
          },
          "method": {
            "$ref": "#/components/schemas/ShippingMethod"
          },
          "status": {
            "type": "string",
            "enum": [
              "submitted",
              "failed"
            ]
          }
        }
      },
      "ShippingMethodFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "ShippingMethodFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "method": {
                "$ref": "#/components/schemas/ShippingMethod"
              }
            }
          }
        ]
      },
      "ShippingMethodMapping": {
        "type": "object",
        "required": [
          "methodId"
        ],
        "description": "Shipping Method mapping",
        "properties": {
          "methodId": {
            "type": "string",
            "description": "Shipping method ID"
          }
        }
      },
      "ShippingMethodSourceType": {
        "type": "string",
        "description": "Shipping Source type",
        "enum": [
          "logistics",
          "ecommerce",
          "finance"
        ]
      },
      "ShippingMethodStatus": {
        "type": "string",
        "description": "Shipping Method status",
        "enum": [
          "active",
          "inactive",
          "deleted"
        ]
      },
      "ShippingMethodUpdateData": {
        "type": "object",
        "properties": {
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "description": {
            "type": "string",
            "description": "Shipping method description"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "isDefault": {
            "type": "boolean",
            "description": "Marks shipping method as default for given sourceIntegrationId"
          },
          "isPassthrough": {
            "type": "boolean",
            "description": "Marks shipping method as passthrough for given sourceIntegrationId"
          },
          "mappedMethods": {
            "nullable": true,
            "type": "array",
            "description": "List of mapped methods",
            "items": {
              "$ref": "#/components/schemas/ShippingMethodMapping"
            }
          },
          "name": {
            "type": "string",
            "description": "Shipping method name"
          },
          "shippingCarrier": {
            "type": "string",
            "nullable": true,
            "description": "Shipping carrier"
          },
          "shippingCode": {
            "type": "string",
            "nullable": true,
            "description": "Shipping code"
          },
          "shippingService": {
            "type": "string",
            "nullable": true,
            "description": "Shipping service"
          },
          "status": {
            "$ref": "#/components/schemas/ShippingMethodStatus",
            "description": "Shipping method status"
          }
        }
      },
      "ShippingMethodUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "method": {
                "$ref": "#/components/schemas/ShippingMethodUpdateData"
              }
            }
          }
        ]
      },
      "ShippingMethodUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ShippingMethodUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "ShippingMethodUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "method": {
                "$ref": "#/components/schemas/ShippingMethod"
              }
            }
          }
        ]
      },
      "ShippingMethodsDeleteError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/ShippingMethodsDeleteFilter"
              }
            }
          }
        ]
      },
      "ShippingMethodsDeleteFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ShippingMethodsFilter"
          },
          {
            "type": "object",
            "description": "Delete Shipping Methods Filter",
            "properties": {
              "orgMode": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrganizationMode"
                },
                "description": "Shipping Methods assigned these orgModes"
              },
              "source": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Shipping method sources"
              },
              "sourceIntegrationId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Shipping method source integrationIds"
              }
            }
          }
        ]
      },
      "ShippingMethodsDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "deleted": {
                "type": "integer",
                "description": "Number of deleted shipping methods"
              },
              "filters": {
                "$ref": "#/components/schemas/ShippingMethodsDeleteFilter"
              },
              "methods": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ShippingMethod"
                }
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "ShippingMethodsFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Shipping Methods Filter",
            "properties": {
              "methodId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Shipping methods by list of methodId"
              }
            }
          }
        ]
      },
      "ShippingMethodsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/ShippingMethodsListFilter"
              }
            }
          }
        ]
      },
      "ShippingMethodsListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ShippingMethodsFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "description": "List Shipping Methods Filter",
            "properties": {
              "isDefault": {
                "type": "boolean",
                "description": "Shipping method default flag"
              },
              "isPassthrough": {
                "type": "boolean",
                "description": "Shipping method passthrough flag"
              },
              "mappedMethodId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Mapped shipping method Ids"
              },
              "shippingCarrier": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Shipping carriers"
              },
              "shippingCode": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Shipping codes"
              },
              "shippingService": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Shipping services"
              },
              "sourceIntegrationId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Shipping method source IntegrationIds"
              },
              "sourceType": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ShippingMethodSourceType"
                },
                "description": "Shipping method source types"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ShippingMethodStatus"
                },
                "description": "Shipping method status"
              }
            }
          }
        ]
      },
      "ShippingMethodsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/ShippingMethodsListFilter"
              },
              "methods": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ShippingMethod"
                }
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "SkippedEntitiesListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/SkippedEntitiesListFilter"
              }
            }
          }
        ]
      },
      "SkippedEntitiesListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Skipped Entities Filter",
            "properties": {
              "entityType": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EntityName"
                },
                "description": "Select entities by entityType list"
              },
              "exceptionCategoryId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select entities by list of categories of the entity related exceptions"
              },
              "exceptionType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select entities by list of types of the entity related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)"
              },
              "extEntityId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select entities by extEntityId list"
              },
              "extStatus": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select entities by extStatus list"
              },
              "integration": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select entities by integration list"
              },
              "logId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select entities by logId list"
              },
              "reasonCode": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SkippedEntityReasonCode"
                },
                "description": "Select entities by reasonCode list"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              }
            }
          }
        ]
      },
      "SkippedEntitiesListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/SkippedEntitiesListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "skippedEntities": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SkippedEntity"
                }
              }
            }
          }
        ]
      },
      "SkippedEntitiesUpsertError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "entities": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SkippedEntityUpsertResult"
                }
              }
            }
          }
        ]
      },
      "SkippedEntitiesUpsertRequest": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SkippedEntityUpsertData"
        },
        "xml": {
          "name": "request",
          "wrapped": true
        },
        "maxItems": 10
      },
      "SkippedEntitiesUpsertResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "entities": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SkippedEntityUpsertResult"
                }
              }
            }
          }
        ]
      },
      "SkippedEntity": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "apikeyId": {
                "type": "string",
                "description": "ID of author's Api key"
              },
              "exceptionCategories": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "References to categories of exceptions related to the entity"
              },
              "exceptions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Types of exceptions related to the entity"
              },
              "integration": {
                "type": "string",
                "description": "ID of integration that created the entity"
              },
              "logId": {
                "type": "string",
                "description": "Auto Generated"
              },
              "userId": {
                "type": "string",
                "description": "Author Id"
              }
            }
          },
          {
            "$ref": "#/components/schemas/SkippedEntityUpsertData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "SkippedEntityFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "SkippedEntityFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "skipped_entity": {
                "$ref": "#/components/schemas/SkippedEntity"
              }
            }
          }
        ]
      },
      "SkippedEntityReasonCode": {
        "type": "string",
        "description": "Code of reason for the skip",
        "enum": [
          "unknown"
        ],
        "default": "unknown"
      },
      "SkippedEntityUpsertData": {
        "type": "object",
        "xml": {
          "name": "skippedEntity"
        },
        "required": [
          "entityType",
          "extEntityId"
        ],
        "properties": {
          "entityType": {
            "$ref": "#/components/schemas/EntityName"
          },
          "extEntityId": {
            "type": "string"
          },
          "extCreatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "extStatus": {
            "type": "string"
          },
          "extUpdatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "reason": {
            "type": "string",
            "description": "Reason for the skip"
          },
          "reasonCode": {
            "$ref": "#/components/schemas/SkippedEntityReasonCode"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          }
        }
      },
      "SkippedEntityUpsertResult": {
        "type": "object",
        "properties": {
          "conflict": {
            "type": "object",
            "description": "Duplicate key error details, if failed"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Error details if failed"
          },
          "message": {
            "type": "string",
            "description": "Error message if failed"
          },
          "skippedEntity": {
            "$ref": "#/components/schemas/SkippedEntity"
          },
          "status": {
            "type": "string",
            "enum": [
              "submitted",
              "failed"
            ]
          }
        }
      },
      "SourceDoc": {
        "type": "object",
        "description": "Vendor source document",
        "properties": {
          "content": {
            "type": "string",
            "description": "'required' in POST/PUT requests"
          },
          "contentType": {
            "type": "string",
            "description": "'required' in POST/PUT requests"
          },
          "status": {
            "type": "string",
            "readOnly": true
          },
          "version": {
            "type": "string",
            "readOnly": true
          },
          "versions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SourceDocVersion"
            },
            "readOnly": true
          }
        }
      },
      "SourceDocVersion": {
        "type": "object",
        "properties": {
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "version": {
            "type": "string"
          }
        }
      },
      "Statement": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "exceptionCategories": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "References to categories of exceptions related to the statement"
              },
              "exceptions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Types of exceptions related to the statement"
              },
              "integration": {
                "type": "string",
                "description": "Integration associated with statement"
              },
              "statementId": {
                "type": "string",
                "description": "Statement ID"
              },
              "status": {
                "$ref": "#/components/schemas/StatementStatus"
              },
              "transactionFeesTotals": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Fee"
                },
                "description": "Fees totals by all registered transactions"
              }
            }
          },
          {
            "$ref": "#/components/schemas/StatementCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "StatementCreateData": {
        "type": "object",
        "required": [
          "extStatementId",
          "extStatementStartDate"
        ],
        "properties": {
          "extStatementId": {
            "type": "string",
            "description": "External statement ID"
          },
          "extStatementStartDate": {
            "type": "string",
            "description": "External statement start-date",
            "format": "date-time"
          },
          "currency": {
            "type": "string",
            "description": "Currency"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "depositTotal": {
            "type": "number",
            "description": "Deposit total"
          },
          "extStatementApiId": {
            "type": "string",
            "description": "External statement Api ID"
          },
          "extStatementDepositDate": {
            "type": "string",
            "description": "External statement deposit-date",
            "format": "date-time"
          },
          "extStatementEndDate": {
            "type": "string",
            "description": "External statement end-date",
            "format": "date-time"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "sourceDoc": {
            "$ref": "#/components/schemas/SourceDoc"
          },
          "statementTotal": {
            "type": "number",
            "description": "Statement total"
          },
          "status": {
            "$ref": "#/components/schemas/StatementStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "transactionFees": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Fee"
            }
          }
        }
      },
      "StatementCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "statements": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/StatementCreateResult"
                }
              }
            }
          }
        ]
      },
      "StatementCreateRequest": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/StatementCreateData"
        },
        "xml": {
          "name": "request",
          "wrapped": true
        },
        "maxItems": 10
      },
      "StatementCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "statements": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/StatementCreateResult"
                }
              }
            }
          }
        ]
      },
      "StatementCreateResult": {
        "type": "object",
        "properties": {
          "conflict": {
            "type": "object",
            "description": "Duplicate key error details, if failed"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Error details if failed"
          },
          "message": {
            "type": "string",
            "description": "Error message if failed"
          },
          "statement": {
            "$ref": "#/components/schemas/Statement"
          },
          "status": {
            "type": "string",
            "enum": [
              "submitted",
              "failed"
            ]
          }
        }
      },
      "StatementFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "StatementFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "statement": {
                "$ref": "#/components/schemas/Statement"
              }
            }
          }
        ]
      },
      "StatementListItem": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "integration": {
                "type": "string",
                "description": "Integration associated with statement"
              },
              "statementId": {
                "type": "string",
                "description": "Statement ID"
              },
              "status": {
                "$ref": "#/components/schemas/StatementStatus"
              }
            }
          },
          {
            "$ref": "#/components/schemas/StatementCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "StatementStatus": {
        "type": "string",
        "description": "Statement status",
        "enum": [
          "new",
          "draft",
          "pending",
          "paid",
          "reported"
        ]
      },
      "StatementUpdateData": {
        "type": "object",
        "properties": {
          "currency": {
            "type": "string",
            "description": "Currency"
          },
          "customFields": {
            "type": "array",
            "nullable": true,
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "depositTotal": {
            "type": "number",
            "description": "Deposit total"
          },
          "extStatementDepositDate": {
            "type": "string",
            "description": "External statement deposit-date",
            "format": "date-time"
          },
          "extStatementEndDate": {
            "type": "string",
            "description": "External statement end-date",
            "format": "date-time"
          },
          "extStatementStartDate": {
            "type": "string",
            "description": "External statement start-date",
            "format": "date-time"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "sourceDoc": {
            "$ref": "#/components/schemas/SourceDoc"
          },
          "statementTotal": {
            "type": "number",
            "description": "Statement total"
          },
          "status": {
            "$ref": "#/components/schemas/StatementStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "transactionFees": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Fee"
            }
          }
        }
      },
      "StatementUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "statement": {
                "$ref": "#/components/schemas/StatementUpdateData"
              }
            }
          }
        ]
      },
      "StatementUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/StatementUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "StatementUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "statement": {
                "$ref": "#/components/schemas/Statement"
              }
            }
          }
        ]
      },
      "StatementsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/StatementsListFilter"
              }
            }
          }
        ]
      },
      "StatementsListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Statements Filter",
            "properties": {
              "deleted": {
                "type": "boolean",
                "description": "Retrieve only soft deleted statements"
              },
              "depositSince": {
                "type": "boolean",
                "description": "Statements where (extStatementDepositDate >= depositSince)"
              },
              "depositUntil": {
                "type": "boolean",
                "description": "Statements where (extStatementDepositDate < depositUntil)"
              },
              "endPeriodSince": {
                "type": "boolean",
                "description": "Statements where (extStatementEndDate >= endPeriodSince)"
              },
              "endPeriodUntil": {
                "type": "boolean",
                "description": "Statements where (extStatementEndDate < endPeriodUntil)"
              },
              "exceptionCategoryId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve statements by list of categories of the statement related exceptions"
              },
              "exceptionType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve statements by list of types of the statement related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)"
              },
              "extStatementApiId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve statements by extStatementApiId list"
              },
              "extStatementId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve statements by extStatementId list"
              },
              "hasSourceDoc": {
                "type": "boolean",
                "description": "Retrieve statements containing a source document"
              },
              "integration": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve statements by integration list"
              },
              "startPeriodSince": {
                "type": "boolean",
                "description": "Statements where (extStatementStartDate >= startPeriodSince)"
              },
              "startPeriodUntil": {
                "type": "boolean",
                "description": "Statements where (extStatementStartDate < startPeriodUntil)"
              },
              "statementId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve statements by statementId list"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/StatementStatus"
                },
                "description": "Retrieve statements by status list"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              }
            }
          }
        ]
      },
      "StatementsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/StatementsListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "statements": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/StatementListItem"
                }
              }
            }
          }
        ]
      },
      "Store": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "storeId": {
                "type": "string",
                "description": "Store ID"
              }
            }
          },
          {
            "$ref": "#/components/schemas/StoreCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "StoreAddress": {
        "type": "object",
        "required": [
          "address1",
          "country"
        ],
        "properties": {
          "address1": {
            "description": "Address",
            "type": "string"
          },
          "country": {
            "description": "Country",
            "type": "string"
          },
          "address2": {
            "description": "Address Line 2",
            "type": "string"
          },
          "city": {
            "description": "City",
            "type": "string"
          },
          "company": {
            "description": "Company",
            "type": "string"
          },
          "email": {
            "description": "email",
            "type": "string"
          },
          "phone": {
            "description": "Phone",
            "type": "string"
          },
          "stateOrProvince": {
            "description": "State or Province",
            "type": "string"
          },
          "zipCodeOrPostalCode": {
            "description": "zipcode or postal code",
            "type": "string"
          }
        }
      },
      "StoreCreateData": {
        "type": "object",
        "required": [
          "name",
          "address"
        ],
        "properties": {
          "address": {
            "$ref": "#/components/schemas/StoreAddress"
          },
          "name": {
            "type": "string",
            "description": "Store Name"
          },
          "assignedUsers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "userId": {
                  "type": "string",
                  "description": "User ID of store associate"
                },
                "role": {
                  "type": "string",
                  "enum": [
                    "manager",
                    "associate",
                    "picker",
                    "packer"
                  ],
                  "description": "Role of user at this store"
                },
                "assignedAt": {
                  "type": "string",
                  "format": "date-time",
                  "description": "When user was assigned"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "active",
                    "inactive"
                  ],
                  "default": "active"
                }
              }
            },
            "description": "Users assigned to this store"
          },
          "fulfillmentCapacity": {
            "type": "integer",
            "minimum": 0,
            "description": "Daily fulfillment capacity for this store (display/planning value)"
          },
          "notificationSettings": {
            "$ref": "#/components/schemas/NotificationSettings"
          },
          "openingHours": {
            "$ref": "#/components/schemas/StoreOpeningHours"
          },
          "operationalSettings": {
            "$ref": "#/components/schemas/OperationalSettings"
          },
          "primaryLocationId": {
            "type": "string",
            "description": "ID of the primary Location for this store (used for default capacity, hours, courier schedule)"
          },
          "status": {
            "$ref": "#/components/schemas/StoreStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          }
        }
      },
      "StoreCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "store": {
                "$ref": "#/components/schemas/StoreCreateData"
              }
            }
          }
        ]
      },
      "StoreCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/StoreCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "StoreCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "store": {
                "$ref": "#/components/schemas/Store"
              }
            }
          }
        ]
      },
      "StoreFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "StoreFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "store": {
                "$ref": "#/components/schemas/Store"
              }
            }
          }
        ]
      },
      "StoreLocationsResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "locations": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Location"
                },
                "description": "Array of Location objects"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "storeId": {
                "type": "string",
                "description": "Store ID"
              }
            }
          }
        ]
      },
      "StoreOpeningHours": {
        "type": "object",
        "nullable": true,
        "description": "Store-level operating hours",
        "properties": {
          "schedule": {
            "type": "array",
            "description": "Weekly schedule (7 days)",
            "items": {
              "type": "object",
              "properties": {
                "dayOfWeek": {
                  "type": "string",
                  "enum": [
                    "monday",
                    "tuesday",
                    "wednesday",
                    "thursday",
                    "friday",
                    "saturday",
                    "sunday"
                  ]
                },
                "isOpen": {
                  "type": "boolean",
                  "description": "Whether store is open this day"
                },
                "openTime": {
                  "type": "string",
                  "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$",
                  "description": "Opening time (HH:MM, 24-hour format)"
                },
                "closeTime": {
                  "type": "string",
                  "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$",
                  "description": "Closing time (HH:MM, 24-hour format)"
                }
              }
            }
          },
          "timezone": {
            "type": "string",
            "description": "IANA timezone (e.g., America/New_York)"
          }
        }
      },
      "StoreStatus": {
        "type": "string",
        "description": "Store status",
        "enum": [
          "active",
          "inactive",
          "deleted"
        ]
      },
      "StoreUpdateAddress": {
        "type": "object",
        "properties": {
          "address1": {
            "description": "Address",
            "type": "string"
          },
          "address2": {
            "description": "Address Line 2",
            "type": "string"
          },
          "city": {
            "description": "City",
            "type": "string"
          },
          "company": {
            "description": "Company",
            "type": "string"
          },
          "country": {
            "description": "Country",
            "type": "string"
          },
          "email": {
            "description": "email",
            "type": "string"
          },
          "phone": {
            "description": "Phone",
            "type": "string"
          },
          "stateOrProvince": {
            "description": "State or Province",
            "type": "string"
          },
          "zipCodeOrPostalCode": {
            "description": "zipcode or postal code",
            "type": "string"
          }
        }
      },
      "StoreUpdateData": {
        "type": "object",
        "properties": {
          "address": {
            "$ref": "#/components/schemas/StoreUpdateAddress"
          },
          "assignedUsers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "userId": {
                  "type": "string",
                  "description": "User ID of store associate"
                },
                "role": {
                  "type": "string",
                  "enum": [
                    "manager",
                    "associate",
                    "picker",
                    "packer"
                  ],
                  "description": "Role of user at this store"
                },
                "assignedAt": {
                  "type": "string",
                  "format": "date-time",
                  "description": "When user was assigned"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "active",
                    "inactive"
                  ],
                  "default": "active"
                }
              }
            },
            "nullable": true,
            "description": "Users assigned to this store"
          },
          "fulfillmentCapacity": {
            "type": "integer",
            "minimum": 0,
            "nullable": true,
            "description": "Daily fulfillment capacity for this store (display/planning value)"
          },
          "name": {
            "type": "string",
            "description": "Store Name"
          },
          "notificationSettings": {
            "$ref": "#/components/schemas/NotificationSettings",
            "nullable": true
          },
          "openingHours": {
            "$ref": "#/components/schemas/StoreOpeningHours"
          },
          "operationalSettings": {
            "$ref": "#/components/schemas/OperationalSettings",
            "nullable": true
          },
          "primaryLocationId": {
            "type": "string",
            "nullable": true,
            "description": "ID of the primary Location for this store (used for default capacity, hours, courier schedule)"
          },
          "status": {
            "$ref": "#/components/schemas/StoreStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          }
        }
      },
      "StoreUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "store": {
                "$ref": "#/components/schemas/StoreUpdateData"
              }
            }
          }
        ]
      },
      "StoreUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/StoreUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "StoreUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "store": {
                "$ref": "#/components/schemas/Store"
              }
            }
          }
        ]
      },
      "StoresFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Stores Filter",
            "properties": {
              "deleted": {
                "type": "boolean",
                "description": "Soft deleted stores"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/StoreStatus"
                }
              },
              "storeId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Stores by list of storeId"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              }
            }
          }
        ]
      },
      "StoresListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/StoresListFilter"
              }
            }
          }
        ]
      },
      "StoresListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/StoresFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "description": "List Stores Filter",
            "properties": {
              "name": {
                "type": "string",
                "description": "Retrieve stores by name (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
              }
            }
          }
        ]
      },
      "StoresListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/StoresListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "stores": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Store"
                }
              }
            }
          }
        ]
      },
      "Success": {
        "type": "object",
        "required": [
          "success",
          "code"
        ],
        "xml": {
          "name": "response"
        },
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32",
            "description": "Copy of HTTP status",
            "enum": [
              200,
              201,
              202
            ],
            "example": 200
          },
          "success": {
            "type": "boolean",
            "description": "Always true",
            "enum": [
              true
            ],
            "example": true
          }
        }
      },
      "Supplier": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "exceptionCategories": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "References to categories of exceptions related to the supplier"
              },
              "exceptions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Types of exceptions related to the supplier"
              },
              "supplierId": {
                "type": "string",
                "description": "Supplier ID"
              }
            }
          },
          {
            "$ref": "#/components/schemas/SupplierCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "SupplierAddress": {
        "type": "object",
        "properties": {
          "address1": {
            "description": "Address Line 1",
            "type": "string"
          },
          "address2": {
            "description": "Address Line 2",
            "type": "string"
          },
          "city": {
            "description": "City",
            "type": "string"
          },
          "country": {
            "description": "Country",
            "type": "string"
          },
          "stateOrProvince": {
            "description": "State or Province",
            "type": "string"
          },
          "zipCodeOrPostalCode": {
            "description": "zipcode or postal code",
            "type": "string"
          }
        }
      },
      "SupplierContact": {
        "type": "object",
        "properties": {
          "email": {
            "description": "Email",
            "type": "string"
          },
          "firstName": {
            "description": "First Name",
            "type": "string"
          },
          "lastName": {
            "description": "Last Name",
            "type": "string"
          },
          "phone": {
            "description": "Phone",
            "type": "string"
          }
        }
      },
      "SupplierCreateData": {
        "type": "object",
        "required": [
          "name",
          "address"
        ],
        "properties": {
          "address": {
            "$ref": "#/components/schemas/SupplierAddress"
          },
          "name": {
            "type": "string",
            "description": "Supplier Name"
          },
          "contacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupplierContact"
            }
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "sourceDoc": {
            "$ref": "#/components/schemas/SourceDoc"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          }
        }
      },
      "SupplierCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "supplier": {
                "$ref": "#/components/schemas/SupplierCreateData"
              }
            }
          }
        ]
      },
      "SupplierCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SupplierCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "SupplierCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "supplier": {
                "$ref": "#/components/schemas/Supplier"
              }
            }
          }
        ]
      },
      "SupplierFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "SupplierFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "supplier": {
                "$ref": "#/components/schemas/Supplier"
              }
            }
          }
        ]
      },
      "SupplierUpdateData": {
        "type": "object",
        "properties": {
          "address": {
            "$ref": "#/components/schemas/SupplierAddress"
          },
          "contacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupplierContact"
            },
            "description": "Supplier Contacts"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Supplier Name"
          },
          "sourceDoc": {
            "nullable": true,
            "$ref": "#/components/schemas/SourceDoc"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          }
        }
      },
      "SupplierUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "supplier": {
                "$ref": "#/components/schemas/SupplierUpdateData"
              }
            }
          }
        ]
      },
      "SupplierUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SupplierUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "SupplierUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "supplier": {
                "$ref": "#/components/schemas/Supplier"
              }
            }
          }
        ]
      },
      "SuppliersDeleteError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/SuppliersDeleteFilter"
              }
            }
          }
        ]
      },
      "SuppliersDeleteFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SuppliersFilter"
          },
          {
            "type": "object",
            "description": "Delete Suppliers Filter",
            "properties": {
              "orgMode": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrganizationMode"
                },
                "description": "Suppliers assigned these orgModes"
              }
            }
          }
        ]
      },
      "SuppliersDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "deleted": {
                "type": "integer",
                "description": "Number of deleted suppliers"
              },
              "filters": {
                "$ref": "#/components/schemas/SuppliersDeleteFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "suppliers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Supplier"
                }
              }
            }
          }
        ]
      },
      "SuppliersFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Suppliers Filter",
            "properties": {
              "deleted": {
                "type": "boolean",
                "description": "Soft deleted suppliers"
              },
              "supplierId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Suppliers by list of supplierId"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              }
            }
          }
        ]
      },
      "SuppliersListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/SuppliersListFilter"
              }
            }
          }
        ]
      },
      "SuppliersListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SuppliersFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "description": "List Suppliers Filter",
            "properties": {
              "exceptionCategoryId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve suppliers by list of categories of the supplier related exceptions"
              },
              "exceptionType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve suppliers by list of types of the supplier related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)"
              },
              "hasSourceDoc": {
                "type": "boolean",
                "description": "Retrieve suppliers containing a source document"
              },
              "name": {
                "type": "string",
                "description": "Retrieve suppliers by name (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
              }
            }
          }
        ]
      },
      "SuppliersListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/SuppliersListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "suppliers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Supplier"
                }
              }
            }
          }
        ]
      },
      "ThroughputLimits": {
        "type": "object",
        "description": "Daily throttling on how much work is released to the store",
        "required": [
          "maxOrdersPerDay"
        ],
        "properties": {
          "maxOrdersPerDay": {
            "type": "integer",
            "minimum": 1,
            "default": 200,
            "description": "Hard daily cap on released orders; resets at midnight in the store's local timezone"
          }
        }
      },
      "Tier": {
        "type": "string",
        "description": "Tier (usage plan)",
        "enum": [
          "free",
          "basic",
          "enterprise"
        ]
      },
      "TimeOfDay": {
        "type": "object",
        "description": "A wall-clock time of day at minute precision, independent of any calendar\nday or weekday. Shared base for `ScheduleWindowTime` (a time-of-day plus\nthe weekday it falls on) and `TimeOfDayWindow` (an exception's special\nopen-hours on an already-fixed date).\n",
        "required": [
          "hour",
          "minute"
        ],
        "properties": {
          "hour": {
            "type": "integer",
            "minimum": 0,
            "maximum": 23,
            "description": "Hour of the day in 24-hour wall-clock form (no `hour: 24`)"
          },
          "minute": {
            "type": "integer",
            "minimum": 0,
            "maximum": 59,
            "description": "Minute of the hour"
          }
        }
      },
      "TimeOfDayWindow": {
        "type": "object",
        "description": "An open-hours interval within a single calendar day, used by schedule\nexceptions with `effect: open` to express reduced/special hours that day.\nHalf-open: `start` inclusive, `end` exclusive. Both bounds are\n`TimeOfDay` (no weekday — the day is fixed by the exception's\ndate/holiday). `start` must be strictly before `end`: no wrapping and no\nfull-day form. \"Open all day\" is intentionally not representable — the\nrealistic case is reduced hours, and a fully-open day is simply the\nabsence of a `closed` exception.\n",
        "required": [
          "start",
          "end"
        ],
        "properties": {
          "end": {
            "$ref": "#/components/schemas/TimeOfDay"
          },
          "start": {
            "$ref": "#/components/schemas/TimeOfDay"
          },
          "label": {
            "type": "string",
            "minLength": 1,
            "description": "Optional operator-supplied label (e.g. \"morning only\"). Trimmed before\nvalidation; must be non-empty after trimming if present. No maximum length.\n"
          }
        }
      },
      "TimeRange": {
        "type": "object",
        "required": [
          "start",
          "end"
        ],
        "properties": {
          "end": {
            "type": "string",
            "format": "date-time"
          },
          "start": {
            "type": "string",
            "format": "date-time"
          }
        },
        "description": "Interval of time from the start to the end"
      },
      "Timezone": {
        "type": "string",
        "description": "Timezone",
        "enum": [
          "Africa/Algiers",
          "Africa/Cairo",
          "Africa/Casablanca",
          "Africa/Harare",
          "Africa/Johannesburg",
          "Africa/Monrovia",
          "Africa/Nairobi",
          "America/Argentina/Buenos_Aires",
          "America/Bogota",
          "America/Caracas",
          "America/Chicago",
          "America/Chihuahua",
          "America/Denver",
          "America/Godthab",
          "America/Guatemala",
          "America/Guyana",
          "America/Halifax",
          "America/Indiana/Indianapolis",
          "America/Juneau",
          "America/La_Paz",
          "America/Lima",
          "America/Los_Angeles",
          "America/Mazatlan",
          "America/Mexico_City",
          "America/Monterrey",
          "America/Montevideo",
          "America/New_York",
          "America/Phoenix",
          "America/Puerto_Rico",
          "America/Regina",
          "America/Santiago",
          "America/Sao_Paulo",
          "America/St_Johns",
          "America/Tijuana",
          "Asia/Almaty",
          "Asia/Baghdad",
          "Asia/Baku",
          "Asia/Bangkok",
          "Asia/Chongqing",
          "Asia/Colombo",
          "Asia/Dhaka",
          "Asia/Hong_Kong",
          "Asia/Irkutsk",
          "Asia/Jakarta",
          "Asia/Jerusalem",
          "Asia/Kabul",
          "Asia/Kamchatka",
          "Asia/Karachi",
          "Asia/Kathmandu",
          "Asia/Kolkata",
          "Asia/Krasnoyarsk",
          "Asia/Kuala_Lumpur",
          "Asia/Kuwait",
          "Asia/Magadan",
          "Asia/Muscat",
          "Asia/Novosibirsk",
          "Asia/Rangoon",
          "Asia/Riyadh",
          "Asia/Seoul",
          "Asia/Shanghai",
          "Asia/Singapore",
          "Asia/Srednekolymsk",
          "Asia/Taipei",
          "Asia/Tashkent",
          "Asia/Tbilisi",
          "Asia/Tehran",
          "Asia/Tokyo",
          "Asia/Ulaanbaatar",
          "Asia/Urumqi",
          "Asia/Vladivostok",
          "Asia/Yakutsk",
          "Asia/Yekaterinburg",
          "Asia/Yerevan",
          "Atlantic/Azores",
          "Atlantic/Cape_Verde",
          "Atlantic/South_Georgia",
          "Australia/Adelaide",
          "Australia/Brisbane",
          "Australia/Darwin",
          "Australia/Hobart",
          "Australia/Melbourne",
          "Australia/Perth",
          "Australia/Sydney",
          "Etc/UTC",
          "Europe/Amsterdam",
          "Europe/Athens",
          "Europe/Belgrade",
          "Europe/Berlin",
          "Europe/Bratislava",
          "Europe/Brussels",
          "Europe/Bucharest",
          "Europe/Budapest",
          "Europe/Copenhagen",
          "Europe/Dublin",
          "Europe/Helsinki",
          "Europe/Istanbul",
          "Europe/Kaliningrad",
          "Europe/Kiev",
          "Europe/Lisbon",
          "Europe/Ljubljana",
          "Europe/London",
          "Europe/Madrid",
          "Europe/Minsk",
          "Europe/Moscow",
          "Europe/Paris",
          "Europe/Prague",
          "Europe/Riga",
          "Europe/Rome",
          "Europe/Samara",
          "Europe/Sarajevo",
          "Europe/Skopje",
          "Europe/Sofia",
          "Europe/Stockholm",
          "Europe/Tallinn",
          "Europe/Vienna",
          "Europe/Vilnius",
          "Europe/Volgograd",
          "Europe/Warsaw",
          "Europe/Zagreb",
          "Europe/Zurich",
          "Pacific/Apia",
          "Pacific/Auckland",
          "Pacific/Chatham",
          "Pacific/Fakaofo",
          "Pacific/Fiji",
          "Pacific/Guadalcanal",
          "Pacific/Guam",
          "Pacific/Honolulu",
          "Pacific/Majuro",
          "Pacific/Midway",
          "Pacific/Noumea",
          "Pacific/Pago_Pago",
          "Pacific/Port_Moresby",
          "Pacific/Tongatapu"
        ]
      },
      "Tracking": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "actualArrivalDate": {
                "type": "string",
                "format": "date-time"
              },
              "actualShipDate": {
                "type": "string",
                "format": "date-time"
              },
              "status": {
                "$ref": "#/components/schemas/TrackingStatus"
              },
              "trackingId": {
                "type": "string"
              }
            }
          },
          {
            "$ref": "#/components/schemas/TrackingCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "TrackingCreateData": {
        "type": "object",
        "required": [
          "trackingNumber",
          "fulfillmentId",
          "shippingCarrier"
        ],
        "properties": {
          "fulfillmentId": {
            "type": "string"
          },
          "shippingCarrier": {
            "$ref": "#/components/schemas/ShippingCarrier"
          },
          "trackingNumber": {
            "type": "string"
          },
          "expectedArrivalDate": {
            "type": "string",
            "format": "date-time"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "url": {
            "type": "string"
          }
        }
      },
      "TrackingCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "tracking": {
                "$ref": "#/components/schemas/TrackingCreateData"
              }
            }
          }
        ]
      },
      "TrackingCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/TrackingCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "TrackingCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "tracking": {
                "$ref": "#/components/schemas/Tracking"
              }
            }
          }
        ]
      },
      "TrackingFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "TrackingFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "tracking": {
                "$ref": "#/components/schemas/Tracking"
              }
            }
          }
        ]
      },
      "TrackingFilter": {
        "type": "object",
        "description": "Tracking Filter",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int32",
            "description": "Return at most this many tracking records"
          },
          "fulfillmentId": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "keys": {
            "type": "string",
            "description": "Return these top-level fields"
          },
          "order": {
            "type": "string",
            "description": "Sort by these top-level fields"
          },
          "shippingCarrier": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "since": {
            "type": "string",
            "format": "date-time",
            "description": "Tracking created after this date-time"
          },
          "skip": {
            "type": "integer",
            "format": "int32",
            "description": "Skip this many tracking records"
          },
          "status": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TrackingStatus"
            }
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "trackingId": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "trackingNumber": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "until": {
            "type": "string",
            "format": "date-time",
            "description": "Tracking created before this date-time"
          },
          "updatedSince": {
            "type": "string",
            "format": "date-time",
            "description": "Tracking updated after this date-time"
          },
          "updatedUntil": {
            "type": "string",
            "format": "date-time",
            "description": "Tracking updated before this date-time"
          }
        }
      },
      "TrackingListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/TrackingFilter"
              }
            }
          }
        ]
      },
      "TrackingListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/TrackingFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "trackings": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Tracking"
                }
              }
            }
          }
        ]
      },
      "TrackingStatus": {
        "type": "string",
        "enum": [
          "created",
          "shipped",
          "delivered"
        ]
      },
      "TrackingUpdateData": {
        "type": "object",
        "required": [
          "status"
        ],
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "shipped",
              "delivered"
            ]
          },
          "expectedArrivalDate": {
            "type": "string",
            "format": "date-time"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          }
        }
      },
      "TrackingUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "tracking": {
                "$ref": "#/components/schemas/TrackingUpdateData"
              }
            }
          }
        ]
      },
      "TrackingUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/TrackingUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "TrackingUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "tracking": {
                "$ref": "#/components/schemas/Tracking"
              }
            }
          }
        ]
      },
      "Transaction": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "exceptionCategories": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "References to categories of exceptions related to the transaction"
              },
              "exceptions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Types of exceptions related to the transaction"
              },
              "integration": {
                "type": "string",
                "description": "Integration associated with transaction"
              },
              "status": {
                "$ref": "#/components/schemas/TransactionStatus"
              },
              "transactionId": {
                "type": "string",
                "description": "Transaction ID"
              }
            }
          },
          {
            "$ref": "#/components/schemas/TransactionCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "TransactionCreateData": {
        "type": "object",
        "required": [
          "statementId",
          "extTransactionId",
          "transactionType"
        ],
        "properties": {
          "extTransactionId": {
            "type": "string",
            "description": "External transaction ID"
          },
          "statementId": {
            "type": "string",
            "description": "Statement ID"
          },
          "transactionType": {
            "$ref": "#/components/schemas/TransactionType"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "extReferenceId": {
            "type": "string",
            "description": "External ID"
          },
          "extStatementId": {
            "type": "string",
            "description": "External statement ID"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "sku": {
            "type": "string",
            "description": "SKU"
          },
          "sourceDoc": {
            "$ref": "#/components/schemas/SourceDoc"
          },
          "status": {
            "$ref": "#/components/schemas/TransactionStatus"
          },
          "transactionFees": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Fee"
            }
          },
          "vendorSKU": {
            "type": "string",
            "description": "Channel SKU for this item. On a write made with withSKUMapping, the channel SKU that 'sku' was resolved from is recorded here.\n"
          }
        }
      },
      "TransactionCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "transactions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TransactionCreateResult"
                }
              }
            }
          }
        ]
      },
      "TransactionCreateRequest": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TransactionCreateData"
        },
        "xml": {
          "name": "request",
          "wrapped": true
        },
        "maxItems": 10
      },
      "TransactionCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "transactions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TransactionCreateResult"
                }
              }
            }
          }
        ]
      },
      "TransactionCreateResult": {
        "type": "object",
        "properties": {
          "conflict": {
            "type": "object",
            "description": "Duplicate key error details, if failed"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Error details if failed"
          },
          "message": {
            "type": "string",
            "description": "Error message if failed"
          },
          "status": {
            "type": "string",
            "enum": [
              "submitted",
              "failed"
            ]
          },
          "transaction": {
            "$ref": "#/components/schemas/Transaction"
          }
        }
      },
      "TransactionFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "TransactionFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "transaction": {
                "$ref": "#/components/schemas/Transaction"
              }
            }
          }
        ]
      },
      "TransactionStatus": {
        "type": "string",
        "description": "Transaction status",
        "enum": [
          "new",
          "draft",
          "pending",
          "reported"
        ]
      },
      "TransactionType": {
        "type": "string",
        "description": "Transaction type",
        "enum": [
          "orders",
          "other"
        ]
      },
      "TransactionUpdateData": {
        "type": "object",
        "properties": {
          "customFields": {
            "type": "array",
            "nullable": true,
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "sourceDoc": {
            "$ref": "#/components/schemas/SourceDoc"
          },
          "status": {
            "$ref": "#/components/schemas/TransactionStatus"
          },
          "transactionFees": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Fee"
            }
          }
        }
      },
      "TransactionUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "transaction": {
                "$ref": "#/components/schemas/TransactionUpdateData"
              }
            }
          }
        ]
      },
      "TransactionUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/TransactionUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "TransactionUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "transaction": {
                "$ref": "#/components/schemas/Transaction"
              }
            }
          }
        ]
      },
      "TransactionsListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/TransactionsListFilter"
              }
            }
          }
        ]
      },
      "TransactionsListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Transactions Filter",
            "properties": {
              "deleted": {
                "type": "boolean",
                "description": "Retrieve only soft deleted transactions"
              },
              "exceptionCategoryId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve transactions by list of categories of the transaction related exceptions"
              },
              "exceptionType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve transactions by list of types of the transaction related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)"
              },
              "extReferenceId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve transactions by extReferenceId list"
              },
              "extStatementId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve transactions by extStatementId list"
              },
              "extTransactionId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve transactions by extTransactionId list"
              },
              "hasSourceDoc": {
                "type": "boolean",
                "description": "Retrieve transactions containing a source document"
              },
              "integration": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve transactions by integration list"
              },
              "sku": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve transactions by SKU list"
              },
              "statementId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve transactions by statementId list"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TransactionStatus"
                },
                "description": "Retrieve transactions by status list"
              },
              "transactionId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve transactions by transactionId list"
              },
              "transactionType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Retrieve transactions by transactionType list"
              }
            }
          }
        ]
      },
      "TransactionsListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/TransactionsListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "transactions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Transaction"
                }
              }
            }
          }
        ]
      },
      "Transfer": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "exceptionCategories": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "References to categories of exceptions related to the transfer"
              },
              "exceptions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Types of exceptions related to the transfer"
              },
              "fromLocationAddress": {
                "$ref": "#/components/schemas/TransfersFromLocationAddress"
              },
              "integration": {
                "type": "string",
                "description": "Reference to integration that created an item"
              },
              "timeline": {
                "description": "Timeline of updates",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TransferChangelogEntry"
                }
              },
              "transferId": {
                "type": "string",
                "description": "Transfer ID"
              }
            }
          },
          {
            "$ref": "#/components/schemas/TransferCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "TransferChangelogEntry": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "extOrderId": {
                "type": "string",
                "description": "External Order Id"
              },
              "transferId": {
                "type": "string",
                "description": "Transfer order Id"
              }
            }
          },
          {
            "$ref": "#/components/schemas/ChangelogEntryBase"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "TransferCreateData": {
        "type": "object",
        "xml": {
          "name": "transfer"
        },
        "required": [
          "extOrderId"
        ],
        "properties": {
          "extOrderId": {
            "type": "string",
            "description": "External Transfer Order ID"
          },
          "actualArrivalDate": {
            "type": "string",
            "format": "date-time",
            "description": "Actual Arrival Date (from most recent Arrival)"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "disableShipmentsReuse": {
            "type": "boolean",
            "description": "Hint to whether shipmentId should be re-used, or not"
          },
          "employeeName": {
            "type": "string",
            "description": "Transfer order created by"
          },
          "expectedArrivalDate": {
            "type": "string",
            "format": "date-time",
            "description": "Expected Arrival Date"
          },
          "expectedShipDate": {
            "type": "string",
            "format": "date-time",
            "description": "Expected Ship Date"
          },
          "extOrderApiId": {
            "type": "string",
            "description": "External System Transfer Order API ID"
          },
          "extReferenceId": {
            "type": "string",
            "description": "Reference ID"
          },
          "fromLocationId": {
            "type": "string",
            "description": "Shipping Location ID"
          },
          "holdUntil": {
            "type": "string",
            "format": "date-time"
          },
          "incoterms": {
            "type": "string",
            "description": "International Commercial Terms"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TransferLineItem"
            }
          },
          "orderSourceType": {
            "$ref": "#/components/schemas/OrderType"
          },
          "shipByDate": {
            "type": "string",
            "format": "date-time",
            "description": "Ship By Date"
          },
          "shippingCarrier": {
            "type": "string",
            "description": "Shipping Carrier"
          },
          "shippingNotes": {
            "type": "string",
            "description": "Shipping Notes"
          },
          "shippingService": {
            "type": "string",
            "description": "Shipping Service Type"
          },
          "sourceDoc": {
            "$ref": "#/components/schemas/SourceDoc"
          },
          "status": {
            "$ref": "#/components/schemas/TransferStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "description": "General Purpose Time Stamp"
          },
          "toAddress": {
            "$ref": "#/components/schemas/Address",
            "description": "Ship to address"
          },
          "toLocationId": {
            "type": "string",
            "description": "Arrival Location ID"
          },
          "transferNotes": {
            "type": "string",
            "description": "Transfer Notes"
          },
          "transferOrderDate": {
            "type": "string",
            "format": "date-time",
            "description": "Transfer Order Date"
          }
        }
      },
      "TransferCreateResult": {
        "type": "object",
        "properties": {
          "conflict": {
            "type": "object",
            "description": "Duplicate key error details, if failed"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Error details if failed"
          },
          "message": {
            "type": "string",
            "description": "Error message if failed"
          },
          "status": {
            "type": "string",
            "enum": [
              "submitted",
              "failed"
            ]
          },
          "transfer": {
            "$ref": "#/components/schemas/Transfer"
          }
        }
      },
      "TransferFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "TransferFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "transfer": {
                "$ref": "#/components/schemas/Transfer"
              }
            }
          }
        ]
      },
      "TransferLineItem": {
        "type": "object",
        "required": [
          "uniqueId",
          "sku",
          "quantity"
        ],
        "properties": {
          "quantity": {
            "type": "number",
            "format": "float",
            "description": "Item Quantity"
          },
          "sku": {
            "type": "string",
            "description": "Item SKU"
          },
          "uniqueId": {
            "type": "string",
            "description": "Item unique Id (within transfer)"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "itemPrice": {
            "type": "number",
            "format": "float",
            "description": "Item price"
          },
          "locationId": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "Item Name or Description"
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "quantityUnit": {
            "$ref": "#/components/schemas/ItemQuantityUnit"
          },
          "receivedQuantity": {
            "type": "number",
            "format": "float",
            "description": "Received quantity"
          },
          "routed": {
            "type": "boolean"
          },
          "shippedQuantity": {
            "type": "number",
            "format": "float",
            "description": "Shipped quantity"
          },
          "upc": {
            "type": "string",
            "description": "Item UPC"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Channel SKU for this item. On a write made with withSKUMapping, the channel SKU that 'sku' was resolved from is recorded here.\n"
          }
        }
      },
      "TransferStatus": {
        "type": "string",
        "description": "Transfer Status",
        "enum": [
          "draft",
          "new",
          "onHold",
          "toBeValidated",
          "reviewRequired",
          "readyForFulfillment",
          "sentToFulfillment",
          "partialFulfillment",
          "fulfilled",
          "inTransit",
          "partialReceived",
          "received",
          "canceled",
          "returned",
          "refunded",
          "archived",
          "closed"
        ]
      },
      "TransferUpdateData": {
        "type": "object",
        "properties": {
          "actualArrivalDate": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "description": "Actual Arrival Date (from most recent Arrival)"
          },
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "disableShipmentsReuse": {
            "type": "boolean",
            "description": "Hint to whether shipmentId should be re-used, or not",
            "nullable": true
          },
          "employeeName": {
            "type": "string",
            "nullable": true,
            "description": "Transfer order created by"
          },
          "expectedArrivalDate": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "description": "Expected Arrival Date"
          },
          "expectedShipDate": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "description": "Expected Ship Date"
          },
          "extReferenceId": {
            "type": "string",
            "description": "Reference ID"
          },
          "fromLocationId": {
            "type": "string",
            "nullable": true,
            "description": "Shipping Location ID"
          },
          "holdUntil": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "incoterms": {
            "type": "string",
            "nullable": true,
            "description": "International Commercial Terms"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TransferUpdateLineItem"
            }
          },
          "orderSourceType": {
            "$ref": "#/components/schemas/OrderType"
          },
          "shipByDate": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "description": "Ship By Date"
          },
          "shippingCarrier": {
            "type": "string",
            "nullable": true,
            "description": "Shipping Carrier"
          },
          "shippingNotes": {
            "type": "string",
            "nullable": true,
            "description": "Shipping Notes"
          },
          "shippingService": {
            "type": "string",
            "nullable": true,
            "description": "Shipping Service Type"
          },
          "sourceDoc": {
            "nullable": true,
            "$ref": "#/components/schemas/SourceDoc"
          },
          "status": {
            "$ref": "#/components/schemas/TransferStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          },
          "timestamp": {
            "type": "string",
            "nullable": true,
            "format": "date-time",
            "description": "General Purpose Time Stamp"
          },
          "toAddress": {
            "$ref": "#/components/schemas/AddressNullable",
            "description": "Ship to address"
          },
          "toLocationId": {
            "type": "string",
            "nullable": true,
            "description": "Arrival Location ID"
          },
          "transferNotes": {
            "type": "string",
            "nullable": true,
            "description": "Transfer Notes"
          }
        }
      },
      "TransferUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "transfer": {
                "$ref": "#/components/schemas/TransferUpdateData"
              }
            }
          }
        ]
      },
      "TransferUpdateLineItem": {
        "type": "object",
        "properties": {
          "customFields": {
            "type": "array",
            "description": "Custom Fields",
            "items": {
              "$ref": "#/components/schemas/NameValue"
            }
          },
          "itemPrice": {
            "type": "number",
            "format": "float",
            "description": "Item price"
          },
          "locationId": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "Item Name or Description"
          },
          "originalSKU": {
            "type": "string",
            "description": "Canonical Pipe17 SKU that 'sku' was translated from. Returned on a read made with withSKUMapping when a mapping applied.\n"
          },
          "quantity": {
            "type": "number",
            "format": "float",
            "description": "Item Quantity"
          },
          "quantityUnit": {
            "$ref": "#/components/schemas/ItemQuantityUnit"
          },
          "receivedQuantity": {
            "type": "number",
            "format": "float",
            "description": "Received quantity"
          },
          "routed": {
            "type": "boolean"
          },
          "shippedQuantity": {
            "type": "number",
            "format": "float",
            "description": "Shipped quantity"
          },
          "sku": {
            "type": "string",
            "description": "Item SKU"
          },
          "uniqueId": {
            "type": "string",
            "description": "Item unique Id (within transfer)"
          },
          "upc": {
            "type": "string",
            "description": "Item UPC"
          },
          "vendorSKU": {
            "type": "string",
            "description": "Channel SKU for this item. On a write made with withSKUMapping, the channel SKU that 'sku' was resolved from is recorded here.\n"
          }
        }
      },
      "TransferUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/TransferUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "TransferUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "transfer": {
                "$ref": "#/components/schemas/Transfer"
              }
            }
          }
        ]
      },
      "TransfersCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "transfers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TransferCreateResult"
                }
              }
            }
          }
        ]
      },
      "TransfersCreateRequest": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TransferCreateData"
        },
        "xml": {
          "name": "request",
          "wrapped": true
        },
        "maxItems": 10
      },
      "TransfersCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "transfers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TransferCreateResult"
                }
              }
            }
          }
        ]
      },
      "TransfersDeleteError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/TransfersDeleteFilter"
              }
            }
          }
        ]
      },
      "TransfersDeleteFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/TransfersFilter"
          },
          {
            "type": "object",
            "description": "Delete Transfers Filter",
            "properties": {
              "orgMode": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrganizationMode"
                },
                "description": "Transfers assigned these orgModes"
              }
            }
          }
        ]
      },
      "TransfersDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "deleted": {
                "type": "integer",
                "description": "Number of deleted transfers"
              },
              "filters": {
                "$ref": "#/components/schemas/TransfersDeleteFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "transfers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Transfer"
                }
              }
            }
          }
        ]
      },
      "TransfersFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Transfers Filter",
            "properties": {
              "deleted": {
                "type": "boolean",
                "description": "Soft deleted transfers"
              },
              "extOrderId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Transfers by list of external transfer IDs"
              },
              "extReferenceId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Transfers by `extReferenceId` list"
              },
              "fromLocationId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Transfers by list of fromLocationId"
              },
              "integration": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Transfers of these integrations"
              },
              "orderSourceType": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OrderType"
                },
                "description": "Orders by list of types"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TransferStatus"
                },
                "description": "Transfers by list of statuses"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              },
              "toLocationId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Transfers by list of toLocationId"
              },
              "transferId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Transfers by list of transferId"
              }
            }
          }
        ]
      },
      "TransfersFromLocationAddress": {
        "type": "object",
        "description": "Shipping Location Address",
        "properties": {
          "address1": {
            "description": "Address",
            "type": "string"
          },
          "address2": {
            "description": "Address Line 2",
            "type": "string"
          },
          "city": {
            "description": "City",
            "type": "string"
          },
          "company": {
            "description": "Company",
            "type": "string"
          },
          "country": {
            "description": "Country",
            "type": "string"
          },
          "email": {
            "description": "email",
            "type": "string"
          },
          "phone": {
            "description": "Phone",
            "type": "string"
          },
          "stateOrProvince": {
            "description": "State or Province",
            "type": "string"
          },
          "zipCodeOrPostalCode": {
            "description": "zipcode or postal code",
            "type": "string"
          }
        }
      },
      "TransfersListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/TransfersListFilter"
              }
            }
          }
        ]
      },
      "TransfersListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/TransfersFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          },
          {
            "type": "object",
            "description": "List Transfers Filter",
            "properties": {
              "exceptionCategoryId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Transfers by list of categories of the transfer related exceptions"
              },
              "exceptionType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Transfers by list of types of the transfer related exceptions (`{exceptionType}` | `{entityType}_{exceptionType}`)"
              },
              "hasSourceDoc": {
                "type": "boolean",
                "description": "Transfers containing a source document"
              },
              "timestamp": {
                "type": "boolean",
                "description": "if set to true use timestamp instead of create time"
              }
            }
          }
        ]
      },
      "TransfersListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "required": [
              "transfers"
            ],
            "properties": {
              "transfers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Transfer"
                }
              },
              "filters": {
                "$ref": "#/components/schemas/TransfersListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              }
            }
          }
        ]
      },
      "UpdatePickStatusError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "UpdatePickStatusRequest": {
        "type": "object",
        "required": [
          "pickStatus"
        ],
        "properties": {
          "pickStatus": {
            "$ref": "#/components/schemas/ShipmentPickStatus"
          }
        }
      },
      "UpdatePickStatusResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "shipment": {
                "$ref": "#/components/schemas/Shipment"
              }
            }
          }
        ]
      },
      "UsageData": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "apikeyId": {
                "type": "string",
                "description": "API Key ID"
              },
              "connectorId": {
                "type": "string",
                "description": "Connector ID"
              },
              "date": {
                "type": "string",
                "format": "date",
                "description": "Date of requests"
              },
              "integrationId": {
                "type": "string",
                "description": "Integration ID"
              },
              "orgKey": {
                "type": "string",
                "description": "Organization ID"
              },
              "source": {
                "type": "string",
                "enum": [
                  "external",
                  "internal"
                ],
                "description": "Source of usage data"
              },
              "userId": {
                "type": "string",
                "description": "User ID"
              }
            }
          },
          {
            "$ref": "#/components/schemas/UsageDataCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "UsageDataCreateData": {
        "type": "object",
        "properties": {
          "entity": {
            "type": "string",
            "description": "Entities name"
          },
          "operation": {
            "type": "string",
            "enum": [
              "read",
              "write"
            ]
          },
          "requests": {
            "type": "integer",
            "description": "Number of requests"
          },
          "duration": {
            "type": "number",
            "description": "Operation duration in msecs"
          },
          "items": {
            "type": "integer",
            "description": "Number of successfully read/written items"
          },
          "items_failed": {
            "type": "integer",
            "description": "Number of items failed to be read/written"
          },
          "requests_failed": {
            "type": "integer",
            "description": "Number of failed requests (<= requests)"
          }
        },
        "required": [
          "entity",
          "operation",
          "requests"
        ]
      },
      "UsageDataCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "UsageDataCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "usagedata": {
                "$ref": "#/components/schemas/UsageData"
              }
            }
          }
        ]
      },
      "UsageDeleteError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/UsageDeleteFilter"
              }
            }
          }
        ]
      },
      "UsageDeleteFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageFilter"
          }
        ]
      },
      "UsageDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "deleted": {
                "type": "integer",
                "description": "Number of deleted usage records"
              },
              "filters": {
                "$ref": "#/components/schemas/UsageDeleteFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "usagedata": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/UsageData"
                }
              }
            }
          }
        ]
      },
      "UsageFilter": {
        "type": "object",
        "properties": {
          "apikeyId": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "connectorId": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "count": {
            "type": "integer",
            "format": "int32",
            "description": "Return at most this many usage records"
          },
          "entity": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "integrationId": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "keys": {
            "type": "string",
            "description": "Fields to return"
          },
          "operation": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "read",
                "write"
              ]
            }
          },
          "order": {
            "type": "string",
            "description": "Sort order"
          },
          "since": {
            "type": "string",
            "format": "date",
            "description": "Usage records for period after this date"
          },
          "skip": {
            "type": "integer",
            "format": "int32",
            "description": "Skip this many usage records"
          },
          "source": {
            "type": "string",
            "enum": [
              "external",
              "internal"
            ]
          },
          "until": {
            "type": "string",
            "format": "date",
            "description": "Usage records for period before this date"
          },
          "userId": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "UsageListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/UsageListFilter"
              }
            }
          }
        ]
      },
      "UsageListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageFilter"
          }
        ]
      },
      "UsageListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/UsageListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "usagedata": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/UsageData"
                }
              }
            }
          }
        ]
      },
      "UsagePlan": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string",
                "format": "date-time",
                "readOnly": true,
                "description": "When the plan was created within Pipe17"
              },
              "planId": {
                "type": "string",
                "description": "Plan ID"
              },
              "updatedAt": {
                "type": "string",
                "format": "date-time",
                "readOnly": true,
                "description": "When the plan was updated within Pipe17"
              }
            }
          },
          {
            "$ref": "#/components/schemas/UsagePlanCreateData"
          }
        ]
      },
      "UsagePlanCreateData": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Plan name"
          },
          "burstLimit": {
            "type": "number",
            "description": "Max number of requests in processing simultaneously (<=0 -- unlimited)"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "quotaLimit": {
            "type": "number",
            "description": "Allowed number of requests over calendar day (<=0 -- unlimited)"
          },
          "rateLimit": {
            "type": "number",
            "description": "Max number of requests per 1 second (<=0 -- unlimited)"
          }
        },
        "required": [
          "name"
        ]
      },
      "UsagePlanCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "usageplan": {
                "$ref": "#/components/schemas/UsagePlan"
              }
            }
          }
        ]
      },
      "UsagePlanCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "usageplan": {
                "$ref": "#/components/schemas/UsagePlan"
              }
            }
          }
        ]
      },
      "UsagePlanFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "UsagePlanFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "usageplan": {
                "$ref": "#/components/schemas/UsagePlan"
              }
            }
          }
        ]
      },
      "UsagePlanListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filter": {
                "$ref": "#/components/schemas/UsagePlansFilter"
              }
            }
          }
        ]
      },
      "UsagePlanListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filter": {
                "$ref": "#/components/schemas/UsagePlansFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "usageplans": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/UsagePlan"
                }
              }
            }
          }
        ]
      },
      "UsagePlanUpdateData": {
        "type": "object",
        "properties": {
          "burstLimit": {
            "type": "number",
            "description": "Max number of requests in processing simultaneously (<=0 -- unlimited)"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "quotaLimit": {
            "type": "number",
            "description": "Allowed number of requests over calendar day (<=0 -- unlimited)"
          },
          "rateLimit": {
            "type": "number",
            "description": "Max number of requests per 1 second (<=0 -- unlimited)"
          }
        }
      },
      "UsagePlanUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "UsagePlanUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsagePlanUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "UsagePlanUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "usageplan": {
                "$ref": "#/components/schemas/UsagePlan"
              }
            }
          }
        ]
      },
      "UsagePlansFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Usage Plans Filter",
            "properties": {
              "name": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fetch by plan name list"
              },
              "planId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fetch by plan id list"
              }
            }
          }
        ]
      },
      "User": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "identityId": {
                "type": "string",
                "description": "Identity ID linking to identities collection"
              },
              "loginInfo": {
                "$ref": "#/components/schemas/UserLoginInfo"
              },
              "methods": {
                "$ref": "#/components/schemas/Methods"
              },
              "status": {
                "$ref": "#/components/schemas/UserStatus"
              },
              "userId": {
                "type": "string",
                "description": "User ID"
              }
            }
          },
          {
            "$ref": "#/components/schemas/UserCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "UserAddress": {
        "type": "object",
        "properties": {
          "address1": {
            "description": "Address",
            "type": "string"
          },
          "address2": {
            "description": "Address Line 2",
            "type": "string"
          },
          "city": {
            "description": "City",
            "type": "string"
          },
          "company": {
            "description": "Company",
            "type": "string"
          },
          "country": {
            "description": "Country",
            "type": "string"
          },
          "firstName": {
            "description": "First Name",
            "type": "string"
          },
          "lastName": {
            "description": "Last Name",
            "type": "string"
          },
          "stateOrProvince": {
            "description": "State or Province",
            "type": "string"
          },
          "zipCodeOrPostalCode": {
            "description": "zipcode or postal code",
            "type": "string"
          }
        }
      },
      "UserCreateData": {
        "type": "object",
        "required": [
          "name",
          "email",
          "roles"
        ],
        "properties": {
          "email": {
            "type": "string",
            "description": "User email"
          },
          "name": {
            "type": "string",
            "description": "User Name"
          },
          "roles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "User role names/ids"
          },
          "address": {
            "$ref": "#/components/schemas/UserAddress"
          },
          "blockedFeatures": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "description": {
            "type": "string",
            "description": "User Description"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "description": "Access expiration date (default - unlimited)"
          },
          "identityId": {
            "type": "string",
            "description": "Identity ID linking to identities collection"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          },
          "phone": {
            "type": "string",
            "description": "User Phone"
          },
          "timeZone": {
            "type": "string",
            "description": "User Time Zone"
          }
        }
      },
      "UserCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "user": {
                "$ref": "#/components/schemas/UserCreateData"
              }
            }
          }
        ]
      },
      "UserCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UserCreateData"
          },
          {
            "type": "object",
            "required": [
              "password"
            ],
            "properties": {
              "password": {
                "type": "string",
                "description": "User password"
              }
            }
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "UserCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "user": {
                "$ref": "#/components/schemas/User"
              }
            }
          }
        ]
      },
      "UserFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "UserFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "user": {
                "$ref": "#/components/schemas/User"
              }
            }
          }
        ]
      },
      "UserLoginInfo": {
        "type": "object",
        "properties": {
          "lastIPAddress": {
            "type": "string",
            "description": "Last login IP address"
          },
          "lastLogin": {
            "type": "string",
            "format": "date-time",
            "description": "Last login date"
          },
          "loginsCount": {
            "type": "number",
            "description": "Total number of logins"
          }
        }
      },
      "UserPreferences": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "description": "Status",
                "enum": [
                  "active",
                  "deleted"
                ]
              },
              "userPreferencesId": {
                "type": "string",
                "description": "User Preferences ID"
              }
            }
          },
          {
            "$ref": "#/components/schemas/UserPreferencesCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "UserPreferencesCreateData": {
        "type": "object",
        "required": [
          "userId",
          "preferences"
        ],
        "properties": {
          "preferences": {
            "type": "array",
            "description": "User level preferences",
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PreferenceObject"
            }
          },
          "userId": {
            "type": "string",
            "description": "User ID or `me`"
          }
        }
      },
      "UserPreferencesCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "user": {
                "$ref": "#/components/schemas/UserPreferencesCreateData"
              }
            }
          }
        ]
      },
      "UserPreferencesCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UserPreferencesCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "UserPreferencesCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "userPreferences": {
                "$ref": "#/components/schemas/UserPreferences"
              }
            }
          }
        ]
      },
      "UserPreferencesDeleteError": {
        "type": "object",
        "xml": {
          "name": "response"
        },
        "required": [
          "success",
          "code"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "description": "Copy of HTTP status",
            "format": "int32",
            "minimum": 400,
            "example": 404
          },
          "success": {
            "type": "boolean",
            "description": "Always false",
            "enum": [
              false
            ],
            "example": false
          },
          "conflict": {
            "type": "object",
            "description": "Details of the conflicting state, when the failure is a 409. The shape depends on the endpoint — a duplicate-key failure carries the offending keys, while /shipping_requests/{id}/request-labels carries `labels` (the labels the shipment already holds), `existingExtLabelIds` (the extLabelIds already claimed) or `refundedExtLabelIds` (extLabelIds belonging to refunded labels, which cannot be reused)."
          },
          "errors": {
            "type": "array",
            "description": "Error detail",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "string",
            "description": "Error message"
          },
          "vendorCode": {
            "type": "string",
            "description": "Vendor-specific error code passed through from a downstream connector/carrier (e.g. EasyPost \"SHIPMENT.REFUND.UNAVAILABLE\"). Present only when the failure originated at the vendor."
          }
        }
      },
      "UserPreferencesDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "message": {
                "type": "string",
                "example": "OK (but NYI)"
              }
            }
          }
        ]
      },
      "UserPreferencesFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "UserPreferencesFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "userPreferences": {
                "$ref": "#/components/schemas/UserPreferences"
              }
            }
          }
        ]
      },
      "UserPreferencesFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "User Preferences Filter",
            "properties": {
              "userId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "User Preferences by list of userId"
              },
              "userPreferencesId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "User Preferences by list of userPreferencesId"
              }
            }
          }
        ]
      },
      "UserPreferencesListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/UserPreferencesListFilter"
              }
            }
          }
        ]
      },
      "UserPreferencesListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UserPreferencesFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys",
            "description": "List User Preferences Filter"
          }
        ]
      },
      "UserPreferencesListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/UserPreferencesListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "userPreferences": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/UserPreferences"
                }
              }
            }
          }
        ]
      },
      "UserPreferencesUpdateData": {
        "type": "object",
        "properties": {
          "preferences": {
            "type": "array",
            "description": "User level preferences",
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PreferenceObject"
            }
          }
        }
      },
      "UserPreferencesUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "userPreferences": {
                "$ref": "#/components/schemas/UserPreferencesUpdateData"
              }
            }
          }
        ]
      },
      "UserPreferencesUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UserPreferencesUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "UserPreferencesUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "userPreferences": {
                "$ref": "#/components/schemas/UserPreferences"
              }
            }
          }
        ]
      },
      "UserStatus": {
        "type": "string",
        "description": "User Status",
        "enum": [
          "pending",
          "active",
          "disabled"
        ]
      },
      "UserUpdateData": {
        "type": "object",
        "properties": {
          "address": {
            "$ref": "#/components/schemas/UserAddress"
          },
          "blockedFeatures": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "User Description"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "description": "Access expiration date (default - unlimited)",
            "nullable": true
          },
          "identityId": {
            "type": "string",
            "description": "Identity ID linking to identities collection"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "User Name"
          },
          "password": {
            "type": "string",
            "description": "User password"
          },
          "phone": {
            "type": "string",
            "description": "User Phone"
          },
          "roles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "User role names/ids"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "disabled"
            ]
          },
          "timeZone": {
            "type": "string",
            "description": "User Time Zone"
          }
        }
      },
      "UserUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "user": {
                "$ref": "#/components/schemas/UserUpdateData"
              }
            }
          }
        ]
      },
      "UserUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UserUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "UserUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "user": {
                "$ref": "#/components/schemas/User"
              }
            }
          }
        ]
      },
      "UsersDeleteError": {
        "type": "object",
        "xml": {
          "name": "response"
        },
        "required": [
          "success",
          "code"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "description": "Copy of HTTP status",
            "format": "int32",
            "minimum": 400,
            "example": 404
          },
          "success": {
            "type": "boolean",
            "description": "Always false",
            "enum": [
              false
            ],
            "example": false
          },
          "conflict": {
            "type": "object",
            "description": "Details of the conflicting state, when the failure is a 409. The shape depends on the endpoint — a duplicate-key failure carries the offending keys, while /shipping_requests/{id}/request-labels carries `labels` (the labels the shipment already holds), `existingExtLabelIds` (the extLabelIds already claimed) or `refundedExtLabelIds` (extLabelIds belonging to refunded labels, which cannot be reused)."
          },
          "errors": {
            "type": "array",
            "description": "Error detail",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "string",
            "description": "Error message"
          },
          "vendorCode": {
            "type": "string",
            "description": "Vendor-specific error code passed through from a downstream connector/carrier (e.g. EasyPost \"SHIPMENT.REFUND.UNAVAILABLE\"). Present only when the failure originated at the vendor."
          }
        }
      },
      "UsersDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "message": {
                "type": "string",
                "example": "OK (but NYI)"
              }
            }
          }
        ]
      },
      "UsersFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Users Filter",
            "properties": {
              "email": {
                "type": "string",
                "description": "Users by email (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
              },
              "name": {
                "type": "string",
                "description": "Users by name (strings \"/{pattern}/\" and \"/{pattern}/i\" are interpreted as regexps)"
              },
              "organizations": {
                "type": "string",
                "description": "Return users of all organizations"
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/UserStatus"
                },
                "description": "Users by list of statuses"
              },
              "userId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Users by list of userId"
              }
            }
          }
        ]
      },
      "UsersListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/UsersListFilter"
              }
            }
          }
        ]
      },
      "UsersListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsersFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys",
            "description": "List Users Filter"
          }
        ]
      },
      "UsersListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/UsersListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "users": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          }
        ]
      },
      "ValuesListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/ValuesListFilter"
              }
            }
          }
        ]
      },
      "ValuesListFilter": {
        "type": "object",
        "properties": {
          "field": {
            "$ref": "#/components/schemas/EntityFieldRef"
          }
        }
      },
      "ValuesListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "required": [
              "values"
            ],
            "properties": {
              "values": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AnyValue"
                },
                "description": "Distinct values found"
              },
              "filters": {
                "$ref": "#/components/schemas/ValuesListFilter"
              }
            }
          }
        ]
      },
      "VendorSchema": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "schemaId": {
                "type": "string",
                "description": "Schema Id"
              }
            }
          },
          {
            "$ref": "#/components/schemas/VendorSchemaCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "VendorSchemaCreateData": {
        "type": "object",
        "required": [
          "entityType",
          "vendor",
          "version"
        ],
        "properties": {
          "entityType": {
            "$ref": "#/components/schemas/EntityName"
          },
          "vendor": {
            "type": "string",
            "description": "Vendor ID"
          },
          "version": {
            "type": "string",
            "description": "Vendor Api version"
          },
          "direction": {
            "$ref": "#/components/schemas/Direction"
          },
          "isPublic": {
            "type": "boolean",
            "description": "Public schema indicator (default - false)"
          },
          "types": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VendorSchemaType"
            }
          }
        }
      },
      "VendorSchemaCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "schema": {
                "$ref": "#/components/schemas/VendorSchemaCreateData"
              }
            }
          }
        ]
      },
      "VendorSchemaCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/VendorSchemaCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "VendorSchemaCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "schema": {
                "$ref": "#/components/schemas/VendorSchema"
              }
            }
          }
        ]
      },
      "VendorSchemaFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "VendorSchemaFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "schema": {
                "$ref": "#/components/schemas/VendorSchema"
              }
            }
          }
        ]
      },
      "VendorSchemaType": {
        "type": "object",
        "required": [
          "path",
          "type"
        ],
        "properties": {
          "path": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "string",
              "number",
              "boolean",
              "date",
              "array",
              "object"
            ]
          },
          "extra": {
            "type": "object"
          },
          "itemType": {
            "type": "string",
            "enum": [
              "string",
              "number",
              "boolean",
              "date",
              "array",
              "object"
            ]
          },
          "label": {
            "type": "string"
          }
        }
      },
      "VendorSchemaUpdateData": {
        "type": "object",
        "properties": {
          "direction": {
            "$ref": "#/components/schemas/Direction",
            "nullable": true
          },
          "entityType": {
            "$ref": "#/components/schemas/EntityName"
          },
          "types": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VendorSchemaType"
            },
            "nullable": true
          },
          "vendor": {
            "type": "string",
            "description": "Vendor ID"
          },
          "version": {
            "type": "string",
            "description": "Vendor Api version"
          }
        }
      },
      "VendorSchemaUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "schema": {
                "$ref": "#/components/schemas/VendorSchemaUpdateData"
              }
            }
          }
        ]
      },
      "VendorSchemaUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/VendorSchemaUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "VendorSchemaUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "schema": {
                "$ref": "#/components/schemas/VendorSchema"
              }
            }
          }
        ]
      },
      "VendorSchemasListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/VendorSchemasListFilter"
              }
            }
          }
        ]
      },
      "VendorSchemasListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Schemas Filter",
            "properties": {
              "direction": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Direction"
                },
                "description": "Schemas by direction list"
              },
              "entityType": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Schemas by entityType list"
              },
              "isPublic": {
                "type": "boolean",
                "description": "The `true` - public schemas only, `false` - only org specific ones. By default, any of them."
              },
              "schemaId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Schemas by schemaId list"
              },
              "vendor": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Schemas by vendor list"
              },
              "version": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Schemas by version list"
              }
            }
          }
        ]
      },
      "VendorSchemasListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/VendorSchemasListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "schemas": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/VendorSchema"
                }
              }
            }
          }
        ]
      },
      "Wave": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "assignedTo": {
                "type": "string",
                "nullable": true,
                "description": "User ID of associate assigned to this wave"
              },
              "completedAt": {
                "type": "string",
                "format": "date-time",
                "nullable": true,
                "description": "When the wave was completed"
              },
              "holdingLocations": {
                "$ref": "#/components/schemas/HoldingLocations"
              },
              "itemCount": {
                "type": "integer",
                "description": "Total items across all shipments"
              },
              "lastWorkedBy": {
                "type": "string",
                "nullable": true,
                "description": "ID of the last associate who worked on this wave"
              },
              "priority": {
                "$ref": "#/components/schemas/WavePriority"
              },
              "releasedAt": {
                "type": "string",
                "format": "date-time",
                "nullable": true,
                "description": "When the wave was released to the store and became available to work. Set once, on the first transition into `available`, and never changed afterwards. Null for waves that are still drafts."
              },
              "shipmentCount": {
                "type": "integer",
                "description": "Number of shipment requests in wave"
              },
              "shipmentIds": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Array of Shipment Request IDs"
              },
              "slaDeadline": {
                "type": "string",
                "format": "date-time",
                "description": "SLA deadline for wave completion"
              },
              "status": {
                "$ref": "#/components/schemas/WaveStatus"
              },
              "storeId": {
                "type": "string",
                "description": "Store ID where wave is being fulfilled"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              },
              "type": {
                "$ref": "#/components/schemas/WaveType"
              },
              "waveId": {
                "type": "string",
                "description": "Wave ID"
              }
            }
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "WaveClaimRequest": {
        "type": "object",
        "required": [
          "userId"
        ],
        "properties": {
          "userId": {
            "type": "string",
            "description": "User ID claiming the wave"
          }
        }
      },
      "WaveClaimResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "wave": {
                "$ref": "#/components/schemas/Wave"
              }
            }
          }
        ]
      },
      "WaveCompleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "wave": {
                "$ref": "#/components/schemas/Wave"
              }
            }
          }
        ]
      },
      "WaveComposition": {
        "type": "object",
        "description": "Rules that decide how shipment requests are grouped into waves",
        "required": [
          "maxWaveSize",
          "fulfillmentTypeGrouping"
        ],
        "properties": {
          "fulfillmentTypeGrouping": {
            "type": "string",
            "enum": [
              "separate",
              "mixed"
            ],
            "default": "separate",
            "description": "How delivery profiles are grouped into waves:\n  - separate: bopis and ship_from_store SRs go to their own waves\n  - mixed:    any delivery profile can share a wave\n"
          },
          "maxWaveSize": {
            "type": "integer",
            "minimum": 1,
            "default": 50,
            "description": "Maximum number of shipment requests in one wave; supersedes maxShipmentsPerWave when present"
          },
          "orderBasedPicking": {
            "type": "boolean",
            "default": false,
            "description": "When enabled, each wave holds a single order and the store uses order-based picking (one order per wave, no prep step). Overrides maxWaveSize."
          },
          "orderPrioritization": {
            "type": "boolean",
            "default": false,
            "description": "When enabled, a high-priority order is placed in its own wave and released immediately instead of waiting to fill a wave."
          }
        }
      },
      "WaveCreateData": {
        "type": "object",
        "required": [
          "storeId",
          "type"
        ],
        "properties": {
          "storeId": {
            "type": "string",
            "description": "Store ID where wave is being fulfilled"
          },
          "type": {
            "$ref": "#/components/schemas/WaveType"
          },
          "assignedTo": {
            "type": "string",
            "nullable": true,
            "description": "User ID of associate assigned to this wave"
          },
          "priority": {
            "$ref": "#/components/schemas/WavePriority"
          },
          "shipmentIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Array of Shipment Request IDs in this wave"
          },
          "slaDeadline": {
            "type": "string",
            "format": "date-time",
            "description": "SLA deadline for wave completion"
          },
          "status": {
            "$ref": "#/components/schemas/WaveStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          }
        }
      },
      "WaveCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "wave": {
                "$ref": "#/components/schemas/WaveCreateData"
              }
            }
          }
        ]
      },
      "WaveCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/WaveCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "WaveCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "wave": {
                "$ref": "#/components/schemas/Wave"
              }
            }
          }
        ]
      },
      "WaveFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "WaveFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "wave": {
                "$ref": "#/components/schemas/Wave"
              }
            }
          }
        ]
      },
      "WaveManagementConfig": {
        "type": "object",
        "nullable": true,
        "description": "Wave management configuration for automatic wave lifecycle",
        "properties": {
          "bopisSlaMinutes": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1440,
            "default": 120,
            "description": "How long (in minutes) after release a BOPIS or curbside wave has to be completed. Used as the SLA basis for pickup waves, which have no carrier cutoff to reference."
          },
          "carrierCoordination": {
            "$ref": "#/components/schemas/CarrierCoordination"
          },
          "draftTimeWindowMinutes": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1440,
            "default": 60,
            "description": "How long (in minutes) a wave can stay in draft status before auto-transitioning to available"
          },
          "maxShipmentsPerWave": {
            "type": "integer",
            "minimum": 1,
            "default": 50,
            "description": "Maximum number of shipments allowed in a single wave"
          },
          "throughputLimits": {
            "$ref": "#/components/schemas/ThroughputLimits"
          },
          "waveComposition": {
            "$ref": "#/components/schemas/WaveComposition"
          },
          "waveReleaseLogic": {
            "$ref": "#/components/schemas/WaveReleaseLogic"
          },
          "waveTimeoutMinutes": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1440,
            "default": 240,
            "description": "How long (in minutes) a wave can stay in_progress before being flagged timed-out"
          }
        }
      },
      "WaveMetricsResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "metrics": {
                "type": "object",
                "properties": {
                  "byStatus": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "integer"
                    },
                    "description": "Count of waves per status"
                  },
                  "byType": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "integer"
                    },
                    "description": "Count of waves per type"
                  },
                  "slaAtRisk": {
                    "type": "integer",
                    "description": "Waves with SLA deadline approaching (within 30 minutes)"
                  },
                  "slaOverdue": {
                    "type": "integer",
                    "description": "Waves past SLA deadline"
                  },
                  "totalActive": {
                    "type": "integer",
                    "description": "Total active waves"
                  }
                }
              }
            }
          }
        ]
      },
      "WavePauseResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "wave": {
                "$ref": "#/components/schemas/Wave"
              }
            }
          }
        ]
      },
      "WavePriority": {
        "type": "string",
        "description": "Wave priority level",
        "enum": [
          "urgent",
          "high",
          "normal"
        ],
        "default": "normal"
      },
      "WaveReleaseLogic": {
        "type": "object",
        "description": "Schedules and date overrides that govern when draft waves are released",
        "required": [
          "schedules"
        ],
        "properties": {
          "schedules": {
            "type": "array",
            "description": "Schedules at which draft waves are promoted to available",
            "items": {
              "$ref": "#/components/schemas/WaveSchedule"
            }
          },
          "holidayOverrides": {
            "type": "array",
            "description": "Dates or date ranges on which scheduled wave release is suspended",
            "items": {
              "$ref": "#/components/schemas/HolidayOverride"
            }
          }
        }
      },
      "WaveResumeResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "wave": {
                "$ref": "#/components/schemas/Wave"
              }
            }
          }
        ]
      },
      "WaveSchedule": {
        "type": "object",
        "required": [
          "type"
        ],
        "description": "A single wave-release schedule. The `type` field selects one of three variants:\n  - specific_times: release at the listed wall-clock times; requires releaseTimes and runDuring\n  - time_interval:  release every N minutes/hours within a window; requires interval and runDuring\n  - carrier_cutoff: release a fixed offset before each carrier pickup; requires carrierCode and minutesBeforePickup\n",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "specific_times",
              "time_interval",
              "carrier_cutoff"
            ],
            "description": "Schedule variant"
          },
          "carrierCode": {
            "type": "string",
            "description": "Carrier whose pickup windows drive release timing; must match a carrierCoordination.carriers[].carrierCode. Applies to carrier_cutoff only"
          },
          "enabled": {
            "type": "boolean",
            "default": true,
            "description": "When false, the schedule does not fire"
          },
          "interval": {
            "type": "object",
            "description": "How often to release (e.g., every 2 hours). Applies to time_interval only",
            "properties": {
              "every": {
                "type": "integer",
                "minimum": 1,
                "description": "Number of units between releases"
              },
              "unit": {
                "type": "string",
                "enum": [
                  "minutes",
                  "hours"
                ],
                "description": "Unit of the interval"
              }
            }
          },
          "minutesBeforePickup": {
            "type": "integer",
            "minimum": 0,
            "default": 30,
            "description": "Minutes before each carrier pickup at which to release. Applies to carrier_cutoff only"
          },
          "releaseTimes": {
            "type": "array",
            "minItems": 1,
            "description": "Times of day (HH:mm) in the store's local timezone at which to release; sorted ascending and unique. Applies to specific_times only",
            "items": {
              "type": "string",
              "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$"
            }
          },
          "runDuring": {
            "$ref": "#/components/schemas/WaveScheduleRunDuring"
          },
          "scheduleId": {
            "type": "string",
            "description": "Server-assigned identifier"
          }
        }
      },
      "WaveScheduleRunDuring": {
        "type": "object",
        "required": [
          "mode"
        ],
        "description": "Days and times of day on which the parent schedule applies. The `mode` field selects one of:\n  - store_hours:       use the store's openingHours for each day\n  - custom_days:       restrict to specific weekdays (specific_times variant)\n  - custom_days_times: restrict to specific weekdays and a time window (time_interval variant)\n",
        "properties": {
          "mode": {
            "type": "string",
            "enum": [
              "store_hours",
              "custom_days",
              "custom_days_times"
            ],
            "description": "Selects the day/time restriction"
          },
          "customDays": {
            "type": "array",
            "description": "Weekdays on which the schedule applies; required for custom_days and custom_days_times",
            "items": {
              "$ref": "#/components/schemas/DayOfWeek"
            }
          },
          "customEnd": {
            "type": "string",
            "description": "Exclusive window end (HH:mm); required for custom_days_times",
            "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$"
          },
          "customStart": {
            "type": "string",
            "description": "Inclusive window start (HH:mm); required for custom_days_times",
            "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$"
          }
        }
      },
      "WaveStatus": {
        "type": "string",
        "description": "Wave status",
        "enum": [
          "draft",
          "available",
          "in_progress",
          "paused",
          "completed",
          "canceled"
        ]
      },
      "WaveType": {
        "type": "string",
        "description": "Wave type for fulfillment",
        "enum": [
          "bopis",
          "curbside",
          "ship_from_store"
        ]
      },
      "WaveUpdateData": {
        "type": "object",
        "properties": {
          "assignedTo": {
            "type": "string",
            "nullable": true,
            "description": "User ID of associate assigned to this wave"
          },
          "priority": {
            "$ref": "#/components/schemas/WavePriority",
            "nullable": true
          },
          "shipmentIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "description": "Array of Shipment Request IDs in this wave"
          },
          "slaDeadline": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "SLA deadline for wave completion"
          },
          "status": {
            "$ref": "#/components/schemas/WaveStatus"
          },
          "tags": {
            "$ref": "#/components/schemas/EntityTags"
          }
        }
      },
      "WaveUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "wave": {
                "$ref": "#/components/schemas/WaveUpdateData"
              }
            }
          }
        ]
      },
      "WaveUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/WaveUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "WaveUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "wave": {
                "$ref": "#/components/schemas/Wave"
              }
            }
          }
        ]
      },
      "WavesFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Waves Filter",
            "properties": {
              "assignedTo": {
                "type": "string",
                "description": "Filter by assigned user ID"
              },
              "deleted": {
                "type": "boolean",
                "description": "Soft deleted waves"
              },
              "priority": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/WavePriority"
                }
              },
              "status": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/WaveStatus"
                }
              },
              "storeId": {
                "type": "string",
                "description": "Filter by store ID"
              },
              "tags": {
                "$ref": "#/components/schemas/EntityTags"
              },
              "type": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/WaveType"
                }
              },
              "waveId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Waves by list of waveId"
              }
            }
          }
        ]
      },
      "WavesListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/WavesListFilter"
              }
            }
          }
        ]
      },
      "WavesListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/WavesFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys"
          }
        ]
      },
      "WavesListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/WavesListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "waves": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Wave"
                }
              }
            }
          }
        ]
      },
      "Webhook": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "connectorId": {
                "type": "string",
                "description": "Connector ID"
              },
              "integration": {
                "type": "string",
                "description": "Integration ID"
              },
              "webhookId": {
                "type": "string",
                "description": "Webhook ID"
              }
            }
          },
          {
            "$ref": "#/components/schemas/WebhookCreateData"
          },
          {
            "$ref": "#/components/schemas/CoreObject"
          }
        ]
      },
      "WebhookCreateData": {
        "type": "object",
        "required": [
          "url",
          "apikey",
          "topics"
        ],
        "properties": {
          "apikey": {
            "type": "string",
            "description": "Webhook api key (only visible ASCII chars + space are allowed)"
          },
          "topics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebhookTopics"
            },
            "description": "Webhook topics"
          },
          "url": {
            "type": "string",
            "description": "Webhook URL"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo"
          }
        }
      },
      "WebhookCreateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "webhook": {
                "$ref": "#/components/schemas/WebhookCreateData"
              }
            }
          }
        ]
      },
      "WebhookCreateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/WebhookCreateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "WebhookCreateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "webhook": {
                "$ref": "#/components/schemas/Webhook"
              }
            }
          }
        ]
      },
      "WebhookFetchError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          }
        ]
      },
      "WebhookFetchResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "webhook": {
                "$ref": "#/components/schemas/Webhook"
              }
            }
          }
        ]
      },
      "WebhookTopics": {
        "type": "string",
        "description": "WebhookTopic",
        "enum": [
          "arrivals",
          "fulfillments",
          "integrations",
          "integration_actions",
          "inventory",
          "labels",
          "locations",
          "orders",
          "products",
          "purchases",
          "receipts",
          "refunds",
          "returns",
          "shipments",
          "suppliers",
          "transfers",
          "trackings",
          "exceptions"
        ]
      },
      "WebhookUpdateData": {
        "type": "object",
        "properties": {
          "apikey": {
            "type": "string",
            "description": "Webhook api key (only visible ASCII chars + space are allowed)"
          },
          "internal": {
            "$ref": "#/components/schemas/InternalInfo",
            "nullable": true
          },
          "topics": {
            "type": "array",
            "description": "Webhook Topics",
            "items": {
              "$ref": "#/components/schemas/WebhookTopics"
            }
          },
          "url": {
            "type": "string",
            "description": "Webhook URL"
          }
        }
      },
      "WebhookUpdateError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "webhook": {
                "$ref": "#/components/schemas/WebhookUpdateData"
              }
            }
          }
        ]
      },
      "WebhookUpdateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/WebhookUpdateData"
          }
        ],
        "xml": {
          "name": "request"
        }
      },
      "WebhookUpdateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "webhook": {
                "$ref": "#/components/schemas/Webhook"
              }
            }
          }
        ]
      },
      "WebhooksDeleteError": {
        "type": "object",
        "xml": {
          "name": "response"
        },
        "required": [
          "success",
          "code"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "description": "Copy of HTTP status",
            "format": "int32",
            "minimum": 400,
            "example": 404
          },
          "success": {
            "type": "boolean",
            "description": "Always false",
            "enum": [
              false
            ],
            "example": false
          },
          "conflict": {
            "type": "object",
            "description": "Details of the conflicting state, when the failure is a 409. The shape depends on the endpoint — a duplicate-key failure carries the offending keys, while /shipping_requests/{id}/request-labels carries `labels` (the labels the shipment already holds), `existingExtLabelIds` (the extLabelIds already claimed) or `refundedExtLabelIds` (extLabelIds belonging to refunded labels, which cannot be reused)."
          },
          "errors": {
            "type": "array",
            "description": "Error detail",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "type": "string",
            "description": "Error message"
          },
          "vendorCode": {
            "type": "string",
            "description": "Vendor-specific error code passed through from a downstream connector/carrier (e.g. EasyPost \"SHIPMENT.REFUND.UNAVAILABLE\"). Present only when the failure originated at the vendor."
          }
        }
      },
      "WebhooksDeleteResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "message": {
                "type": "string",
                "example": "OK (but NYI)"
              }
            }
          }
        ]
      },
      "WebhooksFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFilter"
          },
          {
            "type": "object",
            "description": "Webhooks Filter",
            "properties": {
              "related": {
                "type": "boolean",
                "description": "Include related webhooks"
              },
              "topic": {
                "$ref": "#/components/schemas/WebhookTopics",
                "description": "Webhooks for this topic"
              },
              "webhookId": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Webhooks by list of webhookId"
              }
            }
          }
        ]
      },
      "WebhooksListError": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Failure"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/WebhooksListFilter"
              }
            }
          }
        ]
      },
      "WebhooksListFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/WebhooksFilter"
          },
          {
            "$ref": "#/components/schemas/ListResultOrderKeys",
            "description": "List Webhooks Filter"
          }
        ]
      },
      "WebhooksListResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Success"
          },
          {
            "type": "object",
            "properties": {
              "filters": {
                "$ref": "#/components/schemas/WebhooksListFilter"
              },
              "pagination": {
                "$ref": "#/components/schemas/Pagination"
              },
              "webhooks": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Webhook"
                }
              }
            }
          }
        ]
      }
    }
  }
}
