{
  "opencollection": "1.0.0",
  "info": {
    "name": "Optimizely Commerce Service API",
    "version": "1.0"
  },
  "request": {
    "auth": {
      "type": "bearer",
      "token": "{{bearerToken}}"
    }
  },
  "items": [
    {
      "info": {
        "name": "Catalogs",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List catalogs",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{siteUrl}/episerverapi/commerce/catalogs"
          },
          "docs": "Returns a list of all product catalogs in the commerce system."
        },
        {
          "info": {
            "name": "Create a catalog",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{siteUrl}/episerverapi/commerce/catalogs",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Creates a new product catalog."
        },
        {
          "info": {
            "name": "Get a catalog",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{siteUrl}/episerverapi/commerce/catalogs/:catalogName",
            "params": [
              {
                "name": "catalogName",
                "value": "",
                "type": "path",
                "description": "The name of the catalog"
              }
            ]
          },
          "docs": "Retrieves the details of a specific catalog by its name."
        },
        {
          "info": {
            "name": "Update a catalog",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "{siteUrl}/episerverapi/commerce/catalogs/:catalogName",
            "params": [
              {
                "name": "catalogName",
                "value": "",
                "type": "path",
                "description": "The name of the catalog"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates the specified catalog with the provided fields."
        },
        {
          "info": {
            "name": "Delete a catalog",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{siteUrl}/episerverapi/commerce/catalogs/:catalogName",
            "params": [
              {
                "name": "catalogName",
                "value": "",
                "type": "path",
                "description": "The name of the catalog"
              }
            ]
          },
          "docs": "Permanently deletes the specified catalog and its contents."
        }
      ]
    },
    {
      "info": {
        "name": "Catalog Entries",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Get a catalog entry",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{siteUrl}/episerverapi/commerce/entries/:entryCode",
            "params": [
              {
                "name": "entryCode",
                "value": "",
                "type": "path",
                "description": "The unique code of the catalog entry"
              }
            ]
          },
          "docs": "Retrieves a specific catalog entry (product, variant, package, or bundle) by its code."
        },
        {
          "info": {
            "name": "Update a catalog entry",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "{siteUrl}/episerverapi/commerce/entries/:entryCode",
            "params": [
              {
                "name": "entryCode",
                "value": "",
                "type": "path",
                "description": "The unique code of the catalog entry"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates the specified catalog entry with the provided fields."
        },
        {
          "info": {
            "name": "Delete a catalog entry",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{siteUrl}/episerverapi/commerce/entries/:entryCode",
            "params": [
              {
                "name": "entryCode",
                "value": "",
                "type": "path",
                "description": "The unique code of the catalog entry"
              }
            ]
          },
          "docs": "Permanently deletes the specified catalog entry."
        },
        {
          "info": {
            "name": "Update catalog entry common draft",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "{siteUrl}/episerverapi/commerce/entries/:entryCode/commondraft/:language",
            "params": [
              {
                "name": "entryCode",
                "value": "",
                "type": "path",
                "description": "The unique code of the catalog entry"
              },
              {
                "name": "language",
                "value": "",
                "type": "path",
                "description": "The language code for the content version"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates the common draft version of a catalog entry for the specified language."
        }
      ]
    },
    {
      "info": {
        "name": "Catalog Nodes",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Get a catalog node",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{siteUrl}/episerverapi/commerce/nodes/:nodeCode",
            "params": [
              {
                "name": "nodeCode",
                "value": "",
                "type": "path",
                "description": "The unique code of the catalog node"
              }
            ]
          },
          "docs": "Retrieves a specific catalog node (category) by its code."
        },
        {
          "info": {
            "name": "Update a catalog node",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "{siteUrl}/episerverapi/commerce/nodes/:nodeCode",
            "params": [
              {
                "name": "nodeCode",
                "value": "",
                "type": "path",
                "description": "The unique code of the catalog node"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates the specified catalog node with the provided fields."
        },
        {
          "info": {
            "name": "Delete a catalog node",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{siteUrl}/episerverapi/commerce/nodes/:nodeCode",
            "params": [
              {
                "name": "nodeCode",
                "value": "",
                "type": "path",
                "description": "The unique code of the catalog node"
              }
            ]
          },
          "docs": "Permanently deletes the specified catalog node."
        }
      ]
    },
    {
      "info": {
        "name": "Catalog Entry Relations",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Get entry node relations",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{siteUrl}/episerverapi/commerce/entries/:entryCode/noderelations",
            "params": [
              {
                "name": "entryCode",
                "value": "",
                "type": "path",
                "description": "The unique code of the catalog entry"
              }
            ]
          },
          "docs": "Retrieves the node relations for a specific catalog entry."
        },
        {
          "info": {
            "name": "Update entry node relations",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "{siteUrl}/episerverapi/commerce/entries/:entryCode/noderelations",
            "params": [
              {
                "name": "entryCode",
                "value": "",
                "type": "path",
                "description": "The unique code of the catalog entry"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Updates the node relations for a specific catalog entry."
        }
      ]
    },
    {
      "info": {
        "name": "Orders",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List customer orders",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{siteUrl}/episerverapi/commerce/orders/:customerId/all",
            "params": [
              {
                "name": "customerId",
                "value": "",
                "type": "path",
                "description": "The unique identifier for the customer"
              }
            ]
          },
          "docs": "Returns all orders for a specific customer."
        },
        {
          "info": {
            "name": "Get an order",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{siteUrl}/episerverapi/commerce/orders/:orderGroupId",
            "params": [
              {
                "name": "orderGroupId",
                "value": "",
                "type": "path",
                "description": "The unique identifier for the order group"
              }
            ]
          },
          "docs": "Retrieves a specific order by its order group identifier."
        },
        {
          "info": {
            "name": "Search orders",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{siteUrl}/episerverapi/commerce/orders/search/:start/:maxCount",
            "params": [
              {
                "name": "start",
                "value": "",
                "type": "path",
                "description": "Starting index for results"
              },
              {
                "name": "maxCount",
                "value": "",
                "type": "path",
                "description": "Maximum number of results to return"
              }
            ]
          },
          "docs": "Searches for orders with pagination support."
        }
      ]
    },
    {
      "info": {
        "name": "Customers",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Get a customer",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{siteUrl}/episerverapi/commerce/customers/:customerId",
            "params": [
              {
                "name": "customerId",
                "value": "",
                "type": "path",
                "description": "The unique identifier for the customer"
              }
            ]
          },
          "docs": "Retrieves the details of a specific customer account."
        }
      ]
    }
  ],
  "bundled": true
}