Optimizely Promotion Results API

The Promotion Results API from Optimizely — 12 operation(s) for promotion results.

Business capability
Discount & Promotion Management BC-440.30

Operations 16

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/PromotionResults List promotion results · Returns the EntitySet PromotionResults #
Ask an LLM
“What discounts and rewards are configured across promotions?”
“Can I filter promotion results by result type?”
Tell an agent
List all promotion results.
Show promotion results matching {filter}.
POST /api/v1/admin/PromotionResults Create a promotion result · Post a new entity to EntitySet PromotionResults #
Ask an LLM
“How do I add a percentage discount reward to a promotion?”
“Can a promotion result give free shipping via a specific ship via?”
Tell an agent
Create a {promotionResultType} result for promotion {promotionId}.
Add a {promotionResultType} result worth {amount} to promotion {promotionId}.
GET /api/v1/admin/PromotionResults({id}) Get a promotion result · Returns the entity with the key from PromotionResults #
Ask an LLM
“What reward does a particular promotion result grant?”
“Can I look up one promotion result by its ID?”
Tell an agent
Get promotion result {id}.
Show the amount and type of promotion result {id}.
PUT /api/v1/admin/PromotionResults({id}) Replace a promotion result entirely · Replace entity in EntitySet PromotionResults #
Ask an LLM
“How do I overwrite every field of a promotion result?”
“Can I fully replace a promotion result record?”
Tell an agent
Replace promotion result {id} with type {promotionResultType}.
Overwrite all fields of promotion result {id}, setting amount {amount} and type {promotionResultType}.
DELETE /api/v1/admin/PromotionResults({id}) Delete a promotion result · Delete entity in EntitySet PromotionResults #
Ask an LLM
“How do I remove a single reward from a promotion?”
“Is a promotion result deletion guarded by an If-Match check?”
Tell an agent destructive · confirm first
Delete promotion result {id}.
Remove promotion result {id} if its ETag is {ifMatch}.
PATCH /api/v1/admin/PromotionResults({id}) Update some fields of a promotion result · Update entity in EntitySet PromotionResults #
Ask an LLM
“How do I change just the discount amount on a promotion result?”
“Can I toggle whether a promotion result is visible?”
Tell an agent
Change the amount on promotion result {id} to {amount}, keeping type {promotionResultType}.
Set visible to {visible} on promotion result {id} of type {promotionResultType}.
GET /api/v1/admin/PromotionResults/Default.Default() Get default values for a new promotion result · Call operation Default #
Ask an LLM
“What defaults does a new promotion result start with?”
“Is there a blank promotion result template?”
Tell an agent
Get the default field values for a new promotion result.
Show a blank promotion result record.
POST /api/v1/admin/PromotionResults({id})/Default.import Import products into a promotion result · Call operation import #
Ask an LLM
“How do I import a product list into a promotion result using the OData import action?”
“Can I bulk load qualifying products onto a promotion result?”
Tell an agent
Run the import action for promotion result {id}.
Import products into promotion result {id} via the Default.import action.
POST /api/v1/admin/PromotionResults/Default.createtemporary Create a temporary copy of a promotion result · Call operation createtemporary #
Ask an LLM
“How do I make a temporary working copy of an existing promotion result?”
“Can I stage edits to a promotion result in a temporary record first?”
Tell an agent
Create a temporary copy of promotion result {existingPromotionResultId}.
Start a temporary draft from promotion result {existingPromotionResultId}.
POST /api/v1/admin/PromotionResults/Default.copyfromtemporary Copy a temporary promotion result onto the real one · Call operation copyfromtemporary #
Ask an LLM
“How do I apply staged temporary changes back to the original promotion result?”
“Can I copy a temporary promotion result over its target?”
Tell an agent
Copy temporary promotion result {tempPromotionResultId} onto {targetPromotionResultId}.
Save temp result {tempPromotionResultId} back to promotion result {targetPromotionResultId}.
POST /api/v1/admin/promotionresults/createtemporary Create a temporary promotion result (route) · Promotion results create temporary async 2 #
Ask an LLM
“Is there a plain route version of createtemporary for promotion results?”
“Can I call createtemporary on promotion results without the OData action path?”
Tell an agent
Call the promotionresults/createtemporary route.
Create a temporary promotion result using the non-OData route.
POST /api/v1/admin/promotionresults/copyfromtemporary Copy from temporary promotion result (route) · Promotion results copy from temporary 2 #
Ask an LLM
“Is there a plain route version of copyfromtemporary for promotion results?”
“Can I run copyfromtemporary without the OData Default action?”
Tell an agent
Call the promotionresults/copyfromtemporary route.
Copy from the temporary promotion result using the non-OData route.
POST /api/v1/admin/promotionresults({key})/import Import products into a promotion result (route) · Promotion results import products async by key #
Ask an LLM
“Is there a plain route for importing products into a promotion result by key?”
“Can I trigger the product import on a promotion result without the OData action?”
Tell an agent
Import products into promotion result {key} using the import route.
Call the promotionresults import route for {key}.
DELETE /api/v1/admin/promotionresults/delete Delete several promotion results · Promotion results delete route #
Ask an LLM
“How do I bulk delete a list of promotion results?”
“Can I remove multiple promotion results in one request?”
Tell an agent destructive · confirm first
Bulk delete promotion results {ids}.
Permanently delete every promotion result in {ids}.
GET /api/v1/admin/promotionresults({key})/customproperties({custompropertyKey}) Get a custom property on a promotion result · Promotion results get custom property by key and custompropertykey #
Ask an LLM
“How do I read a custom property on a promotion result?”
“Can I fetch one custom field value from a promotion result?”
Tell an agent
Get custom property {custompropertyKey} of promotion result {key}.
Show the {custompropertyKey} custom property on promotion result {key}.
GET /api/v1/admin/promotionresults({key})/products({productKey}) Get a product attached to a promotion result · Promotion results get product by key and productkey #
Ask an LLM
“Which product details are linked to a promotion result?”
“Can I check whether a specific product belongs to a promotion result?”
Tell an agent
Get product {productKey} on promotion result {key}.
Show linked product {productKey} for promotion result {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-promotion-results-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-promotion-results-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: admin-v1
  title: Admin API V1 Promotion Results API
servers:
- url: https://dogfood.commerce.insitesandbox.com
security: []
tags:
- name: Promotion Results
paths:
  /api/v1/admin/PromotionResults:
    get:
      tags:
      - Promotion Results
      summary: Returns the EntitySet PromotionResults
      operationId: PromotionResults_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:
      - Promotion Results
      summary: Post a new entity to EntitySet PromotionResults
      operationId: PromotionResults_Post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Insite.Data.Entities.PromotionResult'
        description: The entity to post
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/PromotionResults({id}):
    get:
      tags:
      - Promotion Results
      summary: Returns the entity with the key from PromotionResults
      operationId: PromotionResults_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:
      - Promotion Results
      summary: Replace entity in EntitySet PromotionResults
      operationId: PromotionResults_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.PromotionResult'
        description: The entity to put
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
    delete:
      tags:
      - Promotion Results
      summary: Delete entity in EntitySet PromotionResults
      operationId: PromotionResults_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:
      - Promotion Results
      summary: Update entity in EntitySet PromotionResults
      operationId: PromotionResults_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.PromotionResult'
        description: The entity to patch
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/PromotionResults/Default.Default():
    get:
      tags:
      - Promotion Results
      summary: Call operation Default
      operationId: PromotionResults_Default
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/PromotionResults({id})/Default.import:
    post:
      tags:
      - Promotion Results
      summary: Call operation import
      operationId: PromotionResults_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/PromotionResults/Default.createtemporary:
    post:
      tags:
      - Promotion Results
      summary: Call operation createtemporary
      operationId: PromotionResults_CreateTemporaryAsync_1
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                existingPromotionResultId:
                  format: guid
                  type: string
        description: createtemporary action parameters
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/PromotionResults/Default.copyfromtemporary:
    post:
      tags:
      - Promotion Results
      summary: Call operation copyfromtemporary
      operationId: PromotionResults_CopyFromTemporary_1
      requestBody:
        content:
          application/json:
            schema:
              required:
              - targetPromotionResultId
              - tempPromotionResultId
              type: object
              properties:
                targetPromotionResultId:
                  format: guid
                  type: string
                tempPromotionResultId:
                  format: guid
                  type: string
        description: copyfromtemporary action parameters
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/promotionresults/createtemporary:
    post:
      tags:
      - Promotion Results
      operationId: PromotionResults_CreateTemporaryAsync_2
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
      summary: Promotion results create temporary async 2
      x-summary-source: derived
  /api/v1/admin/promotionresults/copyfromtemporary:
    post:
      tags:
      - Promotion Results
      operationId: PromotionResults_CopyFromTemporary_2
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
      summary: Promotion results copy from temporary 2
      x-summary-source: derived
  /api/v1/admin/promotionresults({key})/import:
    post:
      tags:
      - Promotion Results
      operationId: PromotionResults_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: Promotion results import products async by key
      x-summary-source: derived
  /api/v1/admin/promotionresults/delete:
    delete:
      tags:
      - Promotion Results
      operationId: PromotionResults_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: Promotion results delete route
      x-summary-source: derived
  /api/v1/admin/promotionresults({key})/customproperties({custompropertyKey}):
    get:
      tags:
      - Promotion Results
      operationId: PromotionResults_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: Promotion results get custom property by key and custompropertykey
      x-summary-source: derived
  /api/v1/admin/promotionresults({key})/products({productKey}):
    get:
      tags:
      - Promotion Results
      operationId: PromotionResults_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: Promotion results 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.PromotionResult:
      required:
      - promotionResultType
      type: object
      properties:
        id:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        promotionId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        productId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        amount:
          format: double
          type: number
        promotionResultType:
          maxLength: 100
          minLength: 0
          type: string
        visible:
          type: boolean
        shipViaId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        categoryId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        maxValue:
          format: double
          type: number
        qtyRequired:
          format: double
          type: number
        maxFree:
          format: double
          type: number
        isPercent:
          type: boolean
        vendorId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        brandId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        productLineId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        qualifyingProductId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        customResultName:
          maxLength: 255
          minLength: 0
          type: string
        code:
          maxLength: 255
          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