Optimizely Customer Product Sets API

The Customer Product Sets API from Optimizely — 8 operation(s) for customer product sets.

Operations 12

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/CustomerProductSets List customer product sets · Returns the EntitySet CustomerProductSets #
Ask an LLM
“Which customer-specific product sets exist in my commerce admin?”
“Can I filter product sets to one customer with an OData query?”
Tell an agent
List all customer product sets.
List customer product sets matching {filter}.
POST /api/v1/admin/CustomerProductSets Create a customer product set · Post a new entity to EntitySet CustomerProductSets #
Ask an LLM
“How do I create a curated set of products for a specific customer?”
“Can a new customer product set have activation and deactivation dates?”
Tell an agent
Create product set {name} for customer {customerId} described as {description}.
Add a product set {name} active from {activateOn} to {deactivateOn}.
GET /api/v1/admin/CustomerProductSets({id}) Get a customer product set · Returns the entity with the key from CustomerProductSets #
Ask an LLM
“What customer and dates are attached to one product set?”
“Can I expand the products when fetching a single customer product set?”
Tell an agent
Get customer product set {id}.
Fetch product set {id} expanding {expand}.
PUT /api/v1/admin/CustomerProductSets({id}) Replace a customer product set · Replace entity in EntitySet CustomerProductSets #
Ask an LLM
“How do I overwrite a customer product set's whole record?”
“Can I resend name, description and dates to fully replace a product set?”
Tell an agent
Replace product set {id} with name {name} and description {description}.
Overwrite the full record of customer product set {id} for customer {customerId}.
DELETE /api/v1/admin/CustomerProductSets({id}) Delete one customer product set · Delete entity in EntitySet CustomerProductSets #
Ask an LLM
“How do I remove a single customer product set by id?”
“Can a product set delete be guarded by an If-Match ETag?”
Tell an agent destructive · confirm first
Delete customer product set {id}.
Delete product set {id} only if its ETag is still {etag}.
PATCH /api/v1/admin/CustomerProductSets({id}) Update fields on a customer product set · Update entity in EntitySet CustomerProductSets #
Ask an LLM
“Can I just change the end date of a customer product set?”
“How do I rename a product set without resending the rest?”
Tell an agent
Set product set {id} to deactivate on {deactivateOn}.
Rename customer product set {id} to {name}.
GET /api/v1/admin/CustomerProductSets/Default.Default() Get default values for a new product set · Call operation Default #
Ask an LLM
“What defaults does a new customer product set start with?”
“Is there a blank product set template for a create form?”
Tell an agent
Get the default template for a customer product set.
Fetch an empty customer product set with default values.
POST /api/v1/admin/CustomerProductSets/Default.archive Archive product sets via the archive action · Call operation archive #
Ask an LLM
“Can I archive several customer product sets rather than delete them?”
“Which POST action archives product sets from a list of ids?”
Tell an agent
Archive customer product sets {ids} with the POST archive action.
Run Default.archive on product sets {ids}.
DELETE /api/v1/admin/customerproductsets/archive Archive product sets via the DELETE archive route · Customer product sets archive route #
Ask an LLM
“Is there a DELETE-verb route for archiving customer product sets?”
“How do I archive product sets through the customerproductsets/archive endpoint?”
Tell an agent destructive · confirm first
Call the DELETE archive route for product sets {ids}.
Archive product sets {ids} via the customerproductsets/archive route.
DELETE /api/v1/admin/customerproductsets/delete Bulk delete customer product sets · Customer product sets delete route #
Ask an LLM
“Can I permanently delete many customer product sets in one call?”
“How do I bulk-remove product sets by id list?”
Tell an agent destructive · confirm first
Bulk delete customer product sets {ids}.
Permanently remove all product sets in {ids}.
GET /api/v1/admin/customerproductsets({key})/customproperties({custompropertyKey}) Get a custom property on a product set · Customer product sets get custom property by key and custompropertykey #
Ask an LLM
“What custom property values are stored on a customer product set?”
“Can I read one custom attribute of a product set?”
Tell an agent
Get custom property {custompropertyKey} on product set {key}.
Read extra attribute {custompropertyKey} of customer product set {key}.
GET /api/v1/admin/customerproductsets({key})/products({productKey}) Get a product within a customer product set · Customer product sets get product by key and productkey #
Ask an LLM
“Is a particular product included in a customer's product set?”
“Can I fetch one product that belongs to a product set?”
Tell an agent
Get product {productKey} in customer product set {key}.
Check that product {productKey} is part of product set {key}.

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-customer-product-sets-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-customer-product-sets-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: admin-v1
  title: Admin API V1 Customer Product Sets API
servers:
- url: https://dogfood.commerce.insitesandbox.com
security: []
tags:
- name: Customer Product Sets
paths:
  /api/v1/admin/CustomerProductSets:
    get:
      tags:
      - Customer Product Sets
      summary: Returns the EntitySet CustomerProductSets
      operationId: CustomerProductSets_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:
      - Customer Product Sets
      summary: Post a new entity to EntitySet CustomerProductSets
      operationId: CustomerProductSets_Post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Insite.Data.Entities.CustomerProductSet'
        description: The entity to post
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/CustomerProductSets({id}):
    get:
      tags:
      - Customer Product Sets
      summary: Returns the entity with the key from CustomerProductSets
      operationId: CustomerProductSets_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:
      - Customer Product Sets
      summary: Replace entity in EntitySet CustomerProductSets
      operationId: CustomerProductSets_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.CustomerProductSet'
        description: The entity to put
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
    delete:
      tags:
      - Customer Product Sets
      summary: Delete entity in EntitySet CustomerProductSets
      operationId: CustomerProductSets_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:
      - Customer Product Sets
      summary: Update entity in EntitySet CustomerProductSets
      operationId: CustomerProductSets_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.CustomerProductSet'
        description: The entity to patch
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/CustomerProductSets/Default.Default():
    get:
      tags:
      - Customer Product Sets
      summary: Call operation Default
      operationId: CustomerProductSets_Default
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/CustomerProductSets/Default.archive:
    post:
      tags:
      - Customer Product Sets
      summary: Call operation archive
      operationId: CustomerProductSets_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: []
  /api/v1/admin/customerproductsets/archive:
    delete:
      tags:
      - Customer Product Sets
      operationId: CustomerProductSets_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: Customer product sets archive route
      x-summary-source: derived
  /api/v1/admin/customerproductsets/delete:
    delete:
      tags:
      - Customer Product Sets
      operationId: CustomerProductSets_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: Customer product sets delete route
      x-summary-source: derived
  /api/v1/admin/customerproductsets({key})/customproperties({custompropertyKey}):
    get:
      tags:
      - Customer Product Sets
      operationId: CustomerProductSets_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: Customer product sets get custom property by key and custompropertykey
      x-summary-source: derived
  /api/v1/admin/customerproductsets({key})/products({productKey}):
    get:
      tags:
      - Customer Product Sets
      operationId: CustomerProductSets_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: Customer product sets get product by key and productkey
      x-summary-source: derived
components:
  schemas:
    Insite.Data.Entities.CustomerProductSet:
      required:
      - description
      - name
      type: object
      properties:
        id:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        activateOn:
          format: date-time
          type: string
        customerId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        deactivateOn:
          format: date-time
          type: string
        description:
          maxLength: 255
          minLength: 0
          type: string
        name:
          maxLength: 255
          minLength: 0
          type: string
        createdOn:
          format: date-time
          type: string
        createdBy:
          type: string
        modifiedOn:
          format: date-time
          type: string
        modifiedBy:
          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