Optimizely Plugins API

The Plugins API from Optimizely — 7 operation(s) for plugins.

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/Plugins List plugins · Returns the EntitySet Plugins #
Ask an LLM
“Which integration plugins are registered in the commerce admin?”
“Can I filter plugins to only active ones?”
Tell an agent
List all plugins.
Find plugins matching {filter}.
POST /api/v1/admin/Plugins Register a plugin · Post a new entity to EntitySet Plugins #
Ask an LLM
“How do I register a new integration plugin with its interface and version?”
“What's required to add a plugin, like connection name and full type name?”
Tell an agent
Register plugin {name} version {version} implementing {interfaceName}.
Add plugin {fullName} on connection {connectionName}.
GET /api/v1/admin/Plugins({id}) Get a plugin · Returns the entity with the key from Plugins #
Ask an LLM
“Can I see one plugin's interface, version and connection?”
“Is a specific plugin active?”
Tell an agent
Show plugin {id}.
Get details of plugin {id}.
PUT /api/v1/admin/Plugins({id}) Replace a plugin · Replace entity in EntitySet Plugins #
Ask an LLM
“How do I overwrite a plugin record completely?”
“Does a full plugin replace need every required field again?”
Tell an agent
Replace plugin {id} with a full record at version {version}.
Overwrite all fields of plugin {id}.
DELETE /api/v1/admin/Plugins({id}) Delete a plugin · Delete entity in EntitySet Plugins #
Ask an LLM
“How do I permanently delete a plugin?”
“Can a plugin delete be conditional on an ETag?”
Tell an agent destructive · confirm first
Delete plugin {id}.
Delete plugin {id} if its ETag is {etag}.
PATCH /api/v1/admin/Plugins({id}) Update fields on a plugin · Update entity in EntitySet Plugins #
Ask an LLM
“Can I deactivate a plugin without replacing it?”
“How do I change only a plugin's description?”
Tell an agent
Set plugin {id} active status to {isActive}.
Update the description of plugin {id} to {description}.
GET /api/v1/admin/Plugins/Default.Default() Get default values for a new plugin · Call operation Default #
Ask an LLM
“What defaults does a new plugin record start with?”
“Is there an empty plugin template?”
Tell an agent
Get the default plugin template.
Show prefilled defaults for a new plugin.
POST /api/v1/admin/Plugins/Default.archive Archive plugins via OData action · Call operation archive #
Ask an LLM
“Can I archive plugins using the OData archive action?”
“How do I retire plugins with a POST rather than deleting them?”
Tell an agent
Archive plugins {ids} using the Default.archive action.
Run the archive action for plugins {ids}.
DELETE /api/v1/admin/plugins/archive Archive plugins via route · Plugins archive route #
Ask an LLM
“Which endpoint archives plugins with a DELETE to the archive path?”
“Can I archive several plugins through the archive route?”
Tell an agent destructive · confirm first
Archive plugins {ids} through the /archive route.
Send plugins {ids} to archive using the DELETE archive endpoint.
DELETE /api/v1/admin/plugins/delete Bulk delete plugins · Plugins delete route #
Ask an LLM
“Can I permanently delete many plugins at once?”
“How do I bulk remove plugins by ID?”
Tell an agent destructive · confirm first
Bulk delete plugins {ids}.
Permanently remove the plugins with IDs {ids}.
GET /api/v1/admin/plugins({key})/customproperties({custompropertyKey}) Get a custom property on a plugin · Plugins get custom property by key and custompropertykey #
Ask an LLM
“Can I read a custom property stored on a plugin?”
“Where are extra custom fields for a plugin kept?”
Tell an agent
Show custom property {property} on plugin {key}.
Get plugin {key}'s custom field {property}.

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