Optimizely Dealers API

The Dealers API from Optimizely — 11 operation(s) for dealers.

Operations 15

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/Dealers List dealers in the admin console · Returns the EntitySet Dealers #
Ask an LLM
“How can I pull the full dealer list as an admin, with filtering?”
“Can I count how many dealer records exist in a given state?”
Tell an agent
List all dealer records from the admin API.
List admin dealers matching {filter}, top {top}, ordered by {orderby}.
POST /api/v1/admin/Dealers Create a dealer · Post a new entity to EntitySet Dealers #
Ask an LLM
“What address details are required when I add a new dealer location?”
“Can I set map coordinates for a dealer when creating it?”
Tell an agent
Create dealer {name} at {address1}, {city}, {state} {postalCode}.
Add dealer {name} managed by {manager} with phone {phone}.
GET /api/v1/admin/Dealers({id}) Get a dealer record by ID (admin) · Returns the entity with the key from Dealers #
Ask an LLM
“Can I fetch one dealer's full admin record by its GUID?”
“Which dealer fields can I select or expand in the admin lookup?”
Tell an agent
Get admin dealer record {id}.
Fetch dealer {id} from the admin API returning only {select}.
PUT /api/v1/admin/Dealers({id}) Replace a dealer record · Replace entity in EntitySet Dealers #
Ask an LLM
“Can I overwrite an entire dealer record with a new address?”
“What's the full-replace call for a dealer?”
Tell an agent
Replace dealer {id} with name {name} and address {address1}.
Overwrite all fields of dealer {id}, setting city {city} and state {state}.
DELETE /api/v1/admin/Dealers({id}) Delete a dealer · Delete entity in EntitySet Dealers #
Ask an LLM
“How do I remove a single dealer that has closed?”
“Can I delete a dealer only if nobody changed it since I read it?”
Tell an agent destructive · confirm first
Delete dealer {id}.
Delete dealer {id} if its ETag is still {etag}.
PATCH /api/v1/admin/Dealers({id}) Update a dealer's details · Update entity in EntitySet Dealers #
Ask an LLM
“Can I change just a dealer's phone number without resending the address?”
“Is there a partial update for a dealer's website URL?”
Tell an agent
Update dealer {id} phone to {phone}.
Patch dealer {id} to set website URL {websiteUrl}.
GET /api/v1/admin/Dealers/Default.Default() Get default values for a new dealer · Call operation Default #
Ask an LLM
“What does a blank dealer template look like before I fill it in?”
“Which defaults are pre-populated on a new dealer?”
Tell an agent
Get the default dealer template.
Show pre-filled values for a new dealer record.
DELETE /api/v1/admin/dealers/delete Delete several dealers at once · Dealers delete route #
Ask an LLM
“Can I bulk delete a batch of dealers in one call?”
“Is there a way to remove many dealer locations by ID list?”
Tell an agent destructive · confirm first
Bulk delete dealers {ids}.
Remove the dealers in the list {ids}.
GET /api/v1/admin/dealers({key})/categories({categoryKey}) Get a category assigned to a dealer · Dealers get category by key and categorykey #
Ask an LLM
“Can I check whether a product category is linked to a dealer?”
“Where do I read a single category on a dealer record?”
Tell an agent
Get category {categoryKey} on dealer {key}.
Show dealer {key}'s linked category {categoryKey}.
GET /api/v1/admin/dealers({key})/customproperties({custompropertyKey}) Get a custom property on a dealer · Dealers get custom property by key and custompropertykey #
Ask an LLM
“Can I read an extra custom field stored on a dealer?”
“Where are custom attributes of a dealer kept?”
Tell an agent
Get custom property {custompropertyKey} on dealer {key}.
Show dealer {key}'s custom field {custompropertyKey}.
GET /api/v1/admin/dealers({key})/products({productKey}) Get a product carried by a dealer · Dealers get product by key and productkey #
Ask an LLM
“Can I confirm a specific product is associated with a dealer?”
“Which call returns one product on a dealer's record?”
Tell an agent
Get product {productKey} carried by dealer {key}.
Show dealer {key}'s associated product {productKey}.
GET /api/v1/admin/dealers({key})/websites({websiteKey}) Get a website a dealer is assigned to · Dealers get website by key and websitekey #
Ask an LLM
“Can I check which storefront website a dealer belongs to?”
“Which endpoint reads one website link on a dealer?”
Tell an agent
Get website {websiteKey} for dealer {key}.
Show dealer {key}'s assigned website {websiteKey}.
GET /api/v1/dealers Find dealers near a location · Dealers V1 get collection async #
Ask an LLM
“How do I find the dealers closest to a shopper's latitude and longitude?”
“Can I search storefront dealers by name within a set radius?”
Tell an agent
Find dealers within {radius} of latitude {latitude}, longitude {longitude}.
Search the dealer locator for dealers named {name}.
GET /api/v1/dealers/{dealerId} Get a dealer for the storefront · Dealers V1 get async #
Ask an LLM
“Can a storefront page load one dealer's address and hours by ID?”
“What does the public dealer detail endpoint return?”
Tell an agent
Show storefront dealer {dealerId}.
Load dealer {dealerId}'s public details for the locator page.
GET /api/v1/dealers/getByPath Look up a dealer by its URL path · Dealers V1 get by path async #
Ask an LLM
“Can I resolve a dealer from its page URL segment?”
“Which call finds a dealer by path instead of ID?”
Tell an agent
Find the dealer at path {path}.
Resolve dealer page URL {path} to its dealer.

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-dealers-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-dealers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Optimizely Dealers API
  version: '1.0'
  description: 'Operations tagged Dealers across 2 of this provider''s published API definitions: optimizely-configured-commerce-admin-api-v1-openapi.json, optimizely-configured-commerce-storefront-api-v1-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://dogfood.commerce.insitesandbox.com
