Optimizely Specifications API

The Specifications API from Optimizely — 7 operation(s) for specifications.

Operations 11

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/Specifications List product specifications · Returns the EntitySet Specifications #
Ask an LLM
“How do I list all product specifications in the commerce admin?”
“Can I filter specifications to only the active ones for a product?”
Tell an agent
List all product specifications.
Find specifications matching {filter}.
POST /api/v1/admin/Specifications Create a product specification · Post a new entity to EntitySet Specifications #
Ask an LLM
“How do I add a new specification like dimensions or material to a product?”
“Can I attach a specification to a category instead of a product?”
Tell an agent
Create a specification named {name} with value {value} and description {description}.
Add specification {name} = {value} to product {productId}, described as {description}.
GET /api/v1/admin/Specifications({id}) Get a product specification · Returns the entity with the key from Specifications #
Ask an LLM
“How do I look up one specification by its ID?”
“What value and description does a given specification hold?”
Tell an agent
Get specification {id}.
Show the details of specification {id}.
PUT /api/v1/admin/Specifications({id}) Replace a product specification · Replace entity in EntitySet Specifications #
Ask an LLM
“How do I overwrite an entire specification record?”
“Does a full replace of a specification clear fields I omit?”
Tell an agent
Replace specification {id} with name {name}, value {value} and description {description}.
Overwrite all fields of specification {id}.
DELETE /api/v1/admin/Specifications({id}) Delete a product specification · Delete entity in EntitySet Specifications #
Ask an LLM
“How do I permanently delete a single specification?”
“Can I make a specification delete conditional on its ETag?”
Tell an agent destructive · confirm first
Delete specification {id}.
Delete specification {id} if its ETag matches {etag}.
PATCH /api/v1/admin/Specifications({id}) Update a product specification · Update entity in EntitySet Specifications #
Ask an LLM
“How do I change only the value of an existing specification?”
“Can I deactivate a specification without deleting it?”
Tell an agent
Set the value of specification {id} to {value}.
Mark specification {id} as inactive.
GET /api/v1/admin/Specifications/Default.Default() Get a default specification template · Call operation Default #
Ask an LLM
“What default values does a new specification start with?”
“Can I fetch a blank specification template?”
Tell an agent
Fetch the default specification template.
Show me the defaults for a new specification.
POST /api/v1/admin/Specifications/Default.archive Archive specifications via the archive action · Call operation archive #
Ask an LLM
“How do I archive several specifications using the OData archive action?”
“Can I archive specifications with a POST instead of a DELETE?”
Tell an agent destructive · confirm first
Run the archive action on specifications {ids}.
POST an archive for specification IDs {ids}.
DELETE /api/v1/admin/specifications/archive Archive specifications via the archive route · Specifications archive route #
Ask an LLM
“How do I archive specifications through the DELETE archive route?”
“Is there a route that archives specifications rather than deleting them outright?”
Tell an agent destructive · confirm first
Archive specifications {ids} using the DELETE archive route.
Send specifications {ids} to the archive route.
DELETE /api/v1/admin/specifications/delete Bulk delete specifications · Specifications delete route #
Ask an LLM
“How do I permanently delete many specifications at once?”
“Can I remove a batch of specifications by ID list?”
Tell an agent destructive · confirm first
Bulk delete the specifications with IDs {ids}.
Permanently remove specifications {ids} in one call.
GET /api/v1/admin/specifications({key})/customproperties({custompropertyKey}) Get a custom property on a specification · Specifications get custom property by key and custompropertykey #
Ask an LLM
“How do I read a custom property stored on a specification?”
“Can I fetch one extra property value from a specification?”
Tell an agent
Get custom property {custompropertyKey} on specification {key}.
Show specification {key}'s custom property {custompropertyKey}.

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-specifications-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-specifications-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: admin-v1
  title: Admin API V1 Specifications API
servers:
- url: https://dogfood.commerce.insitesandbox.com
security: []
tags:
- name: Specifications
paths:
  /api/v1/admin/Specifications:
    get:
      tags:
      - Specifications
      summary: Returns the EntitySet Specifications
      operationId: Specifications_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:
      - Specifications
      summary: Post a new entity to EntitySet Specifications
      operationId: Specifications_Post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Insite.Data.Entities.Specification'
        description: The entity to post
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/Specifications({id}):
    get:
      tags:
      - Specifications
      summary: Returns the entity with the key from Specifications
      operationId: Specifications_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:
      - Specifications
      summary: Replace entity in EntitySet Specifications
      operationId: Specifications_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.Specification'
        description: The entity to put
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
    delete:
      tags:
      - Specifications
      summary: Delete entity in EntitySet Specifications
      operationId: Specifications_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:
      - Specifications
      summary: Update entity in EntitySet Specifications
      operationId: Specifications_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.Specification'
        description: The entity to patch
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/Specifications/Default.Default():
    get:
      tags:
      - Specifications
      summary: Call operation Default
      operationId: Specifications_Default
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/Specifications/Default.archive:
    post:
      tags:
      - Specifications
      summary: Call operation archive
      operationId: Specifications_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/specifications/archive:
    delete:
      tags:
      - Specifications
      operationId: Specifications_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: Specifications archive route
      x-summary-source: derived
  /api/v1/admin/specifications/delete:
    delete:
      tags:
      - Specifications
      operationId: Specifications_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: Specifications delete route
      x-summary-source: derived
  /api/v1/admin/specifications({key})/customproperties({custompropertyKey}):
    get:
      tags:
      - Specifications
      operationId: Specifications_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: Specifications get custom property by key and custompropertykey
      x-summary-source: derived
components:
  schemas:
    Insite.Data.Entities.Specification:
      required:
      - description
      - name
      - value
      type: object
      properties:
        id:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        categoryId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        productId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        contentManagerId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        description:
          maxLength: 255
          minLength: 0
          type: string
        isActive:
          type: boolean
        name:
          maxLength: 100
          minLength: 0
          type: string
        sortOrder:
          format: decimal
          type: number
        value:
          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