Optimizely Categories API

The Categories API from Optimizely — 22 operation(s) for categories.

Operations 26

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /api/v1/admin/Categories List product categories in the admin console · Returns the EntitySet Categories #
Ask an LLM
“How do I pull every product category from the Commerce admin API?”
“Can I filter and sort the admin category list, or only page through it?”
Tell an agent
List all product categories from the admin API.
Show the first {top} admin categories matching {filter}.
POST /api/v1/admin/Categories Create a new product category · Post a new entity to EntitySet Categories #
Ask an LLM
“What fields are required when I add a new product category?”
“Can a new category be created under an existing parent category?”
Tell an agent
Create a category named {name} with URL segment {urlSegment}.
Add a new category {name} under parent category {parentId}.
GET /api/v1/admin/Categories({id}) Get one category by its id in the admin API · Returns the entity with the key from Categories #
Ask an LLM
“How can I look up a single category record by its id as an admin?”
“What does the admin API return for one specific category?”
Tell an agent
Fetch admin category {id}.
Show me the full admin record for category {id}.
PUT /api/v1/admin/Categories({id}) Replace a category record entirely · Replace entity in EntitySet Categories #
Ask an LLM
“Can I overwrite every field of an existing category in one call?”
“What happens to fields I leave out when I fully replace a category?”
Tell an agent
Replace category {id} with a full record named {name}.
Overwrite category {id} entirely, setting its page title to {pageTitle}.
DELETE /api/v1/admin/Categories({id}) Delete a single category by id · Delete entity in EntitySet Categories #
Ask an LLM
“How do I delete one category by its id?”
“Does removing a single category support an If-Match concurrency check?”
Tell an agent destructive · confirm first
Delete category {id}.
Delete category {id} only if its ETag still matches {etag}.
PATCH /api/v1/admin/Categories({id}) Update some fields on a category · Update entity in EntitySet Categories #
Ask an LLM
“Can I change just a category's meta description without resending everything?”
“Is there a way to mark an existing category as featured?”
Tell an agent
Update the meta description of category {id} to {metaDescription}.
Mark category {id} as featured.
GET /api/v1/admin/Categories/Default.Default() Get default values for a new category · Call operation Default #
Ask an LLM
“What default values does a brand-new category start with?”
“Is there a blank category template I can start from before creating one?”
Tell an agent
Get the default starting values for a new category.
Show me the empty category template the admin uses.
POST /api/v1/admin/Categories/Default.archive Archive categories via the OData archive action · Call operation archive #
Ask an LLM
“How do I archive several categories using the OData archive action?”
“Can I hide categories without permanently deleting them through the Default.archive call?”
Tell an agent destructive · confirm first
Run the OData archive action on categories {ids}.
Archive categories {ids} with the Default.archive action call.
GET /api/v1/admin/categories({key})/categoryPersonas List the personas assigned to a category · Categories get category personas by key #
Ask an LLM
“Which personas are linked to a given category?”
“Can I include archived persona assignments when listing a category's personas?”
Tell an agent
List the category persona assignments for category {key}.
Show the personas for category {key} using archive filter {archiveFilter}.
POST /api/v1/admin/categories/categoriesWithParents Get categories together with their parent chain · Categories get categories with parents #
Ask an LLM
“How can I get categories along with their parent categories in one response?”
“Is there a way to see the full parent hierarchy for my categories?”
Tell an agent
Fetch the categories with their parent categories included.
Return each category alongside its parent hierarchy.
DELETE /api/v1/admin/categories/archive Archive categories through the archive route · Categories archive route #
Ask an LLM
“Can I archive a batch of categories with a DELETE on the archive route?”
“What is the REST-style route for archiving categories by id list?”
Tell an agent destructive · confirm first
Archive categories {ids} using the categories/archive route.
Send the batch archive request for categories {ids}.
DELETE /api/v1/admin/categories/delete Permanently delete several categories at once · Categories delete route #
Ask an LLM
“How do I bulk delete multiple categories in one request?”
“Can I permanently remove a list of categories by their ids?”
Tell an agent destructive · confirm first
Bulk delete categories {ids}.
Permanently delete every category in the list {ids}.
GET /api/v1/admin/categories({key})/attributevalues({attributevalueKey}) Get an attribute value assigned to a category · Categories get attribute value by key and attributevaluekey #
Ask an LLM
“How do I read one attribute value attached to a category?”
“Can I check whether a specific attribute value belongs to a category?”
Tell an agent
Get attribute value {attributevalueKey} on category {key}.
Show the attribute value {attributevalueKey} linked to category {key}.
GET /api/v1/admin/categories({key})/categoryattributetypes({categoryattributetypeKey}) Get an attribute type configured on a category · Categories get category attribute type by key and categoryattributetypekey #
Ask an LLM
“Which attribute type settings apply to a given category?”
“Can I look up one category attribute type assignment by its key?”
Tell an agent
Get category attribute type {categoryattributetypeKey} for category {key}.
Show how attribute type {categoryattributetypeKey} is configured on category {key}.
GET /api/v1/admin/categories({key})/categoryrelatedproducts({categoryrelatedproductKey}) Get a related product link on a category · Categories get category related product by key and categoryrelatedproductkey #
Ask an LLM
“How can I see one related-product entry set up for a category?”
“What details are stored for a category's related product?”
Tell an agent
Get category related product {categoryrelatedproductKey} on category {key}.
Show related-product entry {categoryrelatedproductKey} for category {key}.
GET /api/v1/admin/categories({key})/customproperties({custompropertyKey}) Get a custom property on a category · Categories get custom property by key and custompropertykey #
Ask an LLM
“How do I read a custom property value stored on a category?”
“Can I fetch one specific custom field from a category record?”
Tell an agent
Get custom property {custompropertyKey} of category {key}.
Show the value of custom property {custompropertyKey} on category {key}.
GET /api/v1/admin/categories({key})/dealers({dealerKey}) Get a dealer associated with a category · Categories get dealer by key and dealerkey #
Ask an LLM
“Which dealer record is tied to a particular category?”
“Can I confirm that a dealer is assigned to a category?”
Tell an agent
Get dealer {dealerKey} assigned to category {key}.
Show the dealer {dealerKey} linked with category {key}.
GET /api/v1/admin/categories({key})/documents({documentKey}) Get a document attached to a category · Categories get document by key and documentkey #
Ask an LLM
“How do I retrieve a document attached to a category?”
“Can categories carry documents like spec sheets I can look up individually?”
Tell an agent
Get document {documentKey} attached to category {key}.
Open the category document {documentKey} for category {key}.
GET /api/v1/admin/categories({key})/personas({personaKey}) Get one persona targeted by a category · Categories get persona by key and personakey #
Ask an LLM
“Can I look up a single persona that a category targets?”
“What persona details come back for one category persona key?”
Tell an agent
Get persona {personaKey} on category {key}.
Show the single persona {personaKey} that category {key} targets.
GET /api/v1/admin/categories({key})/products({productKey}) Get a product assigned to a category · Categories get product by key and productkey #
Ask an LLM
“How do I check a specific product inside a category?”
“Can I fetch one product through the category it belongs to?”
Tell an agent
Get product {productKey} within category {key}.
Show product {productKey} as assigned to category {key}.
GET /api/v1/admin/categories({key})/specifications({specificationKey}) Get a specification on a category · Categories get specification by key and specificationkey #
Ask an LLM
“Where do I read a specification entry defined for a category?”
“Can a category have specifications I can retrieve one at a time?”
Tell an agent
Get specification {specificationKey} of category {key}.
Show the specification {specificationKey} content for category {key}.
GET /api/v1/admin/categories({key})/subcategories({categoryKey}) Get a subcategory of a category · Categories get sub category by key and categorykey #
Ask an LLM
“How do I get one child subcategory under a parent category?”
“Can I confirm a category is a subcategory of another one?”
Tell an agent
Get subcategory {categoryKey} under category {key}.
Show child category {categoryKey} of parent category {key}.
GET /api/v1/admin/categories({key})/taxexemptions({taxexemptionKey}) Get a tax exemption linked to a category · Categories get tax exemption by key and taxexemptionkey #
Ask an LLM
“Which tax exemption applies to products in a category?”
“Can I look up one tax exemption assigned to a category?”
Tell an agent
Get tax exemption {taxexemptionKey} on category {key}.
Show tax exemption {taxexemptionKey} for category {key}.
GET /api/v1/categories Browse the storefront category tree · Categories V1 get collection async #
Ask an LLM
“How do I get the category navigation tree for my storefront?”
“Can I limit how many levels deep the storefront category tree goes?”
Tell an agent
Get the storefront category tree down to depth {maxDepth}.
Load the storefront categories beneath category {startCategoryId}.
GET /api/v1/categories/{categoryId} Get a category as shoppers see it on the storefront · Categories V1 get by id async #
Ask an LLM
“How do I load one category for display on the storefront?”
“What does a shopper-facing category record include?”
Tell an agent
Get storefront category {categoryId}.
Load the shopper-facing details for category {categoryId}.
GET /api/v1/categories/feederData Get category feeder data for a storefront widget · Categories V1 get feeder data #
Ask an LLM
“What is category feeder data and how do I request it by type?”
“Can I pull the category feed that populates storefront widgets?”
Tell an agent
Get category feeder data of type {type}.
Load the {type} category feed for the storefront.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/optimizely:optimizely-categories-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

