Optimizely Product Lines API

The Product Lines API from Optimizely — 6 operation(s) for product lines.

Operations 10

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/ProductLines List product lines · Returns the EntitySet ProductLines #
Ask an LLM
“Which product lines do we have in the catalog?”
“Can I list only featured product lines, sorted by sort order?”
Tell an agent
List all product lines.
List product lines matching {filter}, ordered by {orderby}.
POST /api/v1/admin/ProductLines Create a product line · Post a new entity to EntitySet ProductLines #
Ask an LLM
“How do I add a new product line under a brand?”
“Can a new product line be marked as featured or sponsored?”
Tell an agent
Create product line {name} with URL segment {urlSegment} for brand {brandId}.
Add a featured product line {name} at {urlSegment}, featured {isFeatured}.
GET /api/v1/admin/ProductLines({id}) Get a product line · Returns the entity with the key from ProductLines #
Ask an LLM
“How do I look up one product line's details and image settings?”
“Is a specific product line featured or sponsored?”
Tell an agent
Get product line {id}.
Show the settings of product line {id}.
PUT /api/v1/admin/ProductLines({id}) Replace a product line · Replace entity in EntitySet ProductLines #
Ask an LLM
“How do I overwrite a product line record completely?”
“Do I need to resend the image fields when replacing a product line?”
Tell an agent
Replace product line {id} with name {name} and URL segment {urlSegment}.
Fully overwrite product line {id} using image source {imageSource}.
DELETE /api/v1/admin/ProductLines({id}) Delete a product line · Delete entity in EntitySet ProductLines #
Ask an LLM
“How do I remove a product line from the catalog?”
“Can I delete a product line only if its ETag still matches?”
Tell an agent destructive · confirm first
Delete product line {id}.
Delete product line {id} if its ETag is {etag}.
PATCH /api/v1/admin/ProductLines({id}) Update a product line · Update entity in EntitySet ProductLines #
Ask an LLM
“How do I boost a product line in search results?”
“Can I mark an existing product line as sponsored?”
Tell an agent
Set search boost of product line {id} to {searchBoost}.
Mark product line {id} as sponsored {isSponsored}.
GET /api/v1/admin/ProductLines/Default.Default() Get the default product line template · Call operation Default #
Ask an LLM
“What default values does a new product line start with?”
“Where can I get a blank product line record?”
Tell an agent
Get the default product line template.
Show default values for a new product line.
DELETE /api/v1/admin/productlines/delete Bulk delete product lines · Product lines delete route #
Ask an LLM
“How do I delete several product lines in one request?”
“Can I remove a batch of product lines by id?”
Tell an agent destructive · confirm first
Delete product lines {ids}.
Bulk remove product lines with ids {ids}.
GET /api/v1/admin/productlines({key})/customproperties({custompropertyKey}) Get a product line custom property · Product lines get custom property by key and custompropertykey #
Ask an LLM
“How do I read a custom property on a product line?”
“Where is a single custom property value for a product line?”
Tell an agent
Get custom property {custompropertyKey} of product line {key}.
Show product line {key}'s custom property {custompropertyKey}.
GET /api/v1/admin/productlines({key})/products({productKey}) Get a product within a product line · Product lines get product by key and productkey #
Ask an LLM
“How do I check that a specific product belongs to a product line?”
“Can I fetch one product from a product line?”
Tell an agent
Get product {productKey} in product line {key}.
Show product {productKey} from product line {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-product-lines-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-product-lines-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: admin-v1
  title: Admin API V1 Product Lines API
servers:
- url: https://dogfood.commerce.insitesandbox.com
security: []
tags:
- name: Product Lines
paths:
  /api/v1/admin/ProductLines:
    get:
      tags:
      - Product Lines
      summary: Returns the EntitySet ProductLines
      operationId: ProductLines_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:
      - Product Lines
      summary: Post a new entity to EntitySet ProductLines
      operationId: ProductLines_Post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Insite.Data.Entities.ProductLine'
        description: The entity to post
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/ProductLines({id}):
    get:
      tags:
      - Product Lines
      summary: Returns the entity with the key from ProductLines
      operationId: ProductLines_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:
      - Product Lines
      summary: Replace entity in EntitySet ProductLines
      operationId: ProductLines_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.ProductLine'
        description: The entity to put
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
    delete:
      tags:
      - Product Lines
      summary: Delete entity in EntitySet ProductLines
      operationId: ProductLines_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:
      - Product Lines
      summary: Update entity in EntitySet ProductLines
      operationId: ProductLines_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.ProductLine'
        description: The entity to patch
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/ProductLines/Default.Default():
    get:
      tags:
      - Product Lines
      summary: Call operation Default
      operationId: ProductLines_Default
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/productlines/delete:
    delete:
      tags:
      - Product Lines
      operationId: ProductLines_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: Product lines delete route
      x-summary-source: derived
  /api/v1/admin/productlines({key})/customproperties({custompropertyKey}):
    get:
      tags:
      - Product Lines
      operationId: ProductLines_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: Product lines get custom property by key and custompropertykey
      x-summary-source: derived
  /api/v1/admin/productlines({key})/products({productKey}):
    get:
      tags:
      - Product Lines
      operationId: ProductLines_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: Product lines get product by key and productkey
      x-summary-source: derived
components:
  schemas:
    Insite.Data.Entities.ProductLine:
      required:
      - name
      - urlSegment
      - imageSource
      - dynamicImagePath
      - dynamicImageAltText
      - manualImagePath
      - manualImageAltText
      type: object
      properties:
        id:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        name:
          maxLength: 255
          minLength: 0
          type: string
        brandId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        urlSegment:
          maxLength: 255
          minLength: 0
          type: string
        isFeatured:
          type: boolean
        isSponsored:
          type: boolean
        searchBoost:
          format: decimal
          type: number
        sortOrder:
          format: int32
          type: integer
        imageSource:
          maxLength: 1024
          minLength: 0
          type: string
        manualImageProductId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        dynamicImagePath:
          maxLength: 1024
          minLength: 0
          type: string
        dynamicImageAltText:
          maxLength: 2048
          minLength: 0
          type: string
        manualImagePath:
          maxLength: 1024
          minLength: 0
          type: string
        manualImageAltText:
          maxLength: 2048
          minLength: 0
          type: string
        createdOn:
          format: date-time
          type: string
        createdBy:
          type: string
        modifiedOn:
          format: date-time
          type: string
        modifiedBy:
          type: string
  securitySchemes:
    access_token:
      type: apiKey
      description: Token used to access storefront API.
      name: access_token
      in: query