Optimizely Vendors API

The Vendors API from Optimizely — 6 operation(s) for vendors.

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/Vendors List vendors · Returns the EntitySet Vendors #
Ask an LLM
“How do I list all the vendors supplying products in Optimizely Configured Commerce?”
“Can I filter vendors by city or state and sort by ranking?”
Tell an agent
List all vendors.
List vendors matching {filter} sorted by {orderby}.
POST /api/v1/admin/Vendors Add a new vendor · Post a new entity to EntitySet Vendors #
Ask an LLM
“What contact and address details are required to set up a vendor?”
“Can I give a new vendor regular and sale markup percentages?”
Tell an agent
Create vendor {name} with vendor number {vendorNumber} and contact email {contactEmail}.
Add vendor {name} in {city}, {state} with a regular markup of {regularMarkup}.
GET /api/v1/admin/Vendors({id}) Get one vendor · Returns the entity with the key from Vendors #
Ask an LLM
“How can I pull a single vendor's contact details by ID?”
“Which related records can I expand when reading a vendor?”
Tell an agent
Show vendor {id}.
Get vendor {id} returning only {select}.
PUT /api/v1/admin/Vendors({id}) Replace a vendor record · Replace entity in EntitySet Vendors #
Ask an LLM
“Can I overwrite a vendor with a complete new record?”
“Do I need every required address field when replacing a vendor?”
Tell an agent
Replace vendor {id} with name {name} and vendor number {vendorNumber}.
Overwrite vendor {id} fully, with postal code {postalCode} and phone {phone}.
DELETE /api/v1/admin/Vendors({id}) Delete a vendor · Delete entity in EntitySet Vendors #
Ask an LLM
“How do I delete a single vendor?”
“Can a vendor delete be guarded by an If-Match ETag?”
Tell an agent destructive · confirm first
Delete vendor {id}.
Delete vendor {id} only if its ETag equals {etag}.
PATCH /api/v1/admin/Vendors({id}) Update a vendor's details · Update entity in EntitySet Vendors #
Ask an LLM
“Can I change just a vendor's contact person without resending the address?”
“How do I adjust only the sale markup for a vendor?”
Tell an agent
Patch vendor {id} so the contact is {contactName} at {contactEmail}.
Update vendor {id} sale markup to {saleMarkup}.
GET /api/v1/admin/Vendors/Default.Default() Get default values for a new vendor · Call operation Default #
Ask an LLM
“What defaults are pre-filled for a vendor before it's created?”
“Is there a blank vendor template?”
Tell an agent
Get the default vendor template.
Show pre-filled values for a new vendor.
DELETE /api/v1/admin/vendors/delete Delete several vendors · Vendors delete route #
Ask an LLM
“Can I bulk delete a list of vendors in one call?”
“How do I remove many vendors at once?”
Tell an agent destructive · confirm first
Bulk delete vendors {ids}.
Remove every vendor listed in {ids}.
GET /api/v1/admin/vendors({key})/customproperties({custompropertyKey}) Get a custom property on a vendor · Vendors get custom property by key and custompropertykey #
Ask an LLM
“Can I read a custom property stored on a vendor?”
“Where do extra custom attributes on a vendor live?”
Tell an agent
Get custom property {custompropertyKey} on vendor {key}.
Show vendor {key}'s custom property {custompropertyKey}.
GET /api/v1/admin/vendors({key})/products({productKey}) Get a product supplied by a vendor · Vendors get product by key and productkey #
Ask an LLM
“How do I check that a specific product is supplied by a given vendor?”
“Can I open one product record under a vendor?”
Tell an agent
Get product {productKey} supplied by vendor {key}.
Look up vendor {key}'s product {productKey}.

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-vendors-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-vendors-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: admin-v1
  title: Admin API V1 Vendors API
servers:
- url: https://dogfood.commerce.insitesandbox.com
security: []
tags:
- name: Vendors
paths:
  /api/v1/admin/Vendors:
    get:
      tags:
      - Vendors
      summary: Returns the EntitySet Vendors
      operationId: Vendors_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:
      - Vendors
      summary: Post a new entity to EntitySet Vendors
      operationId: Vendors_Post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Insite.Data.Entities.Vendor'
        description: The entity to post
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/Vendors({id}):
    get:
      tags:
      - Vendors
      summary: Returns the entity with the key from Vendors
      operationId: Vendors_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:
      - Vendors
      summary: Replace entity in EntitySet Vendors
      operationId: Vendors_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.Vendor'
        description: The entity to put
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
    delete:
      tags:
      - Vendors
      summary: Delete entity in EntitySet Vendors
      operationId: Vendors_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:
      - Vendors
      summary: Update entity in EntitySet Vendors
      operationId: Vendors_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.Vendor'
        description: The entity to patch
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/Vendors/Default.Default():
    get:
      tags:
      - Vendors
      summary: Call operation Default
      operationId: Vendors_Default
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/vendors/delete:
    delete:
      tags:
      - Vendors
      operationId: Vendors_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: Vendors delete route
      x-summary-source: derived
  /api/v1/admin/vendors({key})/customproperties({custompropertyKey}):
    get:
      tags:
      - Vendors
      operationId: Vendors_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: Vendors get custom property by key and custompropertykey
      x-summary-source: derived
  /api/v1/admin/vendors({key})/products({productKey}):
    get:
      tags:
      - Vendors
      operationId: Vendors_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: Vendors get product by key and productkey
      x-summary-source: derived
components:
  schemas:
    Insite.Data.Entities.Vendor:
      required:
      - vendorNumber
      - name
      - address1
      - address2
      - city
      - state
      - postalCode
      - websiteAddress
      - contactName
      - contactEmail
      - phone
      - vendorMessage
      type: object
      properties:
        id:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        vendorNumber:
          maxLength: 50
          minLength: 0
          type: string
        name:
          maxLength: 255
          minLength: 0
          type: string
        address1:
          maxLength: 100
          minLength: 0
          type: string
        address2:
          maxLength: 100
          minLength: 0
          type: string
        city:
          maxLength: 100
          minLength: 0
          type: string
        state:
          maxLength: 50
          minLength: 0
          type: string
        postalCode:
          maxLength: 50
          minLength: 0
          type: string
        websiteAddress:
          maxLength: 255
          minLength: 0
          type: string
        contactName:
          maxLength: 255
          minLength: 0
          type: string
        contactEmail:
          maxLength: 255
          minLength: 0
          type: string
        phone:
          maxLength: 50
          minLength: 0
          type: string
        ranking:
          format: int32
          type: integer
        regularMarkup:
          format: decimal
          type: number
        saleMarkup:
          format: decimal
          type: number
        vendorMessage:
          type: string
        countryId:
          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
  securitySchemes:
    access_token:
      type: apiKey
      description: Token used to access storefront API.
      name: access_token
      in: query