security: []
tags:
- name: Dealers
paths:
  /api/v1/admin/Dealers:
    get:
      tags:
      - Dealers
      summary: Returns the EntitySet Dealers
      operationId: Dealers_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:
      - Dealers
      summary: Post a new entity to EntitySet Dealers
      operationId: Dealers_Post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Insite.Data.Entities.Dealer'
        description: The entity to post
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/admin/Dealers({id}):
    get:
      tags:
      - Dealers
      summary: Returns the entity with the key from Dealers
      operationId: Dealers_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:
      - Dealers
      summary: Replace entity in EntitySet Dealers
      operationId: Dealers_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.Dealer'
        description: The entity to put
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
    delete:
      tags:
      - Dealers
      summary: Delete entity in EntitySet Dealers
      operationId: Dealers_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:
      - Dealers
      summary: Update entity in EntitySet Dealers
      operationId: Dealers_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.Dealer'
        description: The entity to patch
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/admin/Dealers/Default.Default():
    get:
      tags:
      - Dealers
      summary: Call operation Default
      operationId: Dealers_Default
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/admin/dealers/delete:
    delete:
      tags:
      - Dealers
      operationId: Dealers_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: Dealers delete route
      x-summary-source: derived
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/admin/dealers({key})/categories({categoryKey}):
    get:
      tags:
      - Dealers
      operationId: Dealers_GetCategoryByKeyAndCategorykey
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: categoryKey
        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: Dealers get category by key and categorykey
      x-summary-source: derived
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/admin/dealers({key})/customproperties({custompropertyKey}):
    get:
      tags:
      - Dealers
      operationId: Dealers_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: Dealers get custom property by key and custompropertykey
      x-summary-source: derived
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/admin/dealers({key})/products({productKey}):
    get:
      tags:
      - Dealers
      operationId: Dealers_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: Dealers get product by key and productkey
      x-summary-source: derived
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/admin/dealers({key})/websites({websiteKey}):
    get:
      tags:
      - Dealers
      operationId: Dealers_GetWebsiteByKeyAndWebsitekey
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: websiteKey
        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: Dealers get website by key and websitekey
      x-summary-source: derived
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/dealers:
    get:
      tags:
      - Dealers
      operationId: DealersV1_GetCollectionAsync
      parameters:
      - name: parameter.useDefaultLocation
        in: query
        required: false
        schema:
          type: boolean
      - name: parameter.latitude
        in: query
        required: false
        schema:
          type: number
          format: double
      - name: parameter.longitude
        in: query
        required: false
        schema:
          type: number
          format: double
      - name: parameter.radius
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: parameter.name
        in: query
        required: false
        schema:
          type: string
      - name: parameter.startPage
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: parameter.page
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: parameter.pageSize
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: parameter.sort
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Dealers.WebApi.V1.ApiModels.DealerCollectionModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Dealers.WebApi.V1.ApiModels.DealerCollectionModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Dealers.WebApi.V1.ApiModels.DealerCollectionModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Dealers.WebApi.V1.ApiModels.DealerCollectionModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Dealers.WebApi.V1.ApiModels.DealerCollectionModel'
      summary: Dealers V1 get collection async
      x-summary-source: derived
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/dealers/{dealerId}:
    get:
      tags:
      - Dealers
      operationId: DealersV1_GetAsync
      parameters:
      - name: dealerId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Dealers.WebApi.V1.ApiModels.DealerModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Dealers.WebApi.V1.ApiModels.DealerModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Dealers.WebApi.V1.ApiModels.DealerModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Dealers.WebApi.V1.ApiModels.DealerModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Dealers.WebApi.V1.ApiModels.DealerModel'
      summary: Dealers V1 get async
      x-summary-source: derived
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
  /api/v1/dealers/getByPath:
    get:
      tags:
      - Dealers
      operationId: DealersV1_GetByPathAsync
      parameters:
      - name: path
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Dealers.WebApi.V1.ApiModels.DealerModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Dealers.WebApi.V1.ApiModels.DealerModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Dealers.WebApi.V1.ApiModels.DealerModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Dealers.WebApi.V1.ApiModels.DealerModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Dealers.WebApi.V1.ApiModels.DealerModel'
      summary: Dealers V1 get by path async
      x-summary-source: derived
    servers:
    - url: https://dogfood.commerce.insitesandbox.com
components:
  schemas:
    Insite.Data.Entities.Dealer:
      required:
      - name
      - address1
      - address2
      - city
      - state
      - postalCode
      - phone
      - fax
      - manager
      - websiteUrl
      - urlSegment
      type: object
      properties:
        id:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        name:
          maxLength: 100
          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
        phone:
          maxLength: 50
          minLength: 0
          type: string
        fax:
          maxLength: 50
          minLength: 0
          type: string
        manager:
          maxLength: 100
          minLength: 0
          type: string
        countryId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        websiteId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        latitude:
          format: decimal
          type: number
        longitude:
          format: decimal
          type: number
        websiteUrl:
          maxLength: 1024
          minLength: 0
          type: string
        contentManagerId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        urlSegment:
          maxLength: 255
          minLength: 0
          type: string
        createdOn:
          format: date-time
          type: string
        createdBy:
          type: string
        modifiedOn:
          format: date-time
          type: string
        modifiedBy:
          type: string
    Insite.Dealers.WebApi.V1.ApiModels.DealerModel:
      type: object
      properties:
        uri:
          type: string
        id:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        name:
          type: string
        address1:
          type: string
        address2:
          type: string
        city:
          type: string
        state:
          type: string
        postalCode:
          type: string
        countryId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        phone:
          type: string
        fax:
          type: string
        manager:
          type: string
        latitude:
          format: decimal
          type: number
        longitude:
          format: decimal
          type: number
        webSiteUrl:
          type: string
        htmlContent:
          type: string
        distance:
          format: double
          type: number
        detailPagePath:
          type: string
        alternateLanguageUrls:
          type: object
          additionalProperties:
            type: string
        distanceUnitOfMeasure:
          type: string
        properties:
          type: object
          additionalProperties:
            type: string
    Insite.Core.WebApi.PaginationModel:
      type: object
      properties:
        currentPage:
          format: int32
          type: integer
        page:
          format: int32
          type: integer
        pageSize:
          format: int32
          type: integer
        defaultPageSize:
          format: int32
          type: integer
        totalItemCount:
          format: int32
          type: integer
        numberOfPages:
          format: int32
          type: integer
        pageSizeOptions:
          type: array
          items:
            format: int32
            type: integer
        sortOptions:
          type: array
          items:
            $ref: '#/components/schemas/Insite.Core.WebApi.SortOptionModel'
        sortType:
          type: string
        nextPageUri:
          type: string
        prevPageUri:
          type: string
        nextPageToken:
          type: string
    Insite.Core.WebApi.SortOptionModel:
      type: object
      properties:
        displayName:
          type: string
        sortType:
          type: string
    Insite.Dealers.WebApi.V1.ApiModels.DealerCollectionModel:
      type: object
      properties:
        uri:
          type: string
        dealers:
          type: array
          items:
            $ref: '#/components/schemas/Insite.Dealers.WebApi.V1.ApiModels.DealerModel'
        distanceUnitOfMeasure:
          type: string
        pagination:
          $ref: '#/components/schemas/Insite.Core.WebApi.PaginationModel'
        defaultLatitude:
          format: double
          type: number
        defaultLongitude:
          format: double
          type: number
        formattedAddress:
          type: string
        defaultRadius:
          format: int32
          type: integer
        startDealerNumber:
          format: int32
          type: integer
        properties:
          type: object
          additionalProperties:
            type: string
  securitySchemes:
    access_token:
      type: apiKey
      description: Token used to access storefront API.
      name: access_token
      in: query
x-refined-from:
- optimizely-configured-commerce-admin-api-v1-openapi.json
- optimizely-configured-commerce-storefront-api-v1-openapi.json