optimizely-categories-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Optimizely Categories API
  version: '1.0'
  description: 'Operations tagged Categories across 2 of this provider''s published API definitions: optimizely-configured-commerce-admin-api-v1-openapi.json, optimizely-configured-commerce-storefront-api-v1-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://dogfood.commerce.insitesandbox.com
security: []
tags:
- name: Categories
paths:
  /api/v1/admin/Categories:
    get:
      tags:
      - Categories
      summary: Returns the EntitySet Categories
      operationId: Categories_Get
      parameters:
      - name: $expand
        in: query
        description: Expands related entities inline.
        required: false
        schema:
          type: string
      - name: $filter
        in: query
        description: Filters the results, based on a Boolean condition.
        required: false
        schema:
          type: string
      - name: $select
        in: query
        description: Selects which properties to include in the response.
        required: false
        schema:
          type: string
      - name: $apply
        in: query
        description: Aggregates the results according to one or more transformations.
        required: false
        schema:
          type: string
      - name: $orderby
        in: query
        description: Sorts the results.
        required: false
        schema:
          type: string
      - name: $top
        in: query
        description: Returns only the first n results.
        required: false
        schema:
          type: integer
          format: int32
      - name: $skip
        in: query
        description: Skips the first n results.
        required: false
        schema:
          type: integer
          format: int32
      - name: $count
        in: query
        description: Includes a count of the matching results in the response.
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
    post:
      tags:
      - Categories
      summary: Post a new entity to EntitySet Categories
      operationId: Categories_Post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Insite.Data.Entities.Category'
        description: The entity to post
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/admin/Categories({id}):
    get:
      tags:
      - Categories
      summary: Returns the entity with the key from Categories
      operationId: Categories_GetById
      parameters:
      - name: id
        in: path
        description: 'key: id'
        required: true
        schema:
          type: string
          format: uuid
      - name: $expand
        in: query
        description: Expands related entities inline.
        required: false
        schema:
          type: string
      - name: $select
        in: query
        description: Selects which properties to include in the response.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
    put:
      tags:
      - Categories
      summary: Replace entity in EntitySet Categories
      operationId: Categories_PutById
      parameters:
      - name: id
        in: path
        description: 'key: id'
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Insite.Data.Entities.Category'
        description: The entity to put
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
    delete:
      tags:
      - Categories
      summary: Delete entity in EntitySet Categories
      operationId: Categories_DeleteById
      parameters:
      - name: id
        in: path
        description: 'key: id'
        required: true
        schema:
          type: string
          format: uuid
      - name: If-Match
        in: header
        description: If-Match header
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
    patch:
      tags:
      - Categories
      summary: Update entity in EntitySet Categories
      operationId: Categories_PatchById
      parameters:
      - name: id
        in: path
        description: 'key: id'
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Insite.Data.Entities.Category'
        description: The entity to patch
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/admin/Categories/Default.Default():
    get:
      tags:
      - Categories
      summary: Call operation Default
      operationId: Categories_Default
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/admin/Categories/Default.archive:
    post:
      tags:
      - Categories
      summary: Call operation archive
      operationId: Categories_Archive
      parameters:
      - name: ids
        in: query
        required: true
        explode: true
        schema:
          type: array
          items:
            type: string
            format: uuid
      requestBody:
        $ref: '#/components/requestBodies/Affiliates_ArchiveParameters'
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/admin/categories({key})/categoryPersonas:
    get:
      tags:
      - Categories
      operationId: Categories_GetCategoryPersonasByKey
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: archiveFilter
        in: query
        required: false
        schema:
          type: integer
          format: int32
          enum:
          - 0
          - 1
          - 2
      - name: $expand
        in: query
        description: Expands related entities inline.
        required: false
        schema:
          type: string
      - name: $select
        in: query
        description: Selects which properties to include in the response.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
      summary: Categories get category personas by key
      x-summary-source: derived
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/admin/categories/categoriesWithParents:
    post:
      tags:
      - Categories
      operationId: Categories_GetCategoriesWithParents
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                format: uuid
                type: string
                example: 00000000-0000-0000-0000-000000000000
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
      summary: Categories get categories with parents
      x-summary-source: derived
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/admin/categories/archive:
    delete:
      tags:
      - Categories
      operationId: Categories_ArchiveRoute
      parameters:
      - name: ids
        in: query
        required: true
        explode: true
        schema:
          type: array
          items:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
      summary: Categories archive route
      x-summary-source: derived
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/admin/categories/delete:
    delete:
      tags:
      - Categories
      operationId: Categories_DeleteRoute
      parameters:
      - name: ids
        in: query
        required: true
        explode: true
        schema:
          type: array
          items:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
      summary: Categories delete route
      x-summary-source: derived
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/admin/categories({key})/attributevalues({attributevalueKey}):
    get:
      tags:
      - Categories
      operationId: Categories_GetAttributeValueByKeyAndAttributevaluekey
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: attributevalueKey
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: $expand
        in: query
        description: Expands related entities inline.
        required: false
        schema:
          type: string
      - name: $select
        in: query
        description: Selects which properties to include in the response.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
      summary: Categories get attribute value by key and attributevaluekey
      x-summary-source: derived
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/admin/categories({key})/categoryattributetypes({categoryattributetypeKey}):
    get:
      tags:
      - Categories
      operationId: Categories_GetCategoryAttributeTypeByKeyAndCategoryattributetypekey
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: categoryattributetypeKey
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: $expand
        in: query
        description: Expands related entities inline.
        required: false
        schema:
          type: string
      - name: $select
        in: query
        description: Selects which properties to include in the response.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
      summary: Categories get category attribute type by key and categoryattributetypekey
      x-summary-source: derived
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/admin/categories({key})/categoryrelatedproducts({categoryrelatedproductKey}):
    get:
      tags:
      - Categories
      operationId: Categories_GetCategoryRelatedProductByKeyAndCategoryrelatedproductkey
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: categoryrelatedproductKey
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: $expand
        in: query
        description: Expands related entities inline.
        required: false
        schema:
          type: string
      - name: $select
        in: query
        description: Selects which properties to include in the response.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
      summary: Categories get category related product by key and categoryrelatedproductkey
      x-summary-source: derived
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/admin/categories({key})/customproperties({custompropertyKey}):
    get:
      tags:
      - Categories
      operationId: Categories_GetCustomPropertyByKeyAndCustompropertykey
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: custompropertyKey
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: $expand
        in: query
        description: Expands related entities inline.
        required: false
        schema:
          type: string
      - name: $select
        in: query
        description: Selects which properties to include in the response.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
      summary: Categories get custom property by key and custompropertykey
      x-summary-source: derived
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/admin/categories({key})/dealers({dealerKey}):
    get:
      tags:
      - Categories
      operationId: Categories_GetDealerByKeyAndDealerkey
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: dealerKey
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: $expand
        in: query
        description: Expands related entities inline.
        required: false
        schema:
          type: string
      - name: $select
        in: query
        description: Selects which properties to include in the response.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
      summary: Categories get dealer by key and dealerkey
      x-summary-source: derived
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/admin/categories({key})/documents({documentKey}):
    get:
      tags:
      - Categories
      operationId: Categories_GetDocumentByKeyAndDocumentkey
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: documentKey
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: $expand
        in: query
        description: Expands related entities inline.
        required: false
        schema:
          type: string
      - name: $select
        in: query
        description: Selects which properties to include in the response.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
      summary: Categories get document by key and documentkey
      x-summary-source: derived
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/admin/categories({key})/personas({personaKey}):
    get:
      tags:
      - Categories
      operationId: Categories_GetPersonaByKeyAndPersonakey
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: personaKey
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: $expand
        in: query
        description: Expands related entities inline.
        required: false
        schema:
          type: string
      - name: $select
        in: query
        description: Selects which properties to include in the response.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
      summary: Categories get persona by key and personakey
      x-summary-source: derived
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/admin/categories({key})/products({productKey}):
    get:
      tags:
      - Categories
      operationId: Categories_GetProductByKeyAndProductkey
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: productKey
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: $expand
        in: query
        description: Expands related entities inline.
        required: false
        schema:
          type: string
      - name: $select
        in: query
        description: Selects which properties to include in the response.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
      summary: Categories get product by key and productkey
      x-summary-source: derived
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/admin/categories({key})/specifications({specificationKey}):
    get:
      tags:
      - Categories
      operationId: Categories_GetSpecificationByKeyAndSpecificationkey
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: specificationKey
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: $expand
        in: query
        description: Expands related entities inline.
        required: false
        schema:
          type: string
      - name: $select
        in: query
        description: Selects which properties to include in the response.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
      summary: Categories get specification by key and specificationkey
      x-summary-source: derived
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/admin/categories({key})/subcategories({categoryKey}):
    get:
      tags:
      - Categories
      operationId: Categories_GetSubCategoryByKeyAndCategorykey
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: categoryKey
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: $expand
        in: query
        description: Expands related entities inline.
        required: false
        schema:
          type: string
      - name: $select
        in: query
        description: Selects which properties to include in the response.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
      summary: Categories get sub category by key and categorykey
      x-summary-source: derived
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/admin/categories({key})/taxexemptions({taxexemptionKey}):
    get:
      tags:
      - Categories
      operationId: Categories_GetTaxExemptionByKeyAndTaxexemptionkey
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: taxexemptionKey
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: $expand
        in: query
        description: Expands related entities inline.
        required: false
        schema:
          type: string
      - name: $select
        in: query
        description: Selects which properties to include in the response.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
      summary: Categories get tax exemption by key and taxexemptionkey
      x-summary-source: derived
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/categories:
    get:
      tags:
      - Categories
      operationId: CategoriesV1_GetCollectionAsync
      parameters:
      - name: parameter.maxDepth
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: parameter.startCategoryId
        in: query
        required: false
        schema:
          type: string
          format: uuid
      - name: parameter.includeStartCategory
        in: query
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Catalog.WebApi.V1.ApiModels.CategoryCollectionModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Catalog.WebApi.V1.ApiModels.CategoryCollectionModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Catalog.WebApi.V1.ApiModels.CategoryCollectionModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Catalog.WebApi.V1.ApiModels.CategoryCollectionModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Catalog.WebApi.V1.ApiModels.CategoryCollectionModel'
      summary: Categories V1 get collection async
      x-summary-source: derived
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/categories/{categoryId}:
    get:
      tags:
      - Categories
      operationId: CategoriesV1_GetByIdAsync
      parameters:
      - name: categoryId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Catalog.WebApi.V1.ApiModels.CategoryModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Catalog.WebApi.V1.ApiModels.CategoryModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Catalog.WebApi.V1.ApiModels.CategoryModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Catalog.WebApi.V1.ApiModels.CategoryModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Catalog.WebApi.V1.ApiModels.CategoryModel'
      summary: Categories V1 get by id async
      x-summary-source: derived
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/categories/feederData:
    get:
      tags:
      - Categories
      operationId: CategoriesV1_GetFeederData
      parameters:
      - name: type
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
            text/json:
              schema:
                type: object
            application/xml:
              schema:
                type: object
            text/xml:
              schema:
                type: object
            text/html:
              schema:
                type: object
      summary: Categories V1 get feeder data
      x-summary-source: derived
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
components:
  schemas:
    Insite.Data.Entities.Category:
      required:
      - erpProductValues
      - imageAltText
      - largeImagePath
      - metaDescription
      - metaKeywords
      - name
      - pageTitle
      - shortDescription
      - smallImagePath
      - urlSegment
      type: object
      properties:
        id:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        activateOn:
          format: date-time
          type: string
        contentManagerId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        deactivateOn:
          format: date-time
          type: string
        erpProductValues:
          type: string
        imageAltText:
          maxLength: 1024
          minLength: 0
          type: string
        isDynamic:
          type: boolean
        isFeatured:
          type: boolean
        largeImagePath:
          maxLength: 1024
          minLength: 0
          type: string
        metaDescription:
          type: string
        metaKeywords:
          type: string
        name:
          maxLength: 255
          minLength: 0
          type: string
        pageTitle:
          maxLength: 1024
          minLength: 0
          type: string
        parentId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        ruleManagerId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        shortDescription:
          maxLength: 255
          minLength: 0
          type: string
        showDetail:
          type: boolean
        smallImagePath:
          maxLength: 1024
          minLength: 0
          type: string
        sortOrder:
          format: int32
          type: integer
        searchBoost:
          format: decimal
          type: number
        productSearchBoost:
          format: decimal
          type: number
        urlSegment:
          maxLength: 255
          minLength: 0
          type: string
        websiteId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        openGraphTitle:
          maxLength: 2048
          minLength: 0
          type: string
        openGraphUrl:
          maxLength: 2048
          minLength: 0
          type: string
        openGraphImage:
          maxLength: 1024
          minLength: 0
          type: string
        mobileBannerImageUrl:
          maxLength: 1024
          minLength: 0
          type: string
        mobilePrimaryText:
          maxLength: 1024
          minLength: 0
          type: string
        mobileSecondaryText:
          maxLength: 1024
          minLength: 0
          type: string
        mobileTextJustification:
          maxLength: 32
          minLength: 0
          type: string
        mobileTextColor:
          maxLength: 8
          minLength: 0
          type: string
        excludeFromRecommendations:
          type: boolean
        pimCategoryId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        createdOn:
          format: date-time
          type: string
        createdBy:
          type: string
        modifiedOn:
          format: date-time
          type: string
        modifiedBy:
          type: string
    Insite.Catalog.WebApi.V1.ApiModels.CategoryModel:
      type: object
      properties:
        uri:
          type: string
        id:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        parentId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        name:
          type: string
        shortDescription:
          type: string
        urlSegment:
          type: string
        smallImagePath:
          type: string
        largeImagePath:
          type: string
        imageAltText:
          type: string
        activateOn:
          format: date-time
          type: string
        deactivateOn:
          format: date-time
          type: string
        metaKeywords:
          type: string
        metaDescription:
          type: string
        htmlContent:
          type: string
        sortOrder:
          format: int32
          type: integer
        isFeatured:
          type: boolean
        isDynamic:
          type: boolean
        subCategories:
          type: array
          items:
            $ref: '#/components/schemas/Insite.Catalog.WebApi.V1.ApiModels.CategoryModel'
        path:
          type: string
        mobileBannerImageUrl:
          type: string
        mobilePrimaryText:
          type: string
        mobileSecondaryText:
          type: string
        mobileTextJustification:
          type: string
        mobileTextColor:
          type: string
        properties:
          type: object
          additionalProperties:
            type: string
    Insite.Catalog.WebApi.V1.ApiModels.CategoryCollectionModel:
      type: object
      properties:
        uri:
          type: string
        categories:
          type: array
          items:
            $ref: '#/components/schemas/Insite.Catalog.WebApi.V1.ApiModels.CategoryModel'
        properties:
          type: object
          additionalProperties:
            type: string
  requestBodies:
    Affiliates_ArchiveParameters:
      content:
        application/json:
          schema:
            type: object
            properties: {}
      description: archive action parameters
  securitySchemes:
    access_token:
      type: apiKey
      description: Token used to access storefront API.
      name: access_token
      in: query
x-refined-from:
- optimizely-configured-commerce-admin-api-v1-openapi.json
- optimizely-configured-commerce-storefront-api-v1-openapi.json