Optimizely Custom Properties API

The Custom Properties API from Optimizely — 6 operation(s) for custom properties.

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/CustomProperties List custom properties · Returns the EntitySet CustomProperties #
Ask an LLM
“Which custom properties have been added across my commerce entities?”
“Can I filter custom properties by parent table with OData?”
Tell an agent
List all custom properties.
List custom properties matching {filter}.
POST /api/v1/admin/CustomProperties Add a custom property to an entity · Post a new entity to EntitySet CustomProperties #
Ask an LLM
“How do I attach a custom name/value property to a commerce record?”
“What parent table and parent id does a new custom property need?”
Tell an agent
Add custom property {name} = {value} to {parentTable} record {parentId}.
Create custom property {name} with value {value} on table {parentTable}.
GET /api/v1/admin/CustomProperties({id}) Get a custom property by id · Returns the entity with the key from CustomProperties #
Ask an LLM
“What name and value does a specific custom property hold?”
“Can I look up a single custom property by its id?”
Tell an agent
Get custom property {id}.
Fetch custom property {id} returning only {select}.
PUT /api/v1/admin/CustomProperties({id}) Replace a custom property · Replace entity in EntitySet CustomProperties #
Ask an LLM
“How do I overwrite a custom property's entire record?”
“Can I resend parent table, name and value to replace a custom property?”
Tell an agent
Replace custom property {id} with {name} = {value} on {parentTable}.
Overwrite the full custom property record {id} with value {value}.
DELETE /api/v1/admin/CustomProperties({id}) Delete one custom property · Delete entity in EntitySet CustomProperties #
Ask an LLM
“How do I remove a single custom property by id?”
“Can deleting a custom property be guarded by an If-Match ETag?”
Tell an agent destructive · confirm first
Delete custom property {id}.
Delete custom property {id} only if its ETag is still {etag}.
PATCH /api/v1/admin/CustomProperties({id}) Change a custom property's value · Update entity in EntitySet CustomProperties #
Ask an LLM
“Can I update only the value of an existing custom property?”
“How do I rename a custom property without resending everything?”
Tell an agent
Set custom property {id} value to {value}.
Rename custom property {id} to {name}.
GET /api/v1/admin/CustomProperties/Default.Default() Get default values for a new custom property · Call operation Default #
Ask an LLM
“What defaults does a brand-new custom property carry?”
“Is there a blank custom property template?”
Tell an agent
Get the default template for a custom property.
Fetch an empty custom property with default values.
GET /api/v1/admin/CustomProperties/Default.GetAll(parentId={parentId},parentEntityName='{parentEntityName}') Get all custom properties of a record via Default.GetAll · Call operation GetAll #
Ask an LLM
“How do I pull every custom property attached to one product or customer record?”
“Which function returns all custom properties for a parent id and entity name?”
Tell an agent
Get all custom properties of {parentEntityName} {parentId} using Default.GetAll.
Call the Default.GetAll function for parent {parentId} of type {parentEntityName}.
GET /api/v1/admin/customproperties/GetAll(parentEntityName='{parentEntityName}',parentId={parentId}) Get all custom properties of a record via GetAll route · Custom properties get full custom properties by parententityname and parentid #
Ask an LLM
“Is there a lowercase customproperties/GetAll route keyed by entity name first?”
“Can I list a parent record's custom properties through the GetAll route?”
Tell an agent
Use the customproperties/GetAll route for entity {parentEntityName} id {parentId}.
Fetch the complete property list of {parentEntityName} record {parentId} via the GetAll route.
DELETE /api/v1/admin/customproperties/delete Bulk delete custom properties · Custom properties delete route #
Ask an LLM
“Can I delete many custom properties in one request?”
“How do I bulk-remove custom properties by a list of ids?”
Tell an agent destructive · confirm first
Bulk delete custom properties {ids}.
Permanently remove every custom property in {ids}.

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-custom-properties-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-custom-properties-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: admin-v1
  title: Admin API V1 Custom Properties API
servers:
- url: https://dogfood.commerce.insitesandbox.com
security: []
tags:
- name: Custom Properties
paths:
  /api/v1/admin/CustomProperties:
    get:
      tags:
      - Custom Properties
      summary: Returns the EntitySet CustomProperties
      operationId: CustomProperties_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:
      - Custom Properties
      summary: Post a new entity to EntitySet CustomProperties
      operationId: CustomProperties_Post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Insite.Data.Entities.CustomProperty'
        description: The entity to post
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/CustomProperties({id}):
    get:
      tags:
      - Custom Properties
      summary: Returns the entity with the key from CustomProperties
      operationId: CustomProperties_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:
      - Custom Properties
      summary: Replace entity in EntitySet CustomProperties
      operationId: CustomProperties_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.CustomProperty'
        description: The entity to put
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
    delete:
      tags:
      - Custom Properties
      summary: Delete entity in EntitySet CustomProperties
      operationId: CustomProperties_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:
      - Custom Properties
      summary: Update entity in EntitySet CustomProperties
      operationId: CustomProperties_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.CustomProperty'
        description: The entity to patch
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/CustomProperties/Default.Default():
    get:
      tags:
      - Custom Properties
      summary: Call operation Default
      operationId: CustomProperties_Default
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/CustomProperties/Default.GetAll(parentId={parentId},parentEntityName='{parentEntityName}'):
    get:
      tags:
      - Custom Properties
      summary: Call operation GetAll
      operationId: CustomProperties_GetFullCustomPropertiesByParentidAndParententityname
      parameters:
      - name: parentId
        in: path
        description: 'parameter: parentId'
        required: true
        schema:
          type: string
          format: uuid
      - name: parentEntityName
        in: path
        description: 'parameter: parentEntityName'
        required: true
        schema:
          type: string
      - 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: []
  /api/v1/admin/customproperties/GetAll(parentEntityName='{parentEntityName}',parentId={parentId}):
    get:
      tags:
      - Custom Properties
      operationId: CustomProperties_GetFullCustomPropertiesByParententitynameAndParentid
      parameters:
      - name: parentEntityName
        in: path
        required: true
        schema:
          type: string
      - name: parentId
        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: Custom properties get full custom properties by parententityname and parentid
      x-summary-source: derived
  /api/v1/admin/customproperties/delete:
    delete:
      tags:
      - Custom Properties
      operationId: CustomProperties_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: Custom properties delete route
      x-summary-source: derived
components:
  schemas:
    Insite.Data.Entities.CustomProperty:
      required:
      - parentTable
      - name
      - value
      type: object
      properties:
        id:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        parentTable:
          maxLength: 100
          minLength: 0
          type: string
        parentId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        name:
          maxLength: 100
          minLength: 0
          type: string
        value:
          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