Optimizely Rule Clauses API

The Rule Clauses API from Optimizely — 15 operation(s) for rule clauses.

Operations 19

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/RuleClauses List rule clauses · Returns the EntitySet RuleClauses #
Ask an LLM
“Which rule clauses are configured across my commerce rules?”
“Can I filter rule clauses by criteria type and sort them by execution order?”
Tell an agent
List all rule clauses.
List rule clauses matching {filter}, ordered by {orderby}.
POST /api/v1/admin/RuleClauses Create a rule clause · Post a new entity to EntitySet RuleClauses #
Ask an LLM
“How do I add a new condition clause to a promotion or shipping rule?”
“What comparison operators and values does a new rule clause need?”
Tell an agent
Create a rule clause for rule manager {ruleManagerId} checking {criteriaObject}.{criteriaProperty} {comparisonOperator} {simpleValue}.
Add a new rule clause of criteria type {criteriaType} with value range {valueMinimum} to {valueMaximum}.
GET /api/v1/admin/RuleClauses({id}) Get a rule clause · Returns the entity with the key from RuleClauses #
Ask an LLM
“How do I look up the condition and values of one specific rule clause?”
“What does a single rule clause compare against?”
Tell an agent
Get rule clause {id}.
Show the criteria and operator of rule clause {id}.
PUT /api/v1/admin/RuleClauses({id}) Replace a rule clause · Replace entity in EntitySet RuleClauses #
Ask an LLM
“How do I overwrite an entire rule clause definition in one call?”
“Does replacing a rule clause require resending every criteria field?”
Tell an agent
Replace rule clause {id} with criteria {criteriaObject}.{criteriaProperty} {comparisonOperator} {simpleValue}.
Fully overwrite rule clause {id} with value list {valueList}.
DELETE /api/v1/admin/RuleClauses({id}) Delete a rule clause · Delete entity in EntitySet RuleClauses #
Ask an LLM
“How do I remove one condition from a rule?”
“Can I delete a rule clause only if its ETag hasn't changed?”
Tell an agent destructive · confirm first
Delete rule clause {id}.
Delete rule clause {id} if its ETag is {etag}.
PATCH /api/v1/admin/RuleClauses({id}) Update a rule clause · Update entity in EntitySet RuleClauses #
Ask an LLM
“How do I change just the comparison value on an existing rule clause?”
“Can I move a rule clause to a different execution group or order?”
Tell an agent
Change the simple value of rule clause {id} to {simpleValue}.
Set execution order of rule clause {id} to {executionOrder} in group {executionGroup}.
GET /api/v1/admin/RuleClauses/Default.Default() Get the default rule clause template · Call operation Default #
Ask an LLM
“What default values does a brand-new rule clause start with?”
“Where can I get a blank rule clause record to fill in?”
Tell an agent
Get the default rule clause template.
Show default values for a new rule clause.
POST /api/v1/admin/RuleClauses({id})/Default.import Import products into a rule clause · Call operation import #
Ask an LLM
“How do I bulk import a product list into a rule clause condition?”
“Can I load products into a rule clause by its id through the OData action?”
Tell an agent
Import products into rule clause {id}.
Run the product import action on rule clause {id}.
POST /api/v1/admin/RuleClauses({id})/Default.importcustomers Import customers into a rule clause · Call operation importcustomers #
Ask an LLM
“How do I bulk import customers into a rule clause condition?”
“Can I load a customer list into a rule clause by its id through the OData action?”
Tell an agent
Import customers into rule clause {id}.
Run the customer import action on rule clause {id}.
POST /api/v1/admin/RuleClauses/Default.createtemporary Create a temporary rule clause copy · Call operation createtemporary #
Ask an LLM
“How do I create a temporary working copy of a rule clause before editing it?”
“Can I start a temporary rule clause from an existing one for a given rule type option?”
Tell an agent
Create a temporary rule clause for rule type {ruleTypeId} and option {ruleTypeOptionId}.
Make a temporary copy of rule clause {existingRuleClauseId} for rule type {ruleTypeId}, option {ruleTypeOptionId}.
POST /api/v1/admin/RuleClauses/Default.copyfromtemporary Apply a temporary rule clause · Call operation copyfromtemporary #
Ask an LLM
“How do I save my temporary rule clause edits back onto the real clause?”
“Can I copy a temporary rule clause over a target rule clause?”
Tell an agent
Copy temporary rule clause {tempRuleClauseId} onto rule clause {targetRuleClauseId}.
Apply temp clause {tempRuleClauseId} to target {targetRuleClauseId} for entity {entityName}.
POST /api/v1/admin/ruleclauses/copyfromtemporary Apply a temporary rule clause (route form) · Rule clauses copy from temporary 2 #
Ask an LLM
“Is there a plain-route copyfromtemporary endpoint for rule clauses besides the OData action?”
“What's the non-OData route for committing a temporary rule clause?”
Tell an agent
Call the ruleclauses/copyfromtemporary route to commit a temporary rule clause.
Use the plain route, not the OData action, to copy a temporary rule clause back.
POST /api/v1/admin/ruleclauses/createtemporary Create a temporary rule clause (route form) · Rule clauses create temporary async 2 #
Ask an LLM
“Is there a plain-route createtemporary endpoint for rule clauses?”
“What's the non-OData route for starting a temporary rule clause?”
Tell an agent
Call the ruleclauses/createtemporary route to start a temporary rule clause.
Use the plain route, not the OData action, to create a temporary rule clause.
POST /api/v1/admin/ruleclauses({key})/import Import products into a rule clause by key · Rule clauses import products async by key #
Ask an LLM
“How do I import products into a rule clause using the plain key-based route?”
“Is there a non-OData import route for rule clause products?”
Tell an agent
Import products into rule clause with key {key} via the plain route.
Run ruleclauses({key})/import to load products.
POST /api/v1/admin/ruleclauses({key})/importcustomers Import customers into a rule clause by key · Rule clauses import customers async by key #
Ask an LLM
“Which route bulk-loads a customer list into a rule clause addressed by key?”
“Is there a non-OData importcustomers route for rule clauses?”
Tell an agent
Import customers into rule clause with key {key} via the plain route.
Run ruleclauses({key})/importcustomers to load customers.
DELETE /api/v1/admin/ruleclauses/delete Bulk delete rule clauses · Rule clauses delete route #
Ask an LLM
“How do I delete several rule clauses at once by their ids?”
“Can I remove a batch of rule clauses in one request?”
Tell an agent destructive · confirm first
Delete rule clauses {ids}.
Bulk remove the rule clauses with ids {ids}.
GET /api/v1/admin/ruleclauses({key})/customers({customerKey}) Get a customer attached to a rule clause · Rule clauses get customer by key and customerkey #
Ask an LLM
“How do I check whether a specific customer is part of a rule clause?”
“Can I fetch one customer record linked to a rule clause?”
Tell an agent
Get customer {customerKey} on rule clause {key}.
Show the customer {customerKey} attached to rule clause {key}.
GET /api/v1/admin/ruleclauses({key})/customproperties({custompropertyKey}) Get a rule clause custom property · Rule clauses get custom property by key and custompropertykey #
Ask an LLM
“How do I read a custom property stored on a rule clause?”
“Where do I find one custom property value for a rule clause?”
Tell an agent
Get custom property {custompropertyKey} of rule clause {key}.
Show rule clause {key}'s custom property {custompropertyKey}.
GET /api/v1/admin/ruleclauses({key})/products({productKey}) Get a product attached to a rule clause · Rule clauses get product by key and productkey #
Ask an LLM
“How do I check whether a specific product is included in a rule clause?”
“Can I fetch one product record linked to a rule clause?”
Tell an agent
Get product {productKey} on rule clause {key}.
Show the product {productKey} attached to rule clause {key}.

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-rule-clauses-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-rule-clauses-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: admin-v1
  title: Admin API V1 Rule Clauses API
servers:
- url: https://dogfood.commerce.insitesandbox.com
security: []
tags:
- name: Rule Clauses
paths:
  /api/v1/admin/RuleClauses:
    get:
      tags:
      - Rule Clauses
      summary: Returns the EntitySet RuleClauses
      operationId: RuleClauses_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:
      - Rule Clauses
      summary: Post a new entity to EntitySet RuleClauses
      operationId: RuleClauses_Post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Insite.Data.Entities.RuleClause'
        description: The entity to post
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/RuleClauses({id}):
    get:
      tags:
      - Rule Clauses
      summary: Returns the entity with the key from RuleClauses
      operationId: RuleClauses_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:
      - Rule Clauses
      summary: Replace entity in EntitySet RuleClauses
      operationId: RuleClauses_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.RuleClause'
        description: The entity to put
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
    delete:
      tags:
      - Rule Clauses
      summary: Delete entity in EntitySet RuleClauses
      operationId: RuleClauses_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:
      - Rule Clauses
      summary: Update entity in EntitySet RuleClauses
      operationId: RuleClauses_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.RuleClause'
        description: The entity to patch
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/RuleClauses/Default.Default():
    get:
      tags:
      - Rule Clauses
      summary: Call operation Default
      operationId: RuleClauses_Default
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/RuleClauses({id})/Default.import:
    post:
      tags:
      - Rule Clauses
      summary: Call operation import
      operationId: RuleClauses_ImportProductsAsyncById
      parameters:
      - name: id
        in: path
        description: 'key: id'
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        $ref: '#/components/requestBodies/System.Threading.CancellationToken'
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/RuleClauses({id})/Default.importcustomers:
    post:
      tags:
      - Rule Clauses
      summary: Call operation importcustomers
      operationId: RuleClauses_ImportCustomersAsyncById
      parameters:
      - name: id
        in: path
        description: 'key: id'
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/System.Threading.CancellationToken'
        description: importcustomers action parameters
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/RuleClauses/Default.createtemporary:
    post:
      tags:
      - Rule Clauses
      summary: Call operation createtemporary
      operationId: RuleClauses_CreateTemporaryAsync_1
      requestBody:
        content:
          application/json:
            schema:
              required:
              - ruleTypeId
              - ruleTypeOptionId
              type: object
              properties:
                existingRuleClauseId:
                  format: guid
                  type: string
                ruleTypeId:
                  format: guid
                  type: string
                ruleTypeOptionId:
                  format: guid
                  type: string
                entityName:
                  type: string
        description: createtemporary action parameters
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/RuleClauses/Default.copyfromtemporary:
    post:
      tags:
      - Rule Clauses
      summary: Call operation copyfromtemporary
      operationId: RuleClauses_CopyFromTemporary_1
      requestBody:
        content:
          application/json:
            schema:
              required:
              - targetRuleClauseId
              - tempRuleClauseId
              type: object
              properties:
                targetRuleClauseId:
                  format: guid
                  type: string
                tempRuleClauseId:
                  format: guid
                  type: string
                entityName:
                  type: string
        description: copyfromtemporary action parameters
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/ruleclauses/copyfromtemporary:
    post:
      tags:
      - Rule Clauses
      operationId: RuleClauses_CopyFromTemporary_2
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
      summary: Rule clauses copy from temporary 2
      x-summary-source: derived
  /api/v1/admin/ruleclauses/createtemporary:
    post:
      tags:
      - Rule Clauses
      operationId: RuleClauses_CreateTemporaryAsync_2
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
      summary: Rule clauses create temporary async 2
      x-summary-source: derived
  /api/v1/admin/ruleclauses({key})/import:
    post:
      tags:
      - Rule Clauses
      operationId: RuleClauses_ImportProductsAsyncByKey
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
      summary: Rule clauses import products async by key
      x-summary-source: derived
  /api/v1/admin/ruleclauses({key})/importcustomers:
    post:
      tags:
      - Rule Clauses
      operationId: RuleClauses_ImportCustomersAsyncByKey
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
      summary: Rule clauses import customers async by key
      x-summary-source: derived
  /api/v1/admin/ruleclauses/delete:
    delete:
      tags:
      - Rule Clauses
      operationId: RuleClauses_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: Rule clauses delete route
      x-summary-source: derived
  /api/v1/admin/ruleclauses({key})/customers({customerKey}):
    get:
      tags:
      - Rule Clauses
      operationId: RuleClauses_GetCustomerByKeyAndCustomerkey
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: customerKey
        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: Rule clauses get customer by key and customerkey
      x-summary-source: derived
  /api/v1/admin/ruleclauses({key})/customproperties({custompropertyKey}):
    get:
      tags:
      - Rule Clauses
      operationId: RuleClauses_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: Rule clauses get custom property by key and custompropertykey
      x-summary-source: derived
  /api/v1/admin/ruleclauses({key})/products({productKey}):
    get:
      tags:
      - Rule Clauses
      operationId: RuleClauses_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: Rule clauses get product by key and productkey
      x-summary-source: derived
components:
  requestBodies:
    System.Threading.CancellationToken:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/System.Threading.CancellationToken'
      description: import action parameters
      required: true
  schemas:
    Microsoft.Win32.SafeHandles.SafeWaitHandle:
      type: object
      properties:
        isInvalid:
          type: boolean
          readOnly: true
        isClosed:
          type: boolean
          readOnly: true
    System.Threading.CancellationToken:
      type: object
      properties:
        isCancellationRequested:
          type: boolean
          readOnly: true
        canBeCanceled:
          type: boolean
          readOnly: true
        waitHandle:
          $ref: '#/components/schemas/System.Threading.WaitHandle'
    Insite.Data.Entities.RuleClause:
      required:
      - condition
      - criteriaType
      - criteriaObject
      - criteriaProperty
      - criteriaValue
      - comparisonOperator
      - simpleValue
      - valueList
      - valueMinimum
      - valueMaximum
      type: object
      properties:
        id:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        ruleManagerId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        ruleTypeOptionId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        executionGroup:
          format: int32
          type: integer
        executionOrder:
          format: int32
          type: integer
        condition:
          maxLength: 50
          minLength: 0
          type: string
        criteriaType:
          maxLength: 50
          minLength: 0
          type: string
        criteriaObject:
          maxLength: 255
          minLength: 0
          type: string
        criteriaProperty:
          maxLength: 100
          minLength: 0
          type: string
        criteriaValue:
          maxLength: 255
          minLength: 0
          type: string
        comparisonOperator:
          maxLength: 50
          minLength: 0
          type: string
        simpleValue:
          maxLength: 2048
          minLength: 0
          type: string
        valueList:
          maxLength: 2048
          minLength: 0
          type: string
        valueMinimum:
          maxLength: 100
          minLength: 0
          type: string
        valueMaximum:
          maxLength: 100
          minLength: 0
          type: string
        createdOn:
          format: date-time
          type: string
        createdBy:
          type: string
        modifiedOn:
          format: date-time
          type: string
        modifiedBy:
          type: string
    System.Threading.WaitHandle:
      type: object
      properties:
        handle:
          type: object
        safeWaitHandle:
          $ref: '#/components/schemas/Microsoft.Win32.SafeHandles.SafeWaitHandle'
  securitySchemes:
    access_token:
      type: apiKey
      description: Token used to access storefront API.
      name: access_token
      in: query