{
  "swagger": "2.0",
  "info": {
    "version": "5.4.2",
    "title": "EPiServer.ServiceApi.Commerce",
    "description": "A document API page for Service API"
  },
  "host": "localhost:64424",
  "schemes": [
    "http",
    "https"
  ],
  "paths": {
    "/episerverapi/commerce/entries/{entryCode}/associations": {
      "get": {
        "tags": [
          "Association"
        ],
        "summary": "Gets all the catalog associations.",
        "operationId": "Association_GetCatalogAssociations",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the catalog associations.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Association"
              }
            }
          },
          "404": {
            "description": "If entry does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "post": {
        "tags": [
          "Association"
        ],
        "summary": "Posts the catalog association.",
        "operationId": "Association_PostCatalogAssociation",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "association",
            "in": "body",
            "description": "The association.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Association"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The catalog association is saved.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Association"
              }
            }
          },
          "404": {
            "description": "If entry does not exist."
          },
          "400": {
            "description": "If the catalog association model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/entries/{entryCode}/associations/{name}": {
      "get": {
        "tags": [
          "Association"
        ],
        "summary": "Gets the catalog association.",
        "operationId": "Association_GetCatalogAssociation",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "name",
            "in": "path",
            "description": "The association name.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the catalog association.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Association"
            }
          },
          "404": {
            "description": "If entry or association does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "put": {
        "tags": [
          "Association"
        ],
        "summary": "Puts the catalog association.",
        "operationId": "Association_PutCatalogEntryAssociation",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "name",
            "in": "path",
            "description": "The association name.",
            "required": true,
            "type": "string"
          },
          {
            "name": "association",
            "in": "body",
            "description": "The association.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Association"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The catalog entry association is saved.",
            "schema": {
              "type": "object"
            }
          },
          "404": {
            "description": "If entry or association does not exist."
          },
          "400": {
            "description": "If the catalog association model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "delete": {
        "tags": [
          "Association"
        ],
        "summary": "Deletes the catalog association.",
        "operationId": "Association_DeleteCatalogAssociation",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "name",
            "in": "path",
            "description": "The association name.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The catalog association is deleted.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Association"
            }
          },
          "404": {
            "description": "If entry or association does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/carts/{customerId}/{cartName}/{marketId}": {
      "get": {
        "tags": [
          "Cart"
        ],
        "summary": "Gets a customer's cart in a specific market.",
        "operationId": "Cart_GetCart",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "The customer Id.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "cartName",
            "in": "path",
            "description": "The cart name - usually \"Default\" or \"Wishlist\".",
            "required": true,
            "type": "string"
          },
          {
            "name": "marketId",
            "in": "path",
            "description": "The market Id.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "If market is specified, returns the cart in that market. Otherwise returns first cart.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.CartModel"
            }
          },
          "501": {
            "description": "Serializable carts feature is enabled and that feature is not supported here."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/carts/{customerId}/{cartName}": {
      "get": {
        "tags": [
          "Cart"
        ],
        "summary": "Gets a customer's cart in a specific market.",
        "operationId": "Cart_GetCart",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "The customer Id.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "cartName",
            "in": "path",
            "description": "The cart name - usually \"Default\" or \"Wishlist\".",
            "required": true,
            "type": "string"
          },
          {
            "name": "marketId",
            "in": "query",
            "description": "The market Id.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "If market is specified, returns the cart in that market. Otherwise returns first cart.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.CartModel"
            }
          },
          "501": {
            "description": "Serializable carts feature is enabled and that feature is not supported here."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "delete": {
        "tags": [
          "Cart"
        ],
        "summary": "Deletes the cart.",
        "operationId": "Cart_DeleteCart",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "The customer Id.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "cartName",
            "in": "path",
            "description": "Cart name - usually \"Default\" or \"Wishlist\".",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The cart is deleted.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.CartModel"
            }
          },
          "404": {
            "description": "If cart does not exist."
          },
          "501": {
            "description": "Serializable carts feature is enabled and that feature is not supported here."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/carts/search/{start}/{maxCount}": {
      "get": {
        "tags": [
          "Cart"
        ],
        "summary": "Searchs for carts with paging.",
        "description": "If the serialized cart mode is enabled, returns NotImplemented.",
        "operationId": "Cart_SearchCarts",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "start",
            "in": "path",
            "description": "Start record index.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "maxCount",
            "in": "path",
            "description": "Max number of records to return.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the carts.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.CartModel"
              }
            }
          },
          "501": {
            "description": "Serializable carts feature is enabled and that feature is not supported here."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/carts/{cartId}": {
      "put": {
        "tags": [
          "Cart"
        ],
        "summary": "Updates an existing cart.",
        "operationId": "Cart_PutCart",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "cartId",
            "in": "path",
            "description": "Cart id.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "updatingCart",
            "in": "body",
            "description": "Cart model.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.CartModel"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The cart is saved.",
            "schema": {
              "type": "object"
            }
          },
          "404": {
            "description": "If cart does not exist."
          },
          "400": {
            "description": "If the cart model is not valid."
          },
          "501": {
            "description": "Serializable carts feature is enabled and that feature is not supported here."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/carts": {
      "post": {
        "tags": [
          "Cart"
        ],
        "summary": "Creates a new cart.",
        "operationId": "Cart_PostCart",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "newCart",
            "in": "body",
            "description": "Cart model.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.CartModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The cart is saved.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.CartModel"
            }
          },
          "400": {
            "description": "If the cart model is not valid."
          },
          "501": {
            "description": "Serializable carts feature is enabled and that feature is not supported here."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/catalogs": {
      "get": {
        "tags": [
          "Catalog"
        ],
        "summary": "Gets all the catalogs.",
        "operationId": "Catalog_GetCatalogs",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Return the catalog.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Catalog"
              }
            }
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "post": {
        "tags": [
          "Catalog"
        ],
        "summary": "Creates the catalog.",
        "operationId": "Catalog_PostCatalog",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "catalog",
            "in": "body",
            "description": "The catalog.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Catalog"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The catalog is saved.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Catalog"
            }
          },
          "400": {
            "description": "If the catalog model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/catalogs/{catalogName}": {
      "get": {
        "tags": [
          "Catalog"
        ],
        "summary": "Gets the catalog.",
        "operationId": "Catalog_GetCatalog",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "catalogName",
            "in": "path",
            "description": "The catalog name.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the catalog.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Catalog"
            }
          },
          "404": {
            "description": "If catalog does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "put": {
        "tags": [
          "Catalog"
        ],
        "summary": "Puts the catalog.",
        "operationId": "Catalog_PutCatalog",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "catalogName",
            "in": "path",
            "description": "The catalog name.",
            "required": true,
            "type": "string"
          },
          {
            "name": "catalog",
            "in": "body",
            "description": "The catalog.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Catalog"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The catalog is saved.",
            "schema": {
              "type": "object"
            }
          },
          "404": {
            "description": "If catalog does not exist."
          },
          "400": {
            "description": "If the catalog model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "delete": {
        "tags": [
          "Catalog"
        ],
        "summary": "Deletes the catalog.",
        "operationId": "Catalog_DeleteCatalog",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "catalogName",
            "in": "path",
            "description": "The catalog name.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The catalog is deleted.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Catalog"
            }
          },
          "404": {
            "description": "If catalog does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/catalogs/{catalogName}/commondraft/{lang}": {
      "get": {
        "tags": [
          "CatalogDraft"
        ],
        "summary": "Gets the catalog common draft.",
        "operationId": "CatalogDraft_GetCommonDraft",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "catalogName",
            "in": "path",
            "description": "The catalog name.",
            "required": true,
            "type": "string"
          },
          {
            "name": "lang",
            "in": "path",
            "description": "The language code.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the catalog common draft.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.DraftCatalog"
            }
          },
          "404": {
            "description": "If catalog common draft does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "put": {
        "tags": [
          "CatalogDraft"
        ],
        "summary": "Puts the catalog common draft.",
        "operationId": "CatalogDraft_PutCommonDraft",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "catalogName",
            "in": "path",
            "description": "The catalog name.",
            "required": true,
            "type": "string"
          },
          {
            "name": "lang",
            "in": "path",
            "description": "The language code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "draftCatalog",
            "in": "body",
            "description": "The draft catalog.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.DraftCatalog"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The catalog common draft is saved.",
            "schema": {
              "type": "object"
            }
          },
          "404": {
            "description": "If catalog common draft does not exist."
          },
          "400": {
            "description": "If the catalog draft model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "delete": {
        "tags": [
          "CatalogDraft"
        ],
        "summary": "Deletes the catalog common draft.",
        "operationId": "CatalogDraft_DeleteCommonDraft",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "catalogName",
            "in": "path",
            "description": "The catalog name.",
            "required": true,
            "type": "string"
          },
          {
            "name": "lang",
            "in": "path",
            "description": "The language code.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The catalog common draft is deleted.",
            "schema": {
              "type": "object"
            }
          },
          "404": {
            "description": "If catalog common draft does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/catalogs/commondraft/{lang}": {
      "post": {
        "tags": [
          "CatalogDraft"
        ],
        "summary": "Creates the catalog common draft.",
        "operationId": "CatalogDraft_PostCommonDraft",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "lang",
            "in": "path",
            "description": "The language code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "catalog",
            "in": "body",
            "description": "The catalog.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.DraftCatalog"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The catalog common draft is saved.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.DraftCatalog"
            }
          },
          "400": {
            "description": "If the draft catalog model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/import/catalog": {
      "post": {
        "tags": [
          "CatalogImportExport"
        ],
        "summary": "Receives a backwards-compatible catalog import file and imports the contents into Commerce",
        "description": "Depends on receiving the OAuth security token to validate the session.",
        "operationId": "CatalogImportExport_PostCatalogImport",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "responses": {
          "401": {
            "description": "If user does not have enough permission for this request."
          },
          "200": {
            "description": "The catalogs are imported.",
            "schema": {
              "format": "uuid",
              "type": "string",
              "example": "00000000-0000-0000-0000-000000000000"
            }
          }
        }
      }
    },
    "/episerverapi/commerce/import/catalog/{uploadId}": {
      "post": {
        "tags": [
          "CatalogImportExport"
        ],
        "summary": "Receives a backwards-compatible catalog import file and imports the contents into Commerce.  \r\nThe file to be used is based of the upload identifier of a file previously updated using /episerverapi/commerce/import/upload/chunk \r\nand /episerverapi/commerce/import/upload/commit",
        "description": "Depends on receiving the OAuth security token to validate the session.",
        "operationId": "CatalogImportExport_PostCatalogImportWithUploadId",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "uploadId",
            "in": "path",
            "description": "The upload identifier from the chunked upload commit.",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "The catalogs are saved.",
            "schema": {
              "format": "uuid",
              "type": "string",
              "example": "00000000-0000-0000-0000-000000000000"
            }
          },
          "404": {
            "description": "If file does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/import/links": {
      "post": {
        "tags": [
          "CatalogImportExport"
        ],
        "summary": "Receives a linking file for catalog items and media assets and generates the included associations",
        "description": "Depends on receiving the OAuth security token to validate the session.",
        "operationId": "CatalogImportExport_PostCatalogAssetLinks",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "responses": {
          "401": {
            "description": "If user does not have enough permission for this request."
          },
          "200": {
            "description": "The catalog assets are imported.",
            "schema": {
              "format": "uuid",
              "type": "string",
              "example": "00000000-0000-0000-0000-000000000000"
            }
          }
        }
      }
    },
    "/episerverapi/commerce/import/links/{uploadId}": {
      "post": {
        "tags": [
          "CatalogImportExport"
        ],
        "summary": "Receives a linking file for catalog items and media assets and generates the included associations\r\nThe file to be used is based of the upload identifier of a file previously updated using /episerverapi/commerce/import/upload/chunk \r\nand /episerverapi/commerce/import/upload/commit",
        "description": "Depends on receiving the OAuth security token to validate the session.",
        "operationId": "CatalogImportExport_PostCatalogAssetLinksWithUploadId",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "uploadId",
            "in": "path",
            "description": "The upload identifier from the chunked upload commit.",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "The catalog asset links are saved.",
            "schema": {
              "format": "uuid",
              "type": "string",
              "example": "00000000-0000-0000-0000-000000000000"
            }
          },
          "404": {
            "description": "If file does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/export/catalog/{catalogName}": {
      "get": {
        "tags": [
          "CatalogImportExport"
        ],
        "summary": "Returns the export of the specified catalog as a zip file",
        "description": "Depends on receiving the OAuth security token to validate the session .",
        "operationId": "CatalogImportExport_GetCatalogExport",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "catalogName",
            "in": "path",
            "description": "The name of the catalog to be returned",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the exported catalog file.",
            "schema": {
              "type": "object"
            }
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/customers/contact/{contactId}": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Gets the contact.",
        "operationId": "Customer_GetContact",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "contactId",
            "in": "path",
            "description": "Contact ID (GUID)",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the contact.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.ContactModel"
            }
          },
          "404": {
            "description": "If contact does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "put": {
        "tags": [
          "Customer"
        ],
        "summary": "Updates the contact.",
        "operationId": "Customer_PutContact",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "contactId",
            "in": "path",
            "description": "Contact ID",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "contactModel",
            "in": "body",
            "description": "Contact model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.ContactModel"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The contact is saved.",
            "schema": {
              "type": "object"
            }
          },
          "404": {
            "description": "If contact does not exist."
          },
          "400": {
            "description": "If the contact model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "delete": {
        "tags": [
          "Customer"
        ],
        "summary": "Deletes the contact.",
        "operationId": "Customer_DeleteContact",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "contactId",
            "in": "path",
            "description": "Contact ID (GUID)",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "Contact is deleted.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.ContactModel"
            }
          },
          "404": {
            "description": "If contact does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/customers/contact": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Gets all the contacts.",
        "operationId": "Customer_GetContact",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Return the contacts.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.ContactModel"
              }
            }
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/customers/contact/{startIndex}/{recordsToRetrieve}": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Gets the contacts, by paging.",
        "operationId": "Customer_GetContact",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "startIndex",
            "in": "path",
            "description": "The start index.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "recordsToRetrieve",
            "in": "path",
            "description": "Number of contacts to get.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the contacts.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.ContactModel"
              }
            }
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/customers/organization/{orgId}": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Gets the organization.",
        "operationId": "Customer_GetOrganization",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "description": "Organization ID",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the organization.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.OrganizationModel"
            }
          },
          "404": {
            "description": "If organization does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "put": {
        "tags": [
          "Customer"
        ],
        "summary": "Updates the organization.",
        "operationId": "Customer_PutOrganization",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "description": "The organization id.",
            "required": true,
            "type": "string"
          },
          {
            "name": "organizationModel",
            "in": "body",
            "description": "Organization model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.OrganizationModel"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The organization is saved.",
            "schema": {
              "type": "object"
            }
          },
          "404": {
            "description": "If organization does not exist."
          },
          "400": {
            "description": "If the organization model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "delete": {
        "tags": [
          "Customer"
        ],
        "summary": "Deletes the organization.",
        "operationId": "Customer_DeleteOrganization",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "description": "Organization ID",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The organization is deleted.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.OrganizationModel"
            }
          },
          "404": {
            "description": "If organization does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/customers/organization": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Gets all the organizations.",
        "operationId": "Customer_GetOrganization",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Return the organizations.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.OrganizationModel"
              }
            }
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "post": {
        "tags": [
          "Customer"
        ],
        "summary": "Creates the organization.",
        "operationId": "Customer_PostOrganization",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "model",
            "in": "body",
            "description": "Organization model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.OrganizationModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The organization is saved.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.OrganizationModel"
            }
          },
          "400": {
            "description": "If the organization model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/customers/contact/{userId}": {
      "post": {
        "tags": [
          "Customer"
        ],
        "summary": "Creates the contact.",
        "operationId": "Customer_PostContact",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "User ID (GUID)",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "contactModel",
            "in": "body",
            "description": "Contact model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.ContactModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The contact is saved.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.ContactModel"
            }
          },
          "400": {
            "description": "If the contact model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/entries/{startPage}/{pageSize}": {
      "get": {
        "tags": [
          "Entry"
        ],
        "summary": "Gets all the catalog entries.",
        "operationId": "Entry_GetCatalogEntries",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "startPage",
            "in": "path",
            "description": "The start page.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "pageSize",
            "in": "path",
            "description": "Size of the page.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the catalog entries.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Entries"
            }
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/entries/{entryCode}": {
      "get": {
        "tags": [
          "Entry"
        ],
        "summary": "Gets the catalog entry.",
        "operationId": "Entry_GetCatalogEntry",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the catalog entry.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Entry"
            }
          },
          "404": {
            "description": "If entry does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "put": {
        "tags": [
          "Entry"
        ],
        "summary": "Updates the catalog entry.",
        "operationId": "Entry_PutCatalogEntry",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "catalogEntry",
            "in": "body",
            "description": "The catalog entry.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Entry"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The catalog entry is saved.",
            "schema": {
              "type": "object"
            }
          },
          "404": {
            "description": "If entry does not exist."
          },
          "400": {
            "description": "If the catalog entry model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "delete": {
        "tags": [
          "Entry"
        ],
        "summary": "Deletes the catalog entry.",
        "operationId": "Entry_DeleteCatalogEntry",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The catalog entry is deleted.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Entry"
            }
          },
          "404": {
            "description": "If entry does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/entries": {
      "post": {
        "tags": [
          "Entry"
        ],
        "summary": "Creates the catalog entry.",
        "operationId": "Entry_PostCatalogEntry",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "catalogEntry",
            "in": "body",
            "description": "The catalog entry.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Entry"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The catalog entry is saved.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Entry"
            }
          },
          "400": {
            "description": "If the catalog entry model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/entries/{entryCode}/commondraft/{lang}": {
      "get": {
        "tags": [
          "EntryDraft"
        ],
        "summary": "Gets the common draft catalog entry.",
        "operationId": "EntryDraft_GetCommonDraftCatalogEntry",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "lang",
            "in": "path",
            "description": "The language code.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the common draft catalog entry.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.DraftEntry"
            }
          },
          "404": {
            "description": "If common draft catalog entry does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "put": {
        "tags": [
          "EntryDraft"
        ],
        "summary": "Updates the common draft catalog entry.",
        "operationId": "EntryDraft_PutCommonDraftCatalogEntry",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "lang",
            "in": "path",
            "description": "The language code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "draftEntry",
            "in": "body",
            "description": "The draft catalog entry.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.DraftEntry"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The common draft catalog entry is saved.",
            "schema": {
              "type": "object"
            }
          },
          "404": {
            "description": "If common draft catalog entry does not exist."
          },
          "400": {
            "description": "If the common draft catalog entry model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "delete": {
        "tags": [
          "EntryDraft"
        ],
        "summary": "Deletes the common draft catalog entry.",
        "operationId": "EntryDraft_DeleteCommonDraftCatalogEntry",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "lang",
            "in": "path",
            "description": "The language code.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The common draft catalog entry is deleted.",
            "schema": {
              "type": "object"
            }
          },
          "404": {
            "description": "If common draft catalog entry does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/entries/commondraft/{lang}": {
      "post": {
        "tags": [
          "EntryDraft"
        ],
        "summary": "Creates the common draft catalog entry.",
        "operationId": "EntryDraft_PostCommonDraftCatalogEntry",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "lang",
            "in": "path",
            "description": "The language code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "draftEntry",
            "in": "body",
            "description": "The draft catalog entry.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.DraftEntry"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The common draft catalog entry is saved.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.DraftEntry"
            }
          },
          "400": {
            "description": "If the common draft catalog entry model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/entries/{entryCode}/entryrelations": {
      "get": {
        "tags": [
          "EntryRelation"
        ],
        "summary": "Gets all the entry relations.",
        "operationId": "EntryRelation_GetEntryRelations",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The code.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the entry relations.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.EntryRelation"
              }
            }
          },
          "404": {
            "description": "If entry or entry relation does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "post": {
        "tags": [
          "EntryRelation"
        ],
        "summary": "Posts the entry relation.",
        "operationId": "EntryRelation_PostCatalogRelation",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "relation",
            "in": "body",
            "description": "The relation.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.EntryRelation"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The entry relation is saved.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.EntryRelation"
            }
          },
          "404": {
            "description": "If entry does not exist."
          },
          "400": {
            "description": "If the entry relation model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/entries/{entryCode}/entryrelations/{childCode}/{relationType}": {
      "get": {
        "tags": [
          "EntryRelation"
        ],
        "summary": "Gets the entry relation.",
        "operationId": "EntryRelation_GetEntryRelation",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "childCode",
            "in": "path",
            "description": "The child code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "relationType",
            "in": "path",
            "description": "Type of the relation.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the entry relation.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.EntryRelation"
            }
          },
          "404": {
            "description": "If entry or entry relation does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "put": {
        "tags": [
          "EntryRelation"
        ],
        "summary": "Puts the entry relation.",
        "operationId": "EntryRelation_PutCatalogEntryRelation",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "childCode",
            "in": "path",
            "description": "The child code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "relationType",
            "in": "path",
            "description": "Type of the relation.",
            "required": true,
            "type": "string"
          },
          {
            "name": "relation",
            "in": "body",
            "description": "The relation.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.EntryRelation"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The entry relation is saved.",
            "schema": {
              "type": "object"
            }
          },
          "404": {
            "description": "If entry or entry relation does not exist."
          },
          "400": {
            "description": "If the entry relation model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "delete": {
        "tags": [
          "EntryRelation"
        ],
        "summary": "Deletes the entry relation.",
        "operationId": "EntryRelation_DeleteCatalogEntryRelation",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "childCode",
            "in": "path",
            "description": "The child code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "relationType",
            "in": "path",
            "description": "Type of the relation.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The entry relation is deleted.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.EntryRelation"
            }
          },
          "404": {
            "description": "If entry or entry relation does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/import/cms/site/{siteName}/{hostname}/{culture}": {
      "post": {
        "tags": [
          "ImportExport"
        ],
        "summary": "Receives a backwards-compatible EPISERVERDATA import file and imports the contents into the CMS",
        "description": "Depends on receiving the OAuth security token to validate the session.",
        "operationId": "ImportExport_PostCmsImport",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "siteName",
            "in": "path",
            "description": "The name of the site to upload to.",
            "required": true,
            "type": "string"
          },
          {
            "name": "hostname",
            "in": "path",
            "description": "The host name of the site to upload to.",
            "required": true,
            "type": "string"
          },
          {
            "name": "culture",
            "in": "path",
            "description": "The culture for the specified host name if none is set no culture will be defined for hostname.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The contents are imported into the CMS.",
            "schema": {
              "format": "uuid",
              "type": "string",
              "example": "00000000-0000-0000-0000-000000000000"
            }
          },
          "500": {
            "description": "If error when uploading file."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          },
          "415": {
            "description": "If the media type is not supported."
          }
        }
      }
    },
    "/episerverapi/commerce/import/cms/site/{siteName}/{hostname}/{uploadId}/{culture}": {
      "post": {
        "tags": [
          "ImportExport"
        ],
        "summary": "Receives a backwards-compatible EPISERVERDATA import file and imports the contents into the CMS\r\nThe file to be used is based of the upload identifier of a file previously updated using /episerverapi/commerce/import/upload/chunk \r\nand /episerverapi/import/upload/commit",
        "description": "Depends on receiving the OAuth security token to validate the session.",
        "operationId": "ImportExport_PostCmsImportWithUploadId",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "siteName",
            "in": "path",
            "description": "The name of the site to upload to.",
            "required": true,
            "type": "string"
          },
          {
            "name": "hostname",
            "in": "path",
            "description": "The host name of the site to upload to.",
            "required": true,
            "type": "string"
          },
          {
            "name": "uploadId",
            "in": "path",
            "description": "The upload identifier from the chunked upload commit.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "culture",
            "in": "path",
            "description": "The culture for the specified host name if none is set no culture will be defined for hostname.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The Internal ID for the import task to be used with status update requests.",
            "schema": {
              "format": "uuid",
              "type": "string",
              "example": "00000000-0000-0000-0000-000000000000"
            }
          },
          "404": {
            "description": "If file does not exist."
          },
          "500": {
            "description": "If error when uploading file."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          },
          "415": {
            "description": "If the media type is not supported."
          }
        }
      }
    },
    "/episerverapi/commerce/import/cms/assetglobalroot": {
      "post": {
        "tags": [
          "ImportExport"
        ],
        "summary": "Receives a backwards-compatible EPISERVERDATA import file and imports the contents into the CMS asset global root as destination.",
        "description": "Depends on receiving the OAuth security token to validate the session.",
        "operationId": "ImportExport_PostCmsImportAssets",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The contents are imported into the CMS.",
            "schema": {
              "format": "uuid",
              "type": "string",
              "example": "00000000-0000-0000-0000-000000000000"
            }
          },
          "500": {
            "description": "If error when uploading file."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/import/cms/assetglobalroot/{uploadId}": {
      "post": {
        "tags": [
          "ImportExport"
        ],
        "summary": "Receives a backwards-compatible EPISERVERDATA import file and imports the contents into the CMS asset global root as destination.\r\nThe file to be used is based of the upload identifier of a file previously updated using /episerverapi/commerce/import/upload/chunk \r\nand /episerverapi/commerce/import/upload/commit",
        "description": "Depends on receiving the OAuth security token to validate the session.",
        "operationId": "ImportExport_PostCmsImportAssetsWithUploadId",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "uploadId",
            "in": "path",
            "description": "The upload identifier from the chunked upload commit.",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "404": {
            "description": "If file does not exist."
          },
          "500": {
            "description": "If error when uploading file."
          },
          "200": {
            "description": "The Internal ID for the import task to be used with status update requests.",
            "schema": {
              "format": "uuid",
              "type": "string",
              "example": "00000000-0000-0000-0000-000000000000"
            }
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/import/assets": {
      "post": {
        "tags": [
          "ImportExport"
        ],
        "summary": "Receives a media asset import file and imports the assets into the CMS",
        "description": "Depends on receiving the OAuth security token to validate the session.\r\nAllows mapping of customer IDs into internal EPiServer IDs across successive import iterations",
        "operationId": "ImportExport_PostMediaImport",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The contents are imported into the CMS.",
            "schema": {
              "format": "uuid",
              "type": "string",
              "example": "00000000-0000-0000-0000-000000000000"
            }
          },
          "500": {
            "description": "If error when uploading file."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/import/assets/{uploadId}": {
      "post": {
        "tags": [
          "ImportExport"
        ],
        "summary": "Receives a media asset import file and imports the assets into the CMS\r\nThe file to be used is based of the upload identifier of a file previously updated using /episerverapi/commerce/import/upload/chunk \r\nand /episerverapi/commerce/import/upload/commit",
        "description": "Depends on receiving the OAuth security token to validate the session/\r\nAllows mapping of customer IDs into internal EPiServer IDs across successive import iterations",
        "operationId": "ImportExport_PostMediaImportWithUploadId",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "uploadId",
            "in": "path",
            "description": "The upload identifier from the chunked upload commit.",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "404": {
            "description": "If file does not exist."
          },
          "500": {
            "description": "If error when uploading file."
          },
          "200": {
            "description": "Internal ID for the import task to be used with status update requests",
            "schema": {
              "format": "uuid",
              "type": "string",
              "example": "00000000-0000-0000-0000-000000000000"
            }
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/export/site/{siteName}": {
      "get": {
        "tags": [
          "ImportExport"
        ],
        "summary": "Returns the export of the current site as a episerverdata file",
        "description": "Depends on receiving the OAuth security token to validate the session.",
        "operationId": "ImportExport_GetSiteExport",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "siteName",
            "in": "path",
            "description": "The name of the site to be exported",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The file containing the exported site.",
            "schema": {
              "type": "object"
            }
          },
          "500": {
            "description": "If error when creating the export file."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/entries/{entryCode}/assets": {
      "get": {
        "tags": [
          "ItemAsset"
        ],
        "summary": "Gets all the catalog entry item assets.",
        "operationId": "ItemAsset_GetCatalogEntryItemAssets",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The catalog entry code.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the catalog entry item assets.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.ItemAsset"
              }
            }
          },
          "404": {
            "description": "If entry does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "post": {
        "tags": [
          "ItemAsset"
        ],
        "summary": "Posts the catalog entry item asset.",
        "operationId": "ItemAsset_PostCatalogEntryItemAsset",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "asset",
            "in": "body",
            "description": "The asset.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.ItemAsset"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The catalog entry item asset is saved.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.ItemAsset"
            }
          },
          "404": {
            "description": "If entry does not exist."
          },
          "400": {
            "description": "If the catalog entry item asset model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/entries/{entryCode}/assets/{assetKey}/{assetType}": {
      "get": {
        "tags": [
          "ItemAsset"
        ],
        "summary": "Gets the catalog entry item asset.",
        "operationId": "ItemAsset_GetCatalogEntryItemAsset",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "assetKey",
            "in": "path",
            "description": "The asset key.",
            "required": true,
            "type": "string"
          },
          {
            "name": "assetType",
            "in": "path",
            "description": "Type of the asset.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the catalog entry item asset.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.ItemAsset"
            }
          },
          "404": {
            "description": "If entry or item asset does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "put": {
        "tags": [
          "ItemAsset"
        ],
        "summary": "Puts the catalog entry item asset.",
        "operationId": "ItemAsset_PutCatalogEntryItemAsset",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "assetKey",
            "in": "path",
            "description": "The asset key.",
            "required": true,
            "type": "string"
          },
          {
            "name": "assetType",
            "in": "path",
            "description": "Type of the asset.",
            "required": true,
            "type": "string"
          },
          {
            "name": "asset",
            "in": "body",
            "description": "The asset.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.ItemAsset"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The catalog entry item asset is saved.",
            "schema": {
              "type": "object"
            }
          },
          "404": {
            "description": "If entry or item asset does not exist."
          },
          "400": {
            "description": "If the catalog entry item asset model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "delete": {
        "tags": [
          "ItemAsset"
        ],
        "summary": "Deletes the catalog entry item asset.",
        "operationId": "ItemAsset_DeleteCatalogEntryItemAsset",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "assetKey",
            "in": "path",
            "description": "The asset key.",
            "required": true,
            "type": "string"
          },
          {
            "name": "assetType",
            "in": "path",
            "description": "Type of the asset.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The catalog entry item asset is deleted.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.ItemAsset"
            }
          },
          "404": {
            "description": "If entry or item asset does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/nodes/{nodeCode}/assets": {
      "get": {
        "tags": [
          "ItemAsset"
        ],
        "summary": "Gets the catalog node item assets.",
        "operationId": "ItemAsset_GetCatalogNodeItemAssets",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "nodeCode",
            "in": "path",
            "description": "The node code.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The catalog node item assets.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.ItemAsset"
              }
            }
          },
          "404": {
            "description": "If node does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "post": {
        "tags": [
          "ItemAsset"
        ],
        "summary": "Posts the catalog node item asset.",
        "operationId": "ItemAsset_PostCatalogNodeItemAsset",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "nodeCode",
            "in": "path",
            "description": "The node code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "asset",
            "in": "body",
            "description": "The asset.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.ItemAsset"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The catalog node item asset is saved.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.ItemAsset"
            }
          },
          "404": {
            "description": "If node does not exist."
          },
          "400": {
            "description": "If the catalog node item asset model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/nodes/{nodeCode}/assets/{assetKey}/{assetType}": {
      "get": {
        "tags": [
          "ItemAsset"
        ],
        "summary": "Gets the catalog node item asset.",
        "operationId": "ItemAsset_GetCatalogNodeItemAsset",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "nodeCode",
            "in": "path",
            "description": "The node code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "assetKey",
            "in": "path",
            "description": "The asset key.",
            "required": true,
            "type": "string"
          },
          {
            "name": "assetType",
            "in": "path",
            "description": "Type of the asset.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The catalog node item asset.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.ItemAsset"
            }
          },
          "404": {
            "description": "If node or item asset does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "put": {
        "tags": [
          "ItemAsset"
        ],
        "summary": "Puts the catalog node item asset.",
        "operationId": "ItemAsset_PutCatalogNodeItemAsset",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "nodeCode",
            "in": "path",
            "description": "The node code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "assetKey",
            "in": "path",
            "description": "The asset key.",
            "required": true,
            "type": "string"
          },
          {
            "name": "assetType",
            "in": "path",
            "description": "Type of the asset.",
            "required": true,
            "type": "string"
          },
          {
            "name": "asset",
            "in": "body",
            "description": "The asset.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.ItemAsset"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The catalog node item asset is saved.",
            "schema": {
              "type": "object"
            }
          },
          "404": {
            "description": "If node or item asset does not exist."
          },
          "400": {
            "description": "If the cataloga node item asset model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "delete": {
        "tags": [
          "ItemAsset"
        ],
        "summary": "Deletes the catalog node item asset.",
        "operationId": "ItemAsset_DeleteCatalogNodeItemAsset",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "nodeCode",
            "in": "path",
            "description": "The node code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "assetKey",
            "in": "path",
            "description": "The asset key.",
            "required": true,
            "type": "string"
          },
          {
            "name": "assetType",
            "in": "path",
            "description": "Type of the asset.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The catalog node item asset is deleted.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.ItemAsset"
            }
          },
          "404": {
            "description": "If node or item asset does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/identities/{providerName}": {
      "get": {
        "tags": [
          "MappedIdentity"
        ],
        "summary": "Gets the mapped identities by provider.",
        "operationId": "MappedIdentity_GetIdentitiesByProviderName",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "providerName",
            "in": "path",
            "description": "Name of the provider.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the mapped identities by provider.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EPiServer.ServiceApi.Models.IdentityMapping"
              }
            }
          },
          "404": {
            "description": "If provider identities does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for the request."
          }
        }
      }
    },
    "/episerverapi/commerce/catalog/{catalogName}/nodes": {
      "get": {
        "tags": [
          "Node"
        ],
        "summary": "Gets all the catalog nodes.",
        "operationId": "Node_GetCatalogNodes",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "catalogName",
            "in": "path",
            "description": "Name of the catalog.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the catalog nodes.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Node"
              }
            }
          },
          "404": {
            "description": "If catalog does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/nodes/{nodeCode}": {
      "get": {
        "tags": [
          "Node"
        ],
        "summary": "Gets the catalog node.",
        "operationId": "Node_Get",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "nodeCode",
            "in": "path",
            "description": "The node code.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the catalog node.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Node"
            }
          },
          "404": {
            "description": "If node does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "put": {
        "tags": [
          "Node"
        ],
        "summary": "Puts the catalog node.",
        "operationId": "Node_Put",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "nodeCode",
            "in": "path",
            "description": "The node code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "catalogNode",
            "in": "body",
            "description": "The catalog node.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Node"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The catalog node is saved.",
            "schema": {
              "type": "object"
            }
          },
          "404": {
            "description": "If node does not exist."
          },
          "400": {
            "description": "If the catalog node model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "delete": {
        "tags": [
          "Node"
        ],
        "summary": "Deletes the catalog node.",
        "operationId": "Node_Delete",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "nodeCode",
            "in": "path",
            "description": "The node code.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The catalog node is deleted.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Node"
            }
          },
          "404": {
            "description": "If node does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/nodes": {
      "post": {
        "tags": [
          "Node"
        ],
        "summary": "Creates the catalog node.",
        "operationId": "Node_Post",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "catalogNode",
            "in": "body",
            "description": "The catalog node.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Node"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The catalog node is saved.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Node"
            }
          },
          "400": {
            "description": "If the catalog node model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/nodes/{nodeCode}/commondraft/{lang}": {
      "get": {
        "tags": [
          "NodeDraft"
        ],
        "summary": "Gets the common draft catalog node.",
        "operationId": "NodeDraft_GetCommonDraft",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "nodeCode",
            "in": "path",
            "description": "The node code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "lang",
            "in": "path",
            "description": "The language code.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the common draft catalog node.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.DraftNode"
            }
          },
          "404": {
            "description": "If node common draft does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "put": {
        "tags": [
          "NodeDraft"
        ],
        "summary": "Puts the common draft catalog node.",
        "operationId": "NodeDraft_PutCommonDraft",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "nodeCode",
            "in": "path",
            "description": "The node code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "lang",
            "in": "path",
            "description": "The language code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "catalogNode",
            "in": "body",
            "description": "The catalog node.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.DraftNode"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The common draft catalog node is saved.",
            "schema": {
              "type": "object"
            }
          },
          "404": {
            "description": "If node common draft does not exist."
          },
          "400": {
            "description": "If the common draft catalog node model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "delete": {
        "tags": [
          "NodeDraft"
        ],
        "summary": "Deletes the common draft catalog node.",
        "operationId": "NodeDraft_DeleteCommonDraft",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "nodeCode",
            "in": "path",
            "description": "The node code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "lang",
            "in": "path",
            "description": "The language code.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The common draft catalog node is deleted.",
            "schema": {
              "type": "object"
            }
          },
          "404": {
            "description": "If node common draft does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/nodes/commondraft/{lang}": {
      "post": {
        "tags": [
          "NodeDraft"
        ],
        "summary": "Creates the common draft catalog node.",
        "operationId": "NodeDraft_PostCommonDraft",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "lang",
            "in": "path",
            "description": "The language code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "catalogNode",
            "in": "body",
            "description": "The catalog node.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.DraftNode"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The common draft catalog node is saved.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.DraftNode"
            }
          },
          "400": {
            "description": "If the common draft catalog node model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/entries/{entryCode}/nodeentryrelations": {
      "get": {
        "tags": [
          "NodeEntryRelation"
        ],
        "summary": "Gets all the node entry relations.",
        "operationId": "NodeEntryRelation_GetNodeEntryRelations",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the node entry relations.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.NodeEntryRelation"
              }
            }
          },
          "404": {
            "description": "If entry or node-entry relation does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "post": {
        "tags": [
          "NodeEntryRelation"
        ],
        "summary": "Posts the catalog relation.",
        "operationId": "NodeEntryRelation_PostNodeEntryRelation",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "relation",
            "in": "body",
            "description": "The relation.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.NodeEntryRelation"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The node entry relation is saved.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.NodeEntryRelation"
            }
          },
          "404": {
            "description": "If entry, node or node-entry relation does not exist."
          },
          "400": {
            "description": "If the catalog relation model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/entries/{entryCode}/nodeentryrelations/{nodeCode}": {
      "get": {
        "tags": [
          "NodeEntryRelation"
        ],
        "summary": "Gets the node entry relation.",
        "operationId": "NodeEntryRelation_GetNodeEntryRelation",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "nodeCode",
            "in": "path",
            "description": "The node code.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the node entry relation.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.NodeEntryRelation"
            }
          },
          "404": {
            "description": "If entry, node or node-entry relation does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "put": {
        "tags": [
          "NodeEntryRelation"
        ],
        "summary": "Puts the node entry relation.",
        "operationId": "NodeEntryRelation_PutNodeEntryRelation",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "nodeCode",
            "in": "path",
            "description": "The node code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "relation",
            "in": "body",
            "description": "The relation.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.NodeEntryRelation"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The node entry relation is saved.",
            "schema": {
              "type": "object"
            }
          },
          "404": {
            "description": "If node-entry relation does not exist."
          },
          "400": {
            "description": "If the node entry relation model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "delete": {
        "tags": [
          "NodeEntryRelation"
        ],
        "summary": "Deletes the node entry relation.",
        "operationId": "NodeEntryRelation_DeleteNodeEntryRelation",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "nodeCode",
            "in": "path",
            "description": "The node code.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The node entry relation is deleted.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.NodeEntryRelation"
            }
          },
          "404": {
            "description": "If entry, node or node-entry relation does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/nodes/{nodeCode}/noderelations": {
      "get": {
        "tags": [
          "NodeRelation"
        ],
        "summary": "Gets the catalog node relations.",
        "operationId": "NodeRelation_GetCatalogNodeRelations",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "nodeCode",
            "in": "path",
            "description": "The node code.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the catalog node relations.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.NodeRelation"
              }
            }
          },
          "404": {
            "description": "If node or node relation does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "post": {
        "tags": [
          "NodeRelation"
        ],
        "summary": "Posts the catalog node relation.",
        "operationId": "NodeRelation_PostCatalogNodeRelation",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "nodeCode",
            "in": "path",
            "description": "The node code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "relation",
            "in": "body",
            "description": "The relation.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.NodeRelation"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The node relation is saved.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.NodeEntryRelation"
            }
          },
          "404": {
            "description": "If node or node relation does not exist."
          },
          "400": {
            "description": "If the catalog node relation model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/nodes/{nodeCode}/noderelations/{childCode}": {
      "get": {
        "tags": [
          "NodeRelation"
        ],
        "summary": "Gets the catalog node relation.",
        "operationId": "NodeRelation_GetCatalogNodeRelation",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "nodeCode",
            "in": "path",
            "description": "The node code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "childCode",
            "in": "path",
            "description": "The child code.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the catalog node relation.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.NodeRelation"
            }
          },
          "404": {
            "description": "If node or node relation does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "put": {
        "tags": [
          "NodeRelation"
        ],
        "summary": "Puts the catalog node relation.",
        "operationId": "NodeRelation_PutCatalogNodeRelation",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "nodeCode",
            "in": "path",
            "description": "The node code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "childCode",
            "in": "path",
            "description": "The child code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "relation",
            "in": "body",
            "description": "The relation.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.NodeRelation"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The catalog node relation is saved.",
            "schema": {
              "type": "object"
            }
          },
          "404": {
            "description": "If node or node relation does not exist."
          },
          "400": {
            "description": "If the catalog node relation model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "delete": {
        "tags": [
          "NodeRelation"
        ],
        "summary": "Deletes the catalog node relation.",
        "operationId": "NodeRelation_DeleteCatalogNodeRelation",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "nodeCode",
            "in": "path",
            "description": "The node code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "childCode",
            "in": "path",
            "description": "The child code.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The catalog node relation is deleted.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.NodeRelation"
            }
          },
          "404": {
            "description": "If node or node relation does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/orders/{orderGroupId}": {
      "get": {
        "tags": [
          "Order"
        ],
        "summary": "Gets a specific order.",
        "operationId": "Order_GetOrder",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "orderGroupId",
            "in": "path",
            "description": "Order group id.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the order.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.PurchaseOrderModel"
            }
          },
          "404": {
            "description": "If order does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "put": {
        "tags": [
          "Order"
        ],
        "summary": "Updates a specific purchase order.",
        "operationId": "Order_PutOrder",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "orderGroupId",
            "in": "path",
            "description": "Purchase order id.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "order",
            "in": "body",
            "description": "Purchase order model.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.PurchaseOrderModel"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The order is saved.",
            "schema": {
              "type": "object"
            }
          },
          "404": {
            "description": "If order does not exist."
          },
          "400": {
            "description": "If the purchase order model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "delete": {
        "tags": [
          "Order"
        ],
        "summary": "Deletes a specific order.",
        "operationId": "Order_DeleteOrder",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "orderGroupId",
            "in": "path",
            "description": "Purchase order id.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The order is deleted.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.PurchaseOrderModel"
            }
          },
          "404": {
            "description": "If order does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/orders/{customerId}/all": {
      "get": {
        "tags": [
          "Order"
        ],
        "summary": "Gets all orders of a customer.",
        "operationId": "Order_GetOrders",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "Customer ID (GUID).",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the orders.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.PurchaseOrderModel"
              }
            }
          },
          "404": {
            "description": "If customer does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/orders/{start}/{maxCount}/all": {
      "get": {
        "tags": [
          "Order"
        ],
        "summary": "Gets purchase orders with paging.",
        "operationId": "Order_GetOrders",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "start",
            "in": "path",
            "description": "Start record index.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "maxCount",
            "in": "path",
            "description": "Max number of records to return.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the purchase orders.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.PurchaseOrderModel"
              }
            }
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/orders/search/{start}/{maxCount}": {
      "get": {
        "tags": [
          "Order"
        ],
        "summary": "Searches for purchase orders with paging.",
        "operationId": "Order_SearchOrders",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "start",
            "in": "path",
            "description": "Start record index.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "maxCount",
            "in": "path",
            "description": "Max number of records to return.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "orderShipmentStatus",
            "in": "query",
            "description": "Order shipment status to filter.\r\nValid values:\r\n- AwaitingInventory\r\n- Cancelled\r\n- InventoryAssigned\r\n- OnHold\r\n- Packing\r\n- Released\r\n- Shipped",
            "required": false,
            "type": "string"
          },
          {
            "name": "shippingMethodId",
            "in": "query",
            "description": "Shipping method ID (GUID) to filter.",
            "required": false,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "modifiedFrom",
            "in": "query",
            "description": "Modified from date to filter.",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "status",
            "in": "query",
            "description": "List of statuses to filter.\r\nValid values:\r\n- AwaitingExchange\r\n- Cancelled\r\n- Completed\r\n- InProgress\r\n- OnHold\r\n- PartiallyShipped",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the purchase orders.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.PurchaseOrderModel"
              }
            }
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/orders": {
      "post": {
        "tags": [
          "Order"
        ],
        "summary": "Creates an order.",
        "operationId": "Order_PostOrder",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "order",
            "in": "body",
            "description": "Purchase order model.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.PurchaseOrderModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The purchase order is saved.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.PurchaseOrderModel"
            }
          },
          "400": {
            "description": "If the purchase order model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/paymentplans/{orderGroupId}": {
      "get": {
        "tags": [
          "PaymentPlan"
        ],
        "summary": "Gets a specific payment plan.",
        "operationId": "PaymentPlan_GetPaymentPlan",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "orderGroupId",
            "in": "path",
            "description": "Payment plan id.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the payment plan.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.PaymentPlanModel"
            }
          },
          "404": {
            "description": "If payment plan does not exist."
          },
          "400": {
            "description": "If the payment plan model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "put": {
        "tags": [
          "PaymentPlan"
        ],
        "summary": "Updates a payment plan.",
        "operationId": "PaymentPlan_PutPaymentPlan",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "orderGroupId",
            "in": "path",
            "description": "Payment plan id.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "paymentPlan",
            "in": "body",
            "description": "Payment plan model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.PaymentPlanModel"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The payment plan is saved.",
            "schema": {
              "type": "object"
            }
          },
          "404": {
            "description": "If payment plan does not exist."
          },
          "400": {
            "description": "If the payment plan model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "delete": {
        "tags": [
          "PaymentPlan"
        ],
        "summary": "Deletes a specific payment plan.",
        "operationId": "PaymentPlan_DeletePaymentPlan",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "orderGroupId",
            "in": "path",
            "description": "Payment plan id.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The payment plan is deleted.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.PaymentPlanModel"
            }
          },
          "404": {
            "description": "If payment plan does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/paymentplans/{customerId}/all": {
      "get": {
        "tags": [
          "PaymentPlan"
        ],
        "summary": "Gets all the customer's payment plans.",
        "operationId": "PaymentPlan_GetPaymentPlans",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "Customer ID (GUID)",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the payment plans.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.PaymentPlanModel"
              }
            }
          },
          "404": {
            "description": "If customer does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/paymentplans/search/{start}/{maxCount}": {
      "get": {
        "tags": [
          "PaymentPlan"
        ],
        "summary": "Searches payment plans.",
        "operationId": "PaymentPlan_SearchPaymentPlans",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "start",
            "in": "path",
            "description": "Start record index",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "maxCount",
            "in": "path",
            "description": "Max number of records to return",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "orderShipmentStatus",
            "in": "query",
            "description": "Order shipment status to filter.\r\nValid values:\r\n- AwaitingInventory\r\n- Cancelled\r\n- InventoryAssigned\r\n- OnHold\r\n- Packing\r\n- Released\r\n- Shipped",
            "required": false,
            "type": "string"
          },
          {
            "name": "shippingMethodId",
            "in": "query",
            "description": "Shipping method ID (GUID) to filter.",
            "required": false,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "modifiedFrom",
            "in": "query",
            "description": "Modified from date to filter.",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "status",
            "in": "query",
            "description": "List of statuses to filter.\r\nValid values:\r\n- AwaitingExchange\r\n- Cancelled\r\n- Completed\r\n- InProgress\r\n- OnHold\r\n- PartiallyShipped",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the payment plans.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.PaymentPlanModel"
              }
            }
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/paymentplans/{start}/{maxCount}/all": {
      "get": {
        "tags": [
          "PaymentPlan"
        ],
        "summary": "Gets the payment plans with paging.",
        "operationId": "PaymentPlan_SearchPaymentPlans",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "start",
            "in": "path",
            "description": "Start record index.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "maxCount",
            "in": "path",
            "description": "Max number of records to return.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the payment plans.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.PaymentPlanModel"
              }
            }
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/paymentplans": {
      "post": {
        "tags": [
          "PaymentPlan"
        ],
        "summary": "Creates a new payment plan.",
        "operationId": "PaymentPlan_PostPaymentPlan",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "paymentPlan",
            "in": "body",
            "description": "Payment plan model.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.PaymentPlanModel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The payment plan is saved.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.PaymentPlanModel"
            }
          },
          "400": {
            "description": "If the payment plan model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/entries/{entryCode}/prices": {
      "get": {
        "tags": [
          "Price"
        ],
        "summary": "Gets all the catalog entry prices.",
        "operationId": "Price_GetCatalogEntryPrices",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the catalog entry prices.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Price"
              }
            }
          },
          "404": {
            "description": "If entry does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "put": {
        "tags": [
          "Price"
        ],
        "summary": "Puts the catalog entry prices.",
        "operationId": "Price_PutCatalogEntryPrices",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "prices",
            "in": "body",
            "description": "The prices.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Price"
              }
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The catalog entry prices are saved.",
            "schema": {
              "type": "object"
            }
          },
          "404": {
            "description": "If entry or entry prices does not exist."
          },
          "400": {
            "description": "If the catalog entry price models are not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "post": {
        "tags": [
          "Price"
        ],
        "summary": "Posts the catalog entry price.",
        "operationId": "Price_PostCatalogEntryPrice",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "price",
            "in": "body",
            "description": "The price.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Price"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The catalog entry price is saved.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Price"
            }
          },
          "404": {
            "description": "If entry does not exist."
          },
          "400": {
            "description": "If the catalog entry price model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/entries/{entryCode}/prices/{priceValueId}": {
      "get": {
        "tags": [
          "Price"
        ],
        "summary": "Gets the catalog entry price.",
        "operationId": "Price_GetCatalogEntryPrice",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "priceValueId",
            "in": "path",
            "description": "The price value identifier.",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the catalog entry price.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Price"
            }
          },
          "404": {
            "description": "If entry or entry prices does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "put": {
        "tags": [
          "Price"
        ],
        "summary": "Puts the catalog entry price.",
        "operationId": "Price_PutCatalogEntryPrices",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "priceValueId",
            "in": "path",
            "description": "The price value identifier.",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "price",
            "in": "body",
            "description": "The price.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Price"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The catalog entry price is saved.",
            "schema": {
              "type": "object"
            }
          },
          "404": {
            "description": "If entry or entry prices does not exist."
          },
          "400": {
            "description": "If the catalog entry price model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "delete": {
        "tags": [
          "Price"
        ],
        "summary": "Deletes the catalog entry \r\nprice.",
        "operationId": "Price_DeleteCatalogPrice",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "priceValueId",
            "in": "path",
            "description": "The price value identifier.",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "The catalog entry price is deleted.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Price"
            }
          },
          "404": {
            "description": "If entry or entry prices does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/entries/{entryCode}/prices/multiple": {
      "post": {
        "tags": [
          "Price"
        ],
        "summary": "Posts the catalog entry prices.",
        "operationId": "Price_PostCatalogEntryPrices",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "prices",
            "in": "body",
            "description": "The collection of price.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Price"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The catalog entry prices are saved.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Price"
              }
            }
          },
          "404": {
            "description": "If entry does not exist."
          },
          "400": {
            "description": "If the catalog entry price models are not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/task/{taskId}/status": {
      "get": {
        "tags": [
          "Task"
        ],
        "summary": "Returns the current processing status of a(n import) task",
        "description": "Depends on receiving the OAuth security token to validate the session",
        "operationId": "Task_GetTaskStatusById",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "description": "The ID of the task as returned at the time the task was initiated",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "404": {
            "description": "If task does not exist."
          },
          "200": {
            "description": "Return the most recent status message at the time of the request",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Models.JobMessage"
            }
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/task/{taskId}/log": {
      "get": {
        "tags": [
          "Task"
        ],
        "summary": "Returns the aggregate status log of a(n import) task at the time of the request",
        "description": "Depends on receiving the OAuth security token to validate the session",
        "operationId": "Task_GetTaskLogById",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "description": "The ID of the task as returned at the time the task was initiated",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "404": {
            "description": "If task does not exist."
          },
          "200": {
            "description": "Return the aggregate status log at the time of the request",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EPiServer.ServiceApi.Models.JobMessage"
              }
            }
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/import/upload/chunk/{uploadId}/{offset}": {
      "get": {
        "tags": [
          "Upload"
        ],
        "summary": "Sends part of file for the given upload identifier. If no upload identifier is given then it will create a new upload id. Use the offset to tell where the part of the total file starts.",
        "operationId": "Upload_ChunkedUpload",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "uploadId",
            "in": "path",
            "description": "The upload identifier.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "offset",
            "in": "path",
            "description": "The offset.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The file is uploaded.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Models.UploadFile"
            }
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "put": {
        "tags": [
          "Upload"
        ],
        "summary": "Sends part of file for the given upload identifier. If no upload identifier is given then it will create a new upload id. Use the offset to tell where the part of the total file starts.",
        "operationId": "Upload_ChunkedUpload",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "uploadId",
            "in": "path",
            "description": "The upload identifier.",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "offset",
            "in": "path",
            "description": "The offset.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "The file is uploaded.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Models.UploadFile"
            }
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/import/upload/commit/{uploadId}/{overwrite}": {
      "get": {
        "tags": [
          "Upload"
        ],
        "summary": "Creates the file from the sum of the parts that were uploaded for the upload identifier. Returns the upload identifier if successful.",
        "operationId": "Upload_CommitUpload",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "uploadId",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "overwrite",
            "in": "path",
            "required": true,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "The file is uploaded.",
            "schema": {
              "format": "uuid",
              "type": "string",
              "example": "00000000-0000-0000-0000-000000000000"
            }
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "post": {
        "tags": [
          "Upload"
        ],
        "summary": "Creates the file from the sum of the parts that were uploaded for the upload identifier. Returns the upload identifier if successful.",
        "operationId": "Upload_CommitUpload",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "uploadId",
            "in": "path",
            "required": true,
            "type": "string",
            "format": "uuid"
          },
          {
            "name": "overwrite",
            "in": "path",
            "required": true,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "The file is uploaded.",
            "schema": {
              "format": "uuid",
              "type": "string",
              "example": "00000000-0000-0000-0000-000000000000"
            }
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/import/upload/{uploadId}": {
      "delete": {
        "tags": [
          "Upload"
        ],
        "summary": "Deletes uploaded files with guid id.",
        "operationId": "Upload_DeleteUpload",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "uploadId",
            "in": "path",
            "description": "The upload identifier.",
            "required": true,
            "type": "string",
            "format": "uuid"
          }
        ],
        "responses": {
          "200": {
            "description": "The uploaded files are deleted.",
            "schema": {
              "type": "object"
            }
          },
          "404": {
            "description": "If upload path does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/version": {
      "get": {
        "tags": [
          "Version"
        ],
        "summary": "Returns the current version number of the Integration Service.",
        "description": "As the only current API call which requires neither OAuth authentication or SSL,\r\nthis URI can be called to verify that Integration Service works",
        "operationId": "Version_GetApiVersion",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The version number for EPiServer.Integration.Core",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Models.ApiVersion"
            }
          }
        }
      }
    },
    "/episerverapi/commerce/warehouses": {
      "get": {
        "tags": [
          "Warehouse"
        ],
        "summary": "Gets all the warehouses.",
        "operationId": "Warehouse_GetWarehouses",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Return the warehouses.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Warehouse"
              }
            }
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "post": {
        "tags": [
          "Warehouse"
        ],
        "summary": "Posts the warehouse.",
        "operationId": "Warehouse_PostWarehouse",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "warehouse",
            "in": "body",
            "description": "The warehouse.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Warehouse"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The warehouse is saved.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Warehouse"
            }
          },
          "400": {
            "description": "If the warehouse model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/warehouses/{warehouseCode}": {
      "get": {
        "tags": [
          "Warehouse"
        ],
        "summary": "Gets the specific warehouse.",
        "operationId": "Warehouse_GetWarehouse",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "warehouseCode",
            "in": "path",
            "description": "The warehouse code.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the warehouse.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.WarehouseInventory"
            }
          },
          "404": {
            "description": "If warehouse does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "put": {
        "tags": [
          "Warehouse"
        ],
        "summary": "Puts the catalog entry warehouse inventory.",
        "operationId": "Warehouse_PutWarehouse",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "warehouseCode",
            "in": "path",
            "description": "The warehouse code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "warehouse",
            "in": "body",
            "description": "The warehouse.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Warehouse"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The warehouse is saved.",
            "schema": {
              "type": "object"
            }
          },
          "404": {
            "description": "If warehouse does not exist."
          },
          "400": {
            "description": "If the warehouse model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "delete": {
        "tags": [
          "Warehouse"
        ],
        "summary": "Deletes the warehouse.",
        "operationId": "Warehouse_DeleteWarehouse",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "warehouseCode",
            "in": "path",
            "description": "The warehouse code.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The warehouse is deleted.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Warehouse"
            }
          },
          "404": {
            "description": "If warehouse does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/entries/{entryCode}/inventories": {
      "get": {
        "tags": [
          "WarehouseInventory"
        ],
        "summary": "Gets all the catalog entry warehouse inventories.",
        "operationId": "WarehouseInventory_GetCatalogEntryWarehouseInventories",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the warehouse inventories.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.WarehouseInventory"
              }
            }
          },
          "404": {
            "description": "If entry does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "post": {
        "tags": [
          "WarehouseInventory"
        ],
        "summary": "Posts the catalog entry warehouse inventory.",
        "operationId": "WarehouseInventory_PostCatalogEntryWarehouseInventory",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "warehouseInventory",
            "in": "body",
            "description": "The warehouse inventory.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.WarehouseInventory"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The warehouse inventory is saved.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.WarehouseInventory"
            }
          },
          "404": {
            "description": "If entry does not exist."
          },
          "400": {
            "description": "If the catalog entry warehouse inventory model is not valid."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    },
    "/episerverapi/commerce/entries/{entryCode}/inventories/{warehouseCode}": {
      "get": {
        "tags": [
          "WarehouseInventory"
        ],
        "summary": "Gets the catalog entry inventory of specific warehouse.",
        "operationId": "WarehouseInventory_GetCatalogEntryWarehouseInventory",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "warehouseCode",
            "in": "path",
            "description": "The warehouse code.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Return the warehouse inventory.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.WarehouseInventory"
            }
          },
          "404": {
            "description": "If entry or warehouse inventory does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "put": {
        "tags": [
          "WarehouseInventory"
        ],
        "summary": "Puts the catalog entry warehouse inventory.",
        "operationId": "WarehouseInventory_PutCatalogEntryWarehouseInventory",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "warehouseCode",
            "in": "path",
            "description": "The warehouse code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "warehouseInventory",
            "in": "body",
            "description": "The warehouse inventory.",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.WarehouseInventory"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The warehouse inventory is saved.",
            "schema": {
              "type": "object"
            }
          },
          "400": {
            "description": "If the catalog entry warehouse inventory model is not valid."
          },
          "404": {
            "description": "If entry or warehouse inventory does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      },
      "delete": {
        "tags": [
          "WarehouseInventory"
        ],
        "summary": "Deletes the catalog entry warehouse inventory.",
        "operationId": "WarehouseInventory_DeleteCatalogEntryWarehouseInventory",
        "consumes": [],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "entryCode",
            "in": "path",
            "description": "The entry code.",
            "required": true,
            "type": "string"
          },
          {
            "name": "warehouseCode",
            "in": "path",
            "description": "The warehouse code.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The warehouse inventory is deleted.",
            "schema": {
              "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.WarehouseInventory"
            }
          },
          "404": {
            "description": "If entry or warehouse inventory does not exist."
          },
          "401": {
            "description": "If user does not have enough permission for this request."
          }
        }
      }
    }
  },
  "definitions": {
    "EPiServer.ServiceApi.Commerce.Models.Catalog.Association": {
      "description": "",
      "type": "object",
      "properties": {
        "SortOrder": {
          "format": "int32",
          "description": "Gets or sets the sort order.",
          "type": "integer"
        },
        "Name": {
          "description": "Gets or sets the name of the association.",
          "type": "string"
        },
        "CatalogEntryCode": {
          "description": "Gets or sets the catalog entry code.",
          "type": "string"
        },
        "Description": {
          "description": "Gets or sets the description.",
          "type": "string"
        },
        "EntryAssociations": {
          "description": "Gets or sets the entry associations.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.EntryAssociation"
          }
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Catalog.EntryAssociation": {
      "description": "Represents an entry association.",
      "type": "object",
      "properties": {
        "SortOrder": {
          "format": "int32",
          "description": "Gets or sets the sort order.",
          "type": "integer"
        },
        "Type": {
          "description": "Gets or sets the type of the association.",
          "type": "string"
        },
        "CatalogEntryCode": {
          "description": "Gets or sets the catalog entry code.",
          "type": "string"
        },
        "Entry": {
          "$ref": "#/definitions/EPiServer.ServiceApi.Models.ResourceLink",
          "description": "Gets or sets the entry."
        }
      }
    },
    "EPiServer.ServiceApi.Models.ResourceLink": {
      "description": "Class that represents linkage and more information about models",
      "type": "object",
      "properties": {
        "Title": {
          "description": "Gets or sets the title.",
          "type": "string"
        },
        "Type": {
          "description": "Gets or sets the type.",
          "type": "string"
        },
        "Href": {
          "description": "Gets or sets the uri.",
          "type": "string"
        },
        "Properties": {
          "description": "Gets or sets the properties.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Models.NameValue"
          }
        }
      }
    },
    "EPiServer.ServiceApi.Models.NameValue": {
      "description": "Class is meant to provides names and values",
      "type": "object",
      "properties": {
        "Name": {
          "description": "Gets or sets the name.",
          "type": "string"
        },
        "Value": {
          "description": "Gets or sets the type.",
          "type": "string"
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Order.CartModel": {
      "description": "Cart model.",
      "required": [
        "Name"
      ],
      "type": "object",
      "properties": {
        "AddressId": {
          "description": "Address ID.",
          "type": "string"
        },
        "AffiliateId": {
          "format": "uuid",
          "description": "Affiliate ID (GUID)",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "BillingCurrency": {
          "description": "Billing currency.",
          "type": "string"
        },
        "CustomerId": {
          "format": "uuid",
          "description": "Customer ID (GUID).",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "CustomerName": {
          "description": "Customer name.",
          "type": "string"
        },
        "HandlingTotal": {
          "format": "double",
          "description": "Handling total.",
          "type": "number"
        },
        "InstanceId": {
          "format": "uuid",
          "description": "Instance ID (GUID).",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "MarketId": {
          "description": "Market ID.",
          "type": "string"
        },
        "Name": {
          "description": "Order name.",
          "type": "string"
        },
        "OrderAddresses": {
          "description": "List of addresses.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.OrderAddressModel"
          }
        },
        "OrderForms": {
          "description": "List of order forms.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.OrderFormModel"
          }
        },
        "OrderGroupId": {
          "format": "int32",
          "description": "Order group ID.",
          "type": "integer"
        },
        "OrderNotes": {
          "description": "List of order notes.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.OrderNoteModel"
          }
        },
        "Owner": {
          "description": "Owner name.",
          "type": "string"
        },
        "OwnerOrg": {
          "description": "Owner's organization name.",
          "type": "string"
        },
        "ProviderId": {
          "description": "Provider ID.",
          "type": "string"
        },
        "ShippingTotal": {
          "format": "double",
          "description": "Shipping total.",
          "type": "number"
        },
        "Status": {
          "description": "Status.\r\nValid values:\r\n- AwaitingExchange\r\n- Cancelled\r\n- Completed\r\n- InProgress\r\n- OnHold\r\n- PartiallyShipped",
          "type": "string"
        },
        "SubTotal": {
          "format": "double",
          "description": "Sub-total.",
          "type": "number"
        },
        "TaxTotal": {
          "format": "double",
          "description": "Tax total.",
          "type": "number"
        },
        "Total": {
          "format": "double",
          "description": "Total.",
          "type": "number"
        },
        "Modified": {
          "format": "date-time",
          "description": "Modified date.",
          "type": "string"
        },
        "Created": {
          "format": "date-time",
          "description": "Created date.",
          "type": "string"
        },
        "Properties": {
          "description": "Gets the list of key value pairs for dealing with custom properties.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.PropertyItemModel"
          }
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Order.OrderAddressModel": {
      "description": "Order address.",
      "type": "object",
      "properties": {
        "OrderGroupAddressId": {
          "format": "int32",
          "description": "Gets the order group address id.",
          "type": "integer"
        },
        "Name": {
          "description": "Gets or sets the name.",
          "type": "string"
        },
        "FirstName": {
          "description": "Gets or sets the first name.",
          "type": "string"
        },
        "LastName": {
          "description": "Gets or sets last name.",
          "type": "string"
        },
        "Organization": {
          "description": "Gets or sets the organization.",
          "type": "string"
        },
        "Line1": {
          "description": "Gets or sets the line1.",
          "type": "string"
        },
        "Line2": {
          "description": "Gets or sets the line2.",
          "type": "string"
        },
        "City": {
          "description": "Gets or sets the city.",
          "type": "string"
        },
        "State": {
          "description": "Gets or sets the state.",
          "type": "string"
        },
        "CountryCode": {
          "description": "Gets or sets the country code.",
          "type": "string"
        },
        "CountryName": {
          "description": "Gets or sets the name of the country.",
          "type": "string"
        },
        "PostalCode": {
          "description": "Gets or sets the postal code.",
          "type": "string"
        },
        "RegionCode": {
          "description": "Gets or sets the region code.",
          "type": "string"
        },
        "RegionName": {
          "description": "Gets or sets the name of the region.",
          "type": "string"
        },
        "DaytimePhoneNumber": {
          "description": "Gets or sets the daytime phone number.",
          "type": "string"
        },
        "EveningPhoneNumber": {
          "description": "Gets or sets the evening phone number.",
          "type": "string"
        },
        "FaxNumber": {
          "description": "Gets or sets the fax number.",
          "type": "string"
        },
        "Email": {
          "description": "Gets or sets the email.",
          "type": "string"
        },
        "Properties": {
          "description": "Gets the list of key value pairs for dealing with custom properties.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.PropertyItemModel"
          }
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Order.OrderFormModel": {
      "description": "Contains the order information.",
      "type": "object",
      "properties": {
        "Shipments": {
          "description": "Gets or sets the shipments.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.ShipmentModel"
          }
        },
        "LineItems": {
          "description": "Gets or sets the line items.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.LineItemModel"
          }
        },
        "Payments": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.PaymentModel"
          }
        },
        "Discounts": {
          "description": "Gets or sets the discounts.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.DiscountModel"
          }
        },
        "ReturnComment": {
          "description": "Gets or sets the rma comment.",
          "type": "string"
        },
        "ReturnType": {
          "description": "Gets or sets the Return Type. For example can be \"Refund\", \"Exchange\" etc.",
          "type": "string"
        },
        "ReturnAuthCode": {
          "description": "Gets or sets the RMA auth code. Using for procedure RMA authentications.",
          "type": "string"
        },
        "OrderFormId": {
          "format": "int32",
          "description": "Gets the order form id.",
          "type": "integer"
        },
        "Name": {
          "description": "Gets or sets the name.",
          "type": "string"
        },
        "BillingAddressId": {
          "description": "Gets or sets the billing address id. The id is the name of the address in OrderAddress collection.",
          "type": "string"
        },
        "ShippingTotal": {
          "format": "double",
          "description": "Gets or sets the shipping total, does not includes discounts that have been applied to each shipment.",
          "type": "number"
        },
        "HandlingTotal": {
          "format": "double",
          "description": "Gets or sets the handling total.",
          "type": "number"
        },
        "TaxTotal": {
          "format": "double",
          "description": "Gets or sets the tax total.",
          "type": "number"
        },
        "DiscountAmount": {
          "format": "double",
          "description": "Gets or sets the discount amount. This amount includes shipping discounts as well.",
          "type": "number"
        },
        "SubTotal": {
          "format": "double",
          "description": "Gets or sets the sub total.",
          "type": "number"
        },
        "Total": {
          "format": "double",
          "description": "Gets or sets the total.",
          "type": "number"
        },
        "Status": {
          "description": "Gets or sets the status.",
          "type": "string"
        },
        "RmaNumber": {
          "description": "Gets or sets the RMA number.",
          "type": "string"
        },
        "AuthorizedPaymentTotal": {
          "format": "double",
          "description": "Gets or sets the authorized payment total.",
          "type": "number"
        },
        "CapturedPaymentTotal": {
          "format": "double",
          "description": "Gets or sets the captured payment total.",
          "type": "number"
        },
        "Properties": {
          "description": "Gets the list of key value pairs for dealing with custom properties.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.PropertyItemModel"
          }
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Order.OrderNoteModel": {
      "description": "Represents a note on an order.",
      "type": "object",
      "properties": {
        "OrderNoteId": {
          "format": "int32",
          "description": "Gets the order note ID.",
          "type": "integer"
        },
        "Created": {
          "format": "date-time",
          "description": "Gets Created date.",
          "type": "string"
        },
        "CustomerId": {
          "format": "uuid",
          "description": "Gets or sets note customer ID.",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "Detail": {
          "description": "Gets or sets note details.",
          "type": "string"
        },
        "Title": {
          "description": "Gets or sets note title.",
          "type": "string"
        },
        "Type": {
          "description": "Gets or sets note type.",
          "type": "string"
        },
        "LineItemId": {
          "format": "int32",
          "description": "Gets or sets note related line item ID.",
          "type": "integer"
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Order.PropertyItemModel": {
      "description": "Custom property item.",
      "type": "object",
      "properties": {
        "Key": {
          "description": "Key of the property.",
          "type": "string"
        },
        "Value": {
          "description": "Value of the property.",
          "type": "string"
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Order.ShipmentModel": {
      "description": "Shipment contains information about the particular shipment. Line Items will reference the shipment object they belong to.",
      "type": "object",
      "properties": {
        "DiscountsModel": {
          "description": "Gets the discounts.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.DiscountModel"
          }
        },
        "ShipmentId": {
          "format": "int32",
          "description": "Gets the shipment id.",
          "type": "integer"
        },
        "ShippingMethodId": {
          "format": "uuid",
          "description": "Gets or sets the shipping method id.",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "ShippingMethodName": {
          "description": "Gets or sets the name of the shipping method.",
          "type": "string"
        },
        "ShippingTax": {
          "format": "double",
          "description": "Gets or sets the shipment tax.",
          "type": "number"
        },
        "ShippingAddressId": {
          "description": "Gets or sets the shipping address name.",
          "type": "string"
        },
        "ShipmentTrackingNumber": {
          "description": "Gets or sets the shipment tracking number.",
          "type": "string"
        },
        "ShippingDiscountAmount": {
          "format": "double",
          "description": "Gets or sets the shipping discount amount.",
          "type": "number"
        },
        "ShippingSubTotal": {
          "format": "double",
          "description": "Gets or sets the shipping sub total.",
          "type": "number"
        },
        "ShippingTotal": {
          "format": "double",
          "description": "Gets or sets the total shipping cost, including shipping discounts (if any) and shipping tax.",
          "type": "number"
        },
        "Status": {
          "description": "Gets or sets the status.",
          "type": "string"
        },
        "PrevStatus": {
          "description": "Gets or sets the previous status",
          "type": "string"
        },
        "PickListId": {
          "format": "int32",
          "description": "Gets or sets the pick list id.",
          "type": "integer"
        },
        "SubTotal": {
          "format": "double",
          "description": "Gets or sets the sub total.",
          "type": "number"
        },
        "WarehouseCode": {
          "description": "Gets or sets the warehouse code",
          "type": "string"
        },
        "LineItems": {
          "description": "Gets or sets the collection of line items",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.LineItemModel"
          }
        },
        "Properties": {
          "description": "Gets or sets the list of key value pairs for dealing with custom properties.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.PropertyItemModel"
          }
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Order.LineItemModel": {
      "description": "Represents a line item in the system, the actual item that is bought.",
      "type": "object",
      "properties": {
        "LineItemId": {
          "format": "int32",
          "description": "Gets the identity of the line item.",
          "type": "integer"
        },
        "Code": {
          "description": "Gets the code of the variation content the line item represent. This property works as the connection between the line item and the variation content.",
          "type": "string"
        },
        "DisplayName": {
          "description": "Gets or sets the display name.",
          "type": "string"
        },
        "PlacedPrice": {
          "format": "double",
          "description": "Gets the price for one item that this line item represent. This property don't take any discounts in consideration.",
          "type": "number"
        },
        "ExtendedPrice": {
          "format": "double",
          "description": "Gets the extended price for the lineitem. Includes order-level discount amount (which is spread over all line items in the shipment) and the line item discount amount.",
          "type": "number"
        },
        "DiscountedPrice": {
          "format": "double",
          "description": "Gets the line item discounted price. Only calculates the price with the \"line item discount amount,\" that is, the discount for a specific item.",
          "type": "number"
        },
        "Quantity": {
          "format": "double",
          "description": "Gets or sets the number of items this line item contains",
          "type": "number"
        },
        "ReturnQuantity": {
          "format": "double",
          "description": "Gets or sets the returned in stock quantity.",
          "type": "number"
        },
        "InventoryTrackingStatus": {
          "format": "int32",
          "description": "Gets or sets the inventory tracking status on whether to check inventory.",
          "enum": [
            0,
            1
          ],
          "type": "integer"
        },
        "IsInventoryAllocated": {
          "description": "Gets or sets a value indicating whether this instance has allocated inventory for the {EPiServer.Commerce.Order.ILineItem.Quantity}.",
          "type": "boolean"
        },
        "IsGift": {
          "description": "Gets or sets a value indicating whether the line item is a gift item.",
          "type": "boolean"
        },
        "Properties": {
          "description": "Gets the list of key value pairs for dealing with custom properties.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.PropertyItemModel"
          }
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Order.PaymentModel": {
      "type": "object",
      "properties": {
        "Amount": {
          "format": "double",
          "type": "number"
        },
        "AuthorizationCode": {
          "type": "string"
        },
        "BillingAddressId": {
          "type": "string"
        },
        "CustomerName": {
          "type": "string"
        },
        "ImplementationClass": {
          "type": "string"
        },
        "PaymentId": {
          "format": "int32",
          "type": "integer"
        },
        "PaymentMethodId": {
          "format": "uuid",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "PaymentMethodName": {
          "type": "string"
        },
        "PaymentTypeModel": {
          "format": "int32",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5
          ],
          "type": "integer"
        },
        "Status": {
          "type": "string"
        },
        "TransactionType": {
          "type": "string"
        },
        "ValidationCode": {
          "type": "string"
        },
        "Properties": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.PropertyItemModel"
          }
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Order.DiscountModel": {
      "description": "Discount, contains information about specific discount.",
      "type": "object",
      "properties": {
        "DiscountId": {
          "format": "int32",
          "description": "Gets or sets the discount id.",
          "type": "integer"
        },
        "DiscountAmount": {
          "format": "double",
          "description": "Gets or sets the discount amount. Either fixed money value or percentage.",
          "type": "number"
        },
        "DiscountCode": {
          "description": "Gets or sets the discount code. Also known as a coupon code.",
          "type": "string"
        },
        "DiscountName": {
          "description": "Gets or sets the name of the discount.",
          "type": "string"
        },
        "DisplayMessage": {
          "description": "Gets or sets the display message.",
          "type": "string"
        },
        "DiscountValue": {
          "format": "double",
          "description": "Gets or sets the discount amount. The amount of discount that was applied. It will equal to DiscountAmount\r\nif it is a fixed monetary value. For the percentage based discount this value will be different.",
          "type": "number"
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Catalog.Catalog": {
      "description": "The catalog model.",
      "type": "object",
      "properties": {
        "IsActive": {
          "description": "Gets or sets a value indicating whether this instance is active.",
          "type": "boolean"
        },
        "Languages": {
          "description": "Gets or sets the languages.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.CatalogLanguage"
          }
        },
        "Nodes": {
          "description": "Gets or sets the nodes.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Models.ResourceLink"
          }
        },
        "Entries": {
          "description": "Gets or sets the entries.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Models.ResourceLink"
          }
        },
        "EndDate": {
          "format": "date-time",
          "description": "Gets or sets the end date.",
          "type": "string"
        },
        "StartDate": {
          "format": "date-time",
          "description": "Gets or sets the start date.",
          "type": "string"
        },
        "IsPrimary": {
          "description": "Gets or sets a value indicating whether this instance is primary.",
          "type": "boolean"
        },
        "Owner": {
          "description": "Gets or sets the owner.",
          "type": "string"
        },
        "SortOrder": {
          "format": "int32",
          "description": "Gets or sets the sort order.",
          "type": "integer"
        },
        "Name": {
          "description": "Gets or sets the name.",
          "type": "string"
        },
        "DefaultCurrency": {
          "description": "Gets or sets the default currency.",
          "type": "string"
        },
        "DefaultLanguage": {
          "description": "Gets or sets the default language.",
          "type": "string"
        },
        "WeightBase": {
          "description": "Gets or sets the weight base.",
          "type": "string"
        },
        "LengthBase": {
          "description": "Gets or sets the length base.",
          "type": "string"
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Catalog.CatalogLanguage": {
      "description": "",
      "type": "object",
      "properties": {
        "LanguageCode": {
          "description": "Gets or sets the language code.",
          "type": "string"
        },
        "Catalog": {
          "description": "Gets or sets the catalog.",
          "type": "string"
        },
        "UriSegment": {
          "description": "Gets or sets the URI segment.",
          "type": "string"
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Catalog.DraftCatalog": {
      "description": "The draft catalog model.",
      "type": "object",
      "properties": {
        "RouteSegment": {
          "description": "Gets or sets the route segment.",
          "type": "string"
        },
        "EndDate": {
          "format": "date-time",
          "description": "Gets or sets the end date.",
          "type": "string"
        },
        "StartDate": {
          "format": "date-time",
          "description": "Gets or sets the start date.",
          "type": "string"
        },
        "IsPrimary": {
          "description": "Gets or sets a value indicating whether this instance is primary.",
          "type": "boolean"
        },
        "Owner": {
          "description": "Gets or sets the owner.",
          "type": "string"
        },
        "SortOrder": {
          "format": "int32",
          "description": "Gets or sets the sort order.",
          "type": "integer"
        },
        "Name": {
          "description": "Gets or sets the name.",
          "type": "string"
        },
        "DefaultCurrency": {
          "description": "Gets or sets the default currency.",
          "type": "string"
        },
        "DefaultLanguage": {
          "description": "Gets or sets the default language.",
          "type": "string"
        },
        "WeightBase": {
          "description": "Gets or sets the weight base.",
          "type": "string"
        },
        "LengthBase": {
          "description": "Gets or sets the length base.",
          "type": "string"
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Order.ContactModel": {
      "description": "Contact model.",
      "type": "object",
      "properties": {
        "PrimaryKeyId": {
          "format": "uuid",
          "description": "Contact ID (GUID).",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "Addresses": {
          "description": "Contacts addresses.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.AddressModel"
          }
        },
        "FirstName": {
          "description": "First name.",
          "type": "string"
        },
        "LastName": {
          "description": "Last name.",
          "type": "string"
        },
        "Email": {
          "description": "Email.",
          "type": "string"
        },
        "RegistrationSource": {
          "description": "Registration source.",
          "type": "string"
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Order.AddressModel": {
      "description": "Address model.",
      "type": "object",
      "properties": {
        "AddressId": {
          "format": "uuid",
          "description": "Address ID (GUID).",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "Modified": {
          "format": "date-time",
          "description": "Last modified date.",
          "type": "string"
        },
        "Name": {
          "description": "Address name.",
          "type": "string"
        },
        "FirstName": {
          "description": "First name.",
          "type": "string"
        },
        "LastName": {
          "description": "Last name.",
          "type": "string"
        },
        "CountryName": {
          "description": "Country name.",
          "type": "string"
        },
        "CountryCode": {
          "description": "Country code.",
          "type": "string"
        },
        "City": {
          "description": "City.",
          "type": "string"
        },
        "PostalCode": {
          "description": "Postal code (Zip code).",
          "type": "string"
        },
        "Line1": {
          "description": "Address line 1.",
          "type": "string"
        },
        "Line2": {
          "description": "Address line 2.",
          "type": "string"
        },
        "RegionName": {
          "description": "Region name.",
          "type": "string"
        },
        "RegionCode": {
          "description": "Region code.",
          "type": "string"
        },
        "Email": {
          "description": "Email.",
          "type": "string"
        },
        "ShippingDefault": {
          "description": "Check if this is default shipping address. This property is misleading and has been obsolete. Use IsShippingAddress instead.",
          "type": "boolean"
        },
        "BillingDefault": {
          "description": "Check if this is default billing address. This property is misleading and has been obsolete. Use IsBillingAddress instead.",
          "type": "boolean"
        },
        "IsShippingAddress": {
          "description": "Flag to indicate if this is a shipping address or not.",
          "type": "boolean"
        },
        "IsBillingAddress": {
          "description": "Flag to indicate if this is a billing address or not.",
          "type": "boolean"
        },
        "DaytimePhoneNumber": {
          "description": "Daytime phone number.",
          "type": "string"
        },
        "EveningPhoneNumber": {
          "description": "Evening phone number.",
          "type": "string"
        },
        "Organization": {
          "description": "Organization name.",
          "type": "string"
        },
        "AddressType": {
          "description": "Address type",
          "type": "array",
          "items": {
            "format": "int32",
            "type": "integer"
          }
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Order.OrganizationModel": {
      "description": "Organization model.",
      "required": [
        "Name"
      ],
      "type": "object",
      "properties": {
        "PrimaryKeyId": {
          "format": "uuid",
          "description": "Organization ID (GUID).",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "Addresses": {
          "description": "List of addresses.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.AddressModel"
          }
        },
        "ChildOrganizations": {
          "description": "List of child organizations.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.OrganizationModel"
          }
        },
        "Contacts": {
          "description": "List of contacts.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.ContactModel"
          }
        },
        "OrganizationType": {
          "description": "Organization type.",
          "type": "string"
        },
        "OrgCustomerGroup": {
          "description": "Organization customer group.",
          "type": "string"
        },
        "BusinessCategory": {
          "description": "Business category.",
          "type": "string"
        },
        "Name": {
          "description": "Organization name.",
          "type": "string"
        },
        "Description": {
          "description": "Organization description.",
          "type": "string"
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Catalog.Entries": {
      "description": "",
      "type": "object",
      "properties": {
        "EntryResults": {
          "description": "Gets or sets the entries.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.Entry"
          }
        },
        "TotalCount": {
          "format": "int32",
          "description": "Gets or sets the total count.",
          "type": "integer"
        },
        "TotalPages": {
          "format": "int32",
          "description": "Gets or sets the total pages.",
          "type": "integer"
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Catalog.Entry": {
      "type": "object",
      "properties": {
        "IsActive": {
          "description": "Gets or sets a value indicating whether this instance is active.",
          "type": "boolean"
        },
        "MetaFields": {
          "description": "Gets or sets the item attributes.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.MetaFieldProperty"
          }
        },
        "SeoInformation": {
          "description": "Gets or sets the SEO information.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.SeoInfo"
          }
        },
        "PublishStatuses": {
          "description": "Gets or sets the publish statuses for language versions of this entry.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.PublishStatus"
          }
        },
        "Code": {
          "description": "Gets or sets the Catalog Entry Code.",
          "type": "string"
        },
        "Name": {
          "description": "Gets or sets the name.",
          "type": "string"
        },
        "StartDate": {
          "format": "date-time",
          "description": "Gets or sets the start date.",
          "type": "string"
        },
        "EndDate": {
          "format": "date-time",
          "description": "Gets or sets the end date.",
          "type": "string"
        },
        "MetaClass": {
          "description": "Gets or sets the MetaClass.",
          "type": "string"
        },
        "Catalog": {
          "description": "Gets or sets the Catalog.",
          "type": "string"
        },
        "Prices": {
          "description": "Gets or sets the price values.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Models.ResourceLink"
          }
        },
        "EntryType": {
          "description": "Gets or sets the type of the entry.",
          "type": "string"
        },
        "ChildCatalogEntries": {
          "description": "Gets or sets the child catalog entries.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Models.ResourceLink"
          }
        },
        "InventoryStatus": {
          "description": "Gets or sets the flag indicating how inventory amounts are handled.",
          "type": "string"
        },
        "WarehouseInventories": {
          "description": "Gets or sets the warehouse inventories.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Models.ResourceLink"
          }
        },
        "Associations": {
          "description": "Gets or sets the associations.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Models.ResourceLink"
          }
        },
        "Assets": {
          "description": "Gets or sets the assets.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Models.ResourceLink"
          }
        },
        "Nodes": {
          "description": "Gets or sets the nodes.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Models.ResourceLink"
          }
        },
        "Variation": {
          "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.VariationProperties",
          "description": "Gets or sets the variation."
        },
        "Dimension": {
          "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.DimensionProperties",
          "description": "Gets or sets the dimension."
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Catalog.MetaFieldProperty": {
      "type": "object",
      "properties": {
        "Data": {
          "description": "Gets or sets the data.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.MetaFieldData"
          }
        },
        "Name": {
          "description": "Gets or sets the name.",
          "type": "string"
        },
        "Type": {
          "description": "Gets or sets the type.",
          "type": "string"
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Catalog.SeoInfo": {
      "description": "The Seo info model.",
      "type": "object",
      "properties": {
        "LanguageCode": {
          "description": "Gets or sets the language code.",
          "type": "string"
        },
        "Title": {
          "description": "Gets or sets the title.",
          "type": "string"
        },
        "Uri": {
          "description": "Gets or sets the URI.",
          "type": "string"
        },
        "UriSegment": {
          "description": "Gets or sets the uri segment.",
          "type": "string"
        },
        "Description": {
          "description": "Gets or sets the description.",
          "type": "string"
        },
        "Keywords": {
          "description": "Gets or sets the keywords.",
          "type": "string"
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Catalog.PublishStatus": {
      "description": "Publish status of a language version.",
      "type": "object",
      "properties": {
        "Language": {
          "description": "Gets or sets language version.",
          "type": "string"
        },
        "IsPublished": {
          "description": "Gets or sets the publish status.",
          "type": "boolean"
        },
        "StartPublish": {
          "format": "date-time",
          "description": "Gets or sets the start publish time, in UTC.",
          "type": "string"
        },
        "StopPublish": {
          "format": "date-time",
          "description": "Gets or sets the stop publish time, in UTC.",
          "type": "string"
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Catalog.VariationProperties": {
      "description": "",
      "type": "object",
      "properties": {
        "MinQuantity": {
          "format": "double",
          "description": "Gets or sets the min quantity.",
          "type": "number"
        },
        "MaxQuantity": {
          "format": "double",
          "description": "Gets or sets the max quantity.",
          "type": "number"
        },
        "Weight": {
          "format": "double",
          "description": "Gets or sets the weight.",
          "type": "number"
        },
        "TaxCategory": {
          "description": "Gets or sets the tax category.",
          "type": "string"
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Catalog.DimensionProperties": {
      "description": "Model to indicate that an variation/package has shipment dimension properties.",
      "type": "object",
      "properties": {
        "Length": {
          "format": "double",
          "description": "Gets or sets the length.",
          "type": "number"
        },
        "Height": {
          "format": "double",
          "description": "Gets or sets the height.",
          "type": "number"
        },
        "Width": {
          "format": "double",
          "description": "Gets or sets the width.",
          "type": "number"
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Catalog.MetaFieldData": {
      "description": "Represents data of a metafield.",
      "type": "object",
      "properties": {
        "Language": {
          "description": "Gets or sets the language.",
          "type": "string"
        },
        "Value": {
          "description": "Gets or sets the value.",
          "type": "string"
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Catalog.DraftEntry": {
      "type": "object",
      "properties": {
        "MetaFields": {
          "description": "Gets or sets the item attributes.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.DraftMetaFieldProperty"
          }
        },
        "SeoInformation": {
          "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.DraftSeoInfo",
          "description": "Gets or sets the SEO information."
        },
        "Code": {
          "description": "Gets or sets the Catalog Entry Code.",
          "type": "string"
        },
        "Name": {
          "description": "Gets or sets the name.",
          "type": "string"
        },
        "StartDate": {
          "format": "date-time",
          "description": "Gets or sets the start date.",
          "type": "string"
        },
        "EndDate": {
          "format": "date-time",
          "description": "Gets or sets the end date.",
          "type": "string"
        },
        "MetaClass": {
          "description": "Gets or sets the MetaClass.",
          "type": "string"
        },
        "Catalog": {
          "description": "Gets or sets the Catalog.",
          "type": "string"
        },
        "Prices": {
          "description": "Gets or sets the price values.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Models.ResourceLink"
          }
        },
        "EntryType": {
          "description": "Gets or sets the type of the entry.",
          "type": "string"
        },
        "ChildCatalogEntries": {
          "description": "Gets or sets the child catalog entries.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Models.ResourceLink"
          }
        },
        "InventoryStatus": {
          "description": "Gets or sets the flag indicating how inventory amounts are handled.",
          "type": "string"
        },
        "WarehouseInventories": {
          "description": "Gets or sets the warehouse inventories.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Models.ResourceLink"
          }
        },
        "Associations": {
          "description": "Gets or sets the associations.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Models.ResourceLink"
          }
        },
        "Assets": {
          "description": "Gets or sets the assets.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Models.ResourceLink"
          }
        },
        "Nodes": {
          "description": "Gets or sets the nodes.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Models.ResourceLink"
          }
        },
        "Variation": {
          "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.VariationProperties",
          "description": "Gets or sets the variation."
        },
        "Dimension": {
          "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.DimensionProperties",
          "description": "Gets or sets the dimension."
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Catalog.DraftMetaFieldProperty": {
      "description": "The draft meta field property model.",
      "type": "object",
      "properties": {
        "Data": {
          "description": "Gets or sets the data.",
          "type": "string"
        },
        "Name": {
          "description": "Gets or sets the name.",
          "type": "string"
        },
        "Type": {
          "description": "Gets or sets the type.",
          "type": "string"
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Catalog.DraftSeoInfo": {
      "description": "The draft Seo info model.",
      "type": "object",
      "properties": {
        "Title": {
          "description": "Gets or sets the title.",
          "type": "string"
        },
        "Uri": {
          "description": "Gets or sets the URI.",
          "type": "string"
        },
        "UriSegment": {
          "description": "Gets or sets the uri segment.",
          "type": "string"
        },
        "Description": {
          "description": "Gets or sets the description.",
          "type": "string"
        },
        "Keywords": {
          "description": "Gets or sets the keywords.",
          "type": "string"
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Catalog.EntryRelation": {
      "description": "",
      "type": "object",
      "properties": {
        "SortOrder": {
          "format": "int32",
          "description": "Gets or sets the sort order.",
          "type": "integer"
        },
        "Quantity": {
          "format": "double",
          "description": "Gets or sets the quantity.",
          "type": "number"
        },
        "RelationType": {
          "description": "Gets or sets the type of the relation.",
          "type": "string"
        },
        "GroupName": {
          "description": "Gets or sets the name of the group.",
          "type": "string"
        },
        "ParentEntryCode": {
          "description": "Gets or sets the parent entry code.",
          "type": "string"
        },
        "ChildEntryCode": {
          "description": "Gets or sets the child entry code.",
          "type": "string"
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Catalog.ItemAsset": {
      "description": "Represents a catalog item asset.",
      "type": "object",
      "properties": {
        "CatalogNodeCode": {
          "description": "Gets or sets the catalog node code.",
          "type": "string"
        },
        "CatalogEntryCode": {
          "description": "Gets or sets the catalog entry code.",
          "type": "string"
        },
        "AssetKey": {
          "description": "Gets or sets the asset key.",
          "type": "string"
        },
        "AssetType": {
          "description": "Gets or sets the type of the asset.",
          "type": "string"
        },
        "GroupName": {
          "description": "Gets or sets the name of the group.",
          "type": "string"
        },
        "SortOrder": {
          "format": "int32",
          "description": "Gets or sets the sort order.",
          "type": "integer"
        }
      }
    },
    "EPiServer.ServiceApi.Models.IdentityMapping": {
      "description": "Class to get list of Mapped Identities",
      "type": "object",
      "properties": {
        "IntegrationId": {
          "description": "Gets or sets the integration identifier.",
          "type": "string"
        },
        "InternalId": {
          "description": "Gets or sets the internal identifier.",
          "type": "string"
        },
        "Modified": {
          "format": "date-time",
          "description": "Gets or sets the modified date.",
          "type": "string"
        },
        "ProviderName": {
          "description": "Gets or sets the name of the provider.",
          "type": "string"
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Catalog.Node": {
      "description": "The node model.",
      "type": "object",
      "properties": {
        "IsActive": {
          "description": "Gets or sets a value indicating whether this instance is active.",
          "type": "boolean"
        },
        "MetaFields": {
          "description": "Gets or sets the item attributes.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.MetaFieldProperty"
          }
        },
        "SeoInformation": {
          "description": "Gets or sets the SEO information.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.SeoInfo"
          }
        },
        "PublishStatuses": {
          "description": "Gets or sets the publish statuses for language versions of this node.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.PublishStatus"
          }
        },
        "Code": {
          "description": "Gets or sets the Category Code.",
          "type": "string"
        },
        "ParentNodeCode": {
          "description": "Gets or sets the parent node code.",
          "type": "string"
        },
        "Name": {
          "description": "Gets or sets the name.",
          "type": "string"
        },
        "StartDate": {
          "format": "date-time",
          "description": "Gets or sets the start date.",
          "type": "string"
        },
        "EndDate": {
          "format": "date-time",
          "description": "Gets or sets the end date.",
          "type": "string"
        },
        "MetaClass": {
          "description": "Gets or sets the MetaClass.",
          "type": "string"
        },
        "Catalog": {
          "description": "Gets or sets the Catalog.",
          "type": "string"
        },
        "SortOrder": {
          "format": "int32",
          "description": "Gets or sets the sort order.",
          "type": "integer"
        },
        "ParentNode": {
          "$ref": "#/definitions/EPiServer.ServiceApi.Models.ResourceLink",
          "description": "Gets or sets the parent entry."
        },
        "Assets": {
          "description": "Gets or sets the assets.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Models.ResourceLink"
          }
        },
        "Children": {
          "description": "Gets or sets the child nodes.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Models.ResourceLink"
          }
        },
        "Entries": {
          "description": "Gets or sets the entries.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Models.ResourceLink"
          }
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Catalog.DraftNode": {
      "description": "The draft node model.",
      "type": "object",
      "properties": {
        "MetaFields": {
          "description": "Gets or sets the meta field data.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.DraftMetaFieldProperty"
          }
        },
        "SeoInformation": {
          "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Catalog.DraftSeoInfo",
          "description": "Gets or sets the SEO information."
        },
        "Code": {
          "description": "Gets or sets the Category Code.",
          "type": "string"
        },
        "ParentNodeCode": {
          "description": "Gets or sets the parent node code.",
          "type": "string"
        },
        "Name": {
          "description": "Gets or sets the name.",
          "type": "string"
        },
        "StartDate": {
          "format": "date-time",
          "description": "Gets or sets the start date.",
          "type": "string"
        },
        "EndDate": {
          "format": "date-time",
          "description": "Gets or sets the end date.",
          "type": "string"
        },
        "MetaClass": {
          "description": "Gets or sets the MetaClass.",
          "type": "string"
        },
        "Catalog": {
          "description": "Gets or sets the Catalog.",
          "type": "string"
        },
        "SortOrder": {
          "format": "int32",
          "description": "Gets or sets the sort order.",
          "type": "integer"
        },
        "ParentNode": {
          "$ref": "#/definitions/EPiServer.ServiceApi.Models.ResourceLink",
          "description": "Gets or sets the parent entry."
        },
        "Assets": {
          "description": "Gets or sets the assets.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Models.ResourceLink"
          }
        },
        "Children": {
          "description": "Gets or sets the child nodes.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Models.ResourceLink"
          }
        },
        "Entries": {
          "description": "Gets or sets the entries.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Models.ResourceLink"
          }
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Catalog.NodeEntryRelation": {
      "description": "",
      "type": "object",
      "properties": {
        "SortOrder": {
          "format": "int32",
          "description": "Gets or sets the sort order.",
          "type": "integer"
        },
        "NodeCode": {
          "description": "Gets or sets the parent node code.",
          "type": "string"
        },
        "EntryCode": {
          "description": "Gets or sets the child node code.",
          "type": "string"
        },
        "IsPrimary": {
          "description": "Gets or sets whether this relation is the primary relation for the entry\r\n(the home category).",
          "type": "boolean"
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Catalog.NodeRelation": {
      "description": "",
      "type": "object",
      "properties": {
        "SortOrder": {
          "format": "int32",
          "description": "Gets or sets the sort order.",
          "type": "integer"
        },
        "ParentNodeCode": {
          "description": "Gets or sets the parent node code.",
          "type": "string"
        },
        "ChildNodeCode": {
          "description": "Gets or sets the child node code.",
          "type": "string"
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Order.PurchaseOrderModel": {
      "description": "Purchase Order is the actual recorded sale.",
      "required": [
        "Name"
      ],
      "type": "object",
      "properties": {
        "OrderNumber": {
          "description": "An order number used for tracking the order.",
          "type": "string"
        },
        "AddressId": {
          "description": "Address ID.",
          "type": "string"
        },
        "AffiliateId": {
          "format": "uuid",
          "description": "Affiliate ID (GUID)",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "BillingCurrency": {
          "description": "Billing currency.",
          "type": "string"
        },
        "CustomerId": {
          "format": "uuid",
          "description": "Customer ID (GUID).",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "CustomerName": {
          "description": "Customer name.",
          "type": "string"
        },
        "HandlingTotal": {
          "format": "double",
          "description": "Handling total.",
          "type": "number"
        },
        "InstanceId": {
          "format": "uuid",
          "description": "Instance ID (GUID).",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "MarketId": {
          "description": "Market ID.",
          "type": "string"
        },
        "Name": {
          "description": "Order name.",
          "type": "string"
        },
        "OrderAddresses": {
          "description": "List of addresses.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.OrderAddressModel"
          }
        },
        "OrderForms": {
          "description": "List of order forms.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.OrderFormModel"
          }
        },
        "OrderGroupId": {
          "format": "int32",
          "description": "Order group ID.",
          "type": "integer"
        },
        "OrderNotes": {
          "description": "List of order notes.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.OrderNoteModel"
          }
        },
        "Owner": {
          "description": "Owner name.",
          "type": "string"
        },
        "OwnerOrg": {
          "description": "Owner's organization name.",
          "type": "string"
        },
        "ProviderId": {
          "description": "Provider ID.",
          "type": "string"
        },
        "ShippingTotal": {
          "format": "double",
          "description": "Shipping total.",
          "type": "number"
        },
        "Status": {
          "description": "Status.\r\nValid values:\r\n- AwaitingExchange\r\n- Cancelled\r\n- Completed\r\n- InProgress\r\n- OnHold\r\n- PartiallyShipped",
          "type": "string"
        },
        "SubTotal": {
          "format": "double",
          "description": "Sub-total.",
          "type": "number"
        },
        "TaxTotal": {
          "format": "double",
          "description": "Tax total.",
          "type": "number"
        },
        "Total": {
          "format": "double",
          "description": "Total.",
          "type": "number"
        },
        "Modified": {
          "format": "date-time",
          "description": "Modified date.",
          "type": "string"
        },
        "Created": {
          "format": "date-time",
          "description": "Created date.",
          "type": "string"
        },
        "Properties": {
          "description": "Gets the list of key value pairs for dealing with custom properties.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.PropertyItemModel"
          }
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Order.SearchOrdersRequest": {
      "description": "Order search parameter model.",
      "type": "object",
      "properties": {
        "OrderShipmentStatus": {
          "description": "Order shipment status to filter.\r\nValid values:\r\n- AwaitingInventory\r\n- Cancelled\r\n- InventoryAssigned\r\n- OnHold\r\n- Packing\r\n- Released\r\n- Shipped",
          "type": "string"
        },
        "ShippingMethodId": {
          "format": "uuid",
          "description": "Shipping method ID (GUID) to filter.",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "ModifiedFrom": {
          "format": "date-time",
          "description": "Modified from date to filter.",
          "type": "string"
        },
        "Status": {
          "description": "List of statuses to filter.\r\nValid values:\r\n- AwaitingExchange\r\n- Cancelled\r\n- Completed\r\n- InProgress\r\n- OnHold\r\n- PartiallyShipped",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Order.PaymentPlanModel": {
      "description": "Payment Plan is a type of order that will be a recurring order.",
      "required": [
        "Name"
      ],
      "type": "object",
      "properties": {
        "AddressId": {
          "description": "Address ID.",
          "type": "string"
        },
        "AffiliateId": {
          "format": "uuid",
          "description": "Affiliate ID (GUID)",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "BillingCurrency": {
          "description": "Billing currency.",
          "type": "string"
        },
        "CustomerId": {
          "format": "uuid",
          "description": "Customer ID (GUID).",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "CustomerName": {
          "description": "Customer name.",
          "type": "string"
        },
        "HandlingTotal": {
          "format": "double",
          "description": "Handling total.",
          "type": "number"
        },
        "InstanceId": {
          "format": "uuid",
          "description": "Instance ID (GUID).",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "MarketId": {
          "description": "Market ID.",
          "type": "string"
        },
        "Name": {
          "description": "Order name.",
          "type": "string"
        },
        "OrderAddresses": {
          "description": "List of addresses.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.OrderAddressModel"
          }
        },
        "OrderForms": {
          "description": "List of order forms.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.OrderFormModel"
          }
        },
        "OrderGroupId": {
          "format": "int32",
          "description": "Order group ID.",
          "type": "integer"
        },
        "OrderNotes": {
          "description": "List of order notes.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.OrderNoteModel"
          }
        },
        "Owner": {
          "description": "Owner name.",
          "type": "string"
        },
        "OwnerOrg": {
          "description": "Owner's organization name.",
          "type": "string"
        },
        "ProviderId": {
          "description": "Provider ID.",
          "type": "string"
        },
        "ShippingTotal": {
          "format": "double",
          "description": "Shipping total.",
          "type": "number"
        },
        "Status": {
          "description": "Status.\r\nValid values:\r\n- AwaitingExchange\r\n- Cancelled\r\n- Completed\r\n- InProgress\r\n- OnHold\r\n- PartiallyShipped",
          "type": "string"
        },
        "SubTotal": {
          "format": "double",
          "description": "Sub-total.",
          "type": "number"
        },
        "TaxTotal": {
          "format": "double",
          "description": "Tax total.",
          "type": "number"
        },
        "Total": {
          "format": "double",
          "description": "Total.",
          "type": "number"
        },
        "Modified": {
          "format": "date-time",
          "description": "Modified date.",
          "type": "string"
        },
        "Created": {
          "format": "date-time",
          "description": "Created date.",
          "type": "string"
        },
        "Properties": {
          "description": "Gets the list of key value pairs for dealing with custom properties.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/EPiServer.ServiceApi.Commerce.Models.Order.PropertyItemModel"
          }
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Catalog.Price": {
      "description": "",
      "type": "object",
      "properties": {
        "PriceValueId": {
          "format": "int64",
          "description": "Gets or sets the price value identifier.",
          "type": "integer"
        },
        "CatalogEntryCode": {
          "description": "Gets the catalog entry key.",
          "type": "string"
        },
        "MarketId": {
          "description": "Gets or sets the market identifier.",
          "type": "string"
        },
        "PriceTypeId": {
          "description": "Gets or sets the price type identifier.  Valid Values are AllCustomers, UserName, PriceGroup",
          "type": "string"
        },
        "PriceCode": {
          "description": "Gets or sets the price code for the specified price type identifier.",
          "type": "string"
        },
        "ValidFrom": {
          "format": "date-time",
          "description": "Gets or sets the valid from.",
          "type": "string"
        },
        "ValidUntil": {
          "format": "date-time",
          "description": "Gets or sets the valid until.",
          "type": "string"
        },
        "MinQuantity": {
          "format": "double",
          "description": "Gets or sets the minimum quantity.",
          "type": "number"
        },
        "UnitPrice": {
          "format": "double",
          "description": "Gets or sets the unit price.",
          "type": "number"
        },
        "CurrencyCode": {
          "description": "Gets or sets the currency code.",
          "type": "string"
        }
      }
    },
    "EPiServer.ServiceApi.Models.JobMessage": {
      "description": "A job message.",
      "type": "object",
      "properties": {
        "TimestampUtc": {
          "format": "date-time",
          "description": "Gets or sets the timestamp of the message, in UTC.",
          "type": "string"
        },
        "MessageType": {
          "format": "int32",
          "description": "Gets or sets the type of the message.",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5
          ],
          "type": "integer"
        },
        "Message": {
          "description": "Gets or sets the content of the message.",
          "type": "string"
        },
        "StageName": {
          "description": "Gets or sets the name of the current stage of processing.",
          "type": "string"
        },
        "StageIndex": {
          "format": "int32",
          "description": "Gets or sets the index (zero based) of the current stage.",
          "type": "integer"
        },
        "StageCount": {
          "format": "int32",
          "description": "Gets or sets the number of stages in the task.",
          "type": "integer"
        },
        "StageProgress": {
          "format": "int32",
          "description": "Gets or sets the current progress within the current stage of execution.",
          "type": "integer"
        },
        "StageTotalProgress": {
          "format": "int32",
          "description": "Gets or sets the value of {StageProgress} that indicates completion of the\r\ncurrent stage.",
          "type": "integer"
        },
        "ExceptionMessage": {
          "description": "Gets or sets the exception message from {Exception}, or null if\r\n{System.Exception} is null.",
          "type": "string"
        },
        "ExceptionStackTrace": {
          "description": "Gets or sets the stack trace from {Exception}, or null if\r\n{System.Exception} is null.",
          "type": "string"
        }
      }
    },
    "EPiServer.ServiceApi.Models.UploadFile": {
      "description": "",
      "type": "object",
      "properties": {
        "UploadId": {
          "format": "uuid",
          "description": "Gets or sets the upload used for adding additional parts of the file.",
          "type": "string",
          "example": "00000000-0000-0000-0000-000000000000"
        },
        "OffSet": {
          "format": "int64",
          "description": "Gets or sets the offset of where the last byte was written to disk.  Add one additional byte to begin the next chunk",
          "type": "integer"
        },
        "Expires": {
          "format": "date-time",
          "description": "Gets or sets the time the upload will expire for all parts  The upload must complete with in 24 hours.",
          "type": "string"
        }
      }
    },
    "EPiServer.ServiceApi.Models.ApiVersion": {
      "description": "Encapsulates component and version number information for EPiServer.Integration APIs\r\nDesigned to be used for both current version and supported versions",
      "type": "object",
      "properties": {
        "Component": {
          "description": "Gets or sets the EPiServer component to which the version applies.",
          "type": "string"
        },
        "Version": {
          "description": "Gets or sets the version identifier.",
          "type": "string"
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Catalog.Warehouse": {
      "description": "",
      "type": "object",
      "properties": {
        "Name": {
          "description": "Gets or sets the name.",
          "type": "string"
        },
        "IsActive": {
          "description": "Gets or sets a value indicating whether this instance is active.",
          "type": "boolean"
        },
        "IsPrimary": {
          "description": "Gets or sets a value indicating whether this instance is primary.",
          "type": "boolean"
        },
        "SortOrder": {
          "format": "int32",
          "description": "Gets or sets the sort order.",
          "type": "integer"
        },
        "Code": {
          "description": "Gets or sets the code.",
          "type": "string"
        },
        "FulfillmentPriorityOrder": {
          "format": "int32",
          "description": "Gets or sets the fulfillment priority order.",
          "type": "integer"
        },
        "IsFulfillmentCenter": {
          "description": "Gets or sets a value indicating whether this instance is fulfillment center.",
          "type": "boolean"
        },
        "IsPickupLocation": {
          "description": "Gets or sets a value indicating whether this instance is pickup location.",
          "type": "boolean"
        },
        "IsDeliveryLocation": {
          "description": "Gets or sets a value indicating whether this instance is delivery location.",
          "type": "boolean"
        },
        "FirstName": {
          "description": "Gets or sets the first name.",
          "type": "string"
        },
        "LastName": {
          "description": "Gets or sets the last name.",
          "type": "string"
        },
        "Organization": {
          "description": "Gets or sets the organization.",
          "type": "string"
        },
        "Line1": {
          "description": "Gets or sets the line1.",
          "type": "string"
        },
        "Line2": {
          "description": "Gets or sets the line2.",
          "type": "string"
        },
        "City": {
          "description": "Gets or sets the city.",
          "type": "string"
        },
        "State": {
          "description": "Gets or sets the state.",
          "type": "string"
        },
        "CountryCode": {
          "description": "Gets or sets the country code.",
          "type": "string"
        },
        "CountryName": {
          "description": "Gets or sets the name of the country.",
          "type": "string"
        },
        "PostalCode": {
          "description": "Gets or sets the postal code.",
          "type": "string"
        },
        "RegionCode": {
          "description": "Gets or sets the region code.",
          "type": "string"
        },
        "RegionName": {
          "description": "Gets or sets the name of the region.",
          "type": "string"
        },
        "DaytimePhoneNumber": {
          "description": "Gets or sets the daytime phone number.",
          "type": "string"
        },
        "EveningPhoneNumber": {
          "description": "Gets or sets the evening phone number.",
          "type": "string"
        },
        "FaxNumber": {
          "description": "Gets or sets the fax number.",
          "type": "string"
        },
        "Email": {
          "description": "Gets or sets the email.",
          "type": "string"
        }
      }
    },
    "EPiServer.ServiceApi.Commerce.Models.Catalog.WarehouseInventory": {
      "description": "",
      "type": "object",
      "properties": {
        "CatalogEntryCode": {
          "description": "Gets the catalog entry key.",
          "type": "string"
        },
        "WarehouseCode": {
          "description": "Represents the unique warehouse code.",
          "type": "string"
        },
        "WarehouseLink": {
          "$ref": "#/definitions/EPiServer.ServiceApi.Models.ResourceLink",
          "description": "Gets or sets the warehouse link."
        },
        "InStockQuantity": {
          "format": "double",
          "description": "Represents the inventory's in-stock quantity.",
          "type": "number"
        },
        "ReservedQuantity": {
          "format": "double",
          "description": "Represents the inventory's reserved quantity.",
          "type": "number"
        },
        "ReorderMinQuantity": {
          "format": "double",
          "description": "Represents the inventory's minimum re-order quantity.",
          "type": "number"
        },
        "PreorderQuantity": {
          "format": "double",
          "description": "Represents the inventory's pre-order quantity.",
          "type": "number"
        },
        "BackorderQuantity": {
          "format": "double",
          "description": "Represents the inventory's backorder quantity.",
          "type": "number"
        },
        "AllowBackorder": {
          "description": "Represents whether to allow backorders.",
          "type": "boolean"
        },
        "AllowPreorder": {
          "description": "Represents whether to allow pre-orders.",
          "type": "boolean"
        },
        "InventoryStatus": {
          "description": "Indicates whether or not current inventory amount is used in determining if an order can be completed.",
          "type": "string"
        },
        "PreorderAvailabilityDate": {
          "format": "date-time",
          "description": "Represents the availability date for the inventory's pre-orders.",
          "type": "string"
        },
        "BackorderAvailabilityDate": {
          "format": "date-time",
          "description": "Represents the availability date for the inventory's backorders.",
          "type": "string"
        },
        "PurchaseAvailableDate": {
          "format": "date-time",
          "description": "Represents the availability date for the inventory's purchase.",
          "type": "string"
        }
      }
    }
  }
}