Optimizely Restriction Groups API

The Restriction Groups API from Optimizely — 12 operation(s) for restriction groups.

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/RestrictionGroups List restriction groups · Returns the EntitySet RestrictionGroups #
Ask an LLM
“Which restriction groups are set up to limit what customers can buy in my Optimizely commerce site?”
“Can I list only the active restriction groups using a filter?”
Tell an agent
List all restriction groups.
List restriction groups matching {filter}.
POST /api/v1/admin/RestrictionGroups Create a restriction group · Post a new entity to EntitySet RestrictionGroups #
Ask an LLM
“How do I create a restriction group that controls product visibility for certain customers?”
“Can a new restriction group be location based?”
Tell an agent
Create restriction group {name} described as {description} with display type {displayType} for websites {validForWebsites}.
Add a location-based restriction group named {name} with isLocationBased {isLocationBased}.
GET /api/v1/admin/RestrictionGroups({id}) Get a restriction group · Returns the entity with the key from RestrictionGroups #
Ask an LLM
“What are the settings of one specific restriction group?”
“Can I see whether a particular restriction group is active?”
Tell an agent
Get restriction group {id}.
Show the display type and active flag of restriction group {id}.
PUT /api/v1/admin/RestrictionGroups({id}) Replace a restriction group · Replace entity in EntitySet RestrictionGroups #
Ask an LLM
“How do I overwrite a restriction group's full definition?”
“Can I replace every field of a restriction group in one request?”
Tell an agent
Replace restriction group {id} with name {name}, description {description} and display type {displayType}.
Fully rewrite restriction group {id}.
DELETE /api/v1/admin/RestrictionGroups({id}) Delete a restriction group · Delete entity in EntitySet RestrictionGroups #
Ask an LLM
“How do I remove a restriction group I no longer need?”
“Can I delete a restriction group only if nobody changed it since I read it?”
Tell an agent destructive · confirm first
Delete restriction group {id}.
Delete restriction group {id} if its ETag is {etag}.
PATCH /api/v1/admin/RestrictionGroups({id}) Update a restriction group · Update entity in EntitySet RestrictionGroups #
Ask an LLM
“How do I deactivate a restriction group without deleting it?”
“Can I rename a restriction group with a partial update?”
Tell an agent
Set restriction group {id} active flag to {isActive}.
Rename restriction group {id} to {name}.
GET /api/v1/admin/RestrictionGroups/Default.Default() Get a blank default restriction group · Call operation Default #
Ask an LLM
“What fields does a default restriction group start with?”
“Is there a template object for building a new restriction group?”
Tell an agent
Get the default template for a new restriction group.
Show the blank restriction group object.
DELETE /api/v1/admin/restrictiongroups/delete Delete several restriction groups · Restriction groups delete route #
Ask an LLM
“Can I delete a batch of restriction groups by their ids?”
“How do I bulk-remove restriction groups?”
Tell an agent destructive · confirm first
Delete restriction groups {ids}.
Bulk-delete the restriction groups with ids {ids}.
GET /api/v1/admin/restrictiongroups({key})/customeradditions({customerKey}) Get a customer added to a restriction group · Restriction groups get customer addition by key and customerkey #
Ask an LLM
“Is a specific customer explicitly added to a restriction group?”
“How do I read one customer addition on a restriction group?”
Tell an agent
Get customer addition {customerKey} on restriction group {key}.
Check whether customer {customerKey} was added to restriction group {key}.
GET /api/v1/admin/restrictiongroups({key})/customerexceptions({customerKey}) Get a customer exempted from a restriction group · Restriction groups get customer exception by key and customerkey #
Ask an LLM
“Is a particular customer excluded as an exception from a restriction group?”
“How do I look up a customer exception on a restriction group?”
Tell an agent
Get customer exception {customerKey} for restriction group {key}.
Check if customer {customerKey} is exempt from restriction group {key}.
GET /api/v1/admin/restrictiongroups({key})/customproperties({custompropertyKey}) Get a restriction group custom property · Restriction groups get custom property by key and custompropertykey #
Ask an LLM
“How do I read a custom property stored on a restriction group?”
“Can restriction groups hold extra custom properties?”
Tell an agent
Get custom property {custompropertyKey} of restriction group {key}.
Show restriction group {key}'s custom property {custompropertyKey}.
GET /api/v1/admin/restrictiongroups({key})/productadditions({productKey}) Get a product added to a restriction group · Restriction groups get product addition by key and productkey #
Ask an LLM
“Was a certain product explicitly added to a restriction group?”
“How do I fetch one product addition on a restriction group?”
Tell an agent
Get product addition {productKey} on restriction group {key}.
Check whether product {productKey} was added to restriction group {key}.
GET /api/v1/admin/restrictiongroups({key})/productexceptions({productKey}) Get a product exempted from a restriction group · Restriction groups get product exception by key and productkey #
Ask an LLM
“Is a product carved out as an exception to a restriction group?”
“How do I read a product exception on a restriction group?”
Tell an agent
Get product exception {productKey} for restriction group {key}.
Check if product {productKey} is exempt from restriction group {key}.
GET /api/v1/admin/restrictiongroups({key})/products({productKey}) Get a product linked to a restriction group · Restriction groups get product by key and productkey #
Ask an LLM
“Which product record is linked under a restriction group's products?”
“Can I fetch one of the products a restriction group applies to?”
Tell an agent
Get product {productKey} under restriction group {key}'s products.
Show the linked product {productKey} in restriction group {key}.
GET /api/v1/admin/restrictiongroups({key})/restrictiongroupcustomers({restrictiongroupcustomerKey}) Get a restriction group customer assignment · Restriction groups get restriction group customer by key and… #
Ask an LLM
“How do I read one restriction group customer assignment record?”
“Can I see a single customer link record for a restriction group?”
Tell an agent
Get restriction group customer record {restrictiongroupcustomerKey} in group {key}.
Show assignment {restrictiongroupcustomerKey} of restriction group {key}.
GET /api/v1/admin/restrictiongroups({key})/websites({websiteKey}) Get a website a restriction group applies to · Restriction groups get website by key and websitekey #
Ask an LLM
“Is a restriction group valid on a specific website?”
“How do I fetch one website linked to a restriction group?”
Tell an agent
Get website {websiteKey} for restriction group {key}.
Check that restriction group {key} applies on website {websiteKey}.

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-restriction-groups-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-restriction-groups-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: admin-v1
  title: Admin API V1 Restriction Groups API
servers:
- url: https://dogfood.commerce.insitesandbox.com
security: []
tags:
- name: Restriction Groups
paths:
  /api/v1/admin/RestrictionGroups:
    get:
      tags:
      - Restriction Groups
      summary: Returns the EntitySet RestrictionGroups
      operationId: RestrictionGroups_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:
      - Restriction Groups
      summary: Post a new entity to EntitySet RestrictionGroups
      operationId: RestrictionGroups_Post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Insite.Data.Entities.RestrictionGroup'
        description: The entity to post
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/RestrictionGroups({id}):
    get:
      tags:
      - Restriction Groups
      summary: Returns the entity with the key from RestrictionGroups
      operationId: RestrictionGroups_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:
      - Restriction Groups
      summary: Replace entity in EntitySet RestrictionGroups
      operationId: RestrictionGroups_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.RestrictionGroup'
        description: The entity to put
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
    delete:
      tags:
      - Restriction Groups
      summary: Delete entity in EntitySet RestrictionGroups
      operationId: RestrictionGroups_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:
      - Restriction Groups
      summary: Update entity in EntitySet RestrictionGroups
      operationId: RestrictionGroups_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.RestrictionGroup'
        description: The entity to patch
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/RestrictionGroups/Default.Default():
    get:
      tags:
      - Restriction Groups
      summary: Call operation Default
      operationId: RestrictionGroups_Default
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
      deprecated: false
      security:
      - access_token: []
  /api/v1/admin/restrictiongroups/delete:
    delete:
      tags:
      - Restriction Groups
      operationId: RestrictionGroups_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: Restriction groups delete route
      x-summary-source: derived
  /api/v1/admin/restrictiongroups({key})/customeradditions({customerKey}):
    get:
      tags:
      - Restriction Groups
      operationId: RestrictionGroups_GetCustomerAdditionByKeyAndCustomerkey
      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: Restriction groups get customer addition by key and customerkey
      x-summary-source: derived
  /api/v1/admin/restrictiongroups({key})/customerexceptions({customerKey}):
    get:
      tags:
      - Restriction Groups
      operationId: RestrictionGroups_GetCustomerExceptionByKeyAndCustomerkey
      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: Restriction groups get customer exception by key and customerkey
      x-summary-source: derived
  /api/v1/admin/restrictiongroups({key})/customproperties({custompropertyKey}):
    get:
      tags:
      - Restriction Groups
      operationId: RestrictionGroups_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: Restriction groups get custom property by key and custompropertykey
      x-summary-source: derived
  /api/v1/admin/restrictiongroups({key})/productadditions({productKey}):
    get:
      tags:
      - Restriction Groups
      operationId: RestrictionGroups_GetProductAdditionByKeyAndProductkey
      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: Restriction groups get product addition by key and productkey
      x-summary-source: derived
  /api/v1/admin/restrictiongroups({key})/productexceptions({productKey}):
    get:
      tags:
      - Restriction Groups
      operationId: RestrictionGroups_GetProductExceptionByKeyAndProductkey
      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: Restriction groups get product exception by key and productkey
      x-summary-source: derived
  /api/v1/admin/restrictiongroups({key})/products({productKey}):
    get:
      tags:
      - Restriction Groups
      operationId: RestrictionGroups_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: Restriction groups get product by key and productkey
      x-summary-source: derived
  /api/v1/admin/restrictiongroups({key})/restrictiongroupcustomers({restrictiongroupcustomerKey}):
    get:
      tags:
      - Restriction Groups
      operationId: RestrictionGroups_GetRestrictionGroupCustomerByKeyAndRestrictiongroupcustomerkey
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: restrictiongroupcustomerKey
        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: Restriction groups get restriction group customer by key and…
      x-summary-source: derived
  /api/v1/admin/restrictiongroups({key})/websites({websiteKey}):
    get:
      tags:
      - Restriction Groups
      operationId: RestrictionGroups_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: Restriction groups get website by key and websitekey
      x-summary-source: derived
components:
  schemas:
    Insite.Data.Entities.RestrictionGroup:
      required:
      - name
      - description
      - displayType
      - validForWebsites
      type: object
      properties:
        id:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        name:
          maxLength: 255
          minLength: 0
          type: string
        description:
          maxLength: 2048
          minLength: 0
          type: string
        displayType:
          maxLength: 50
          minLength: 0
          type: string
        isActive:
          type: boolean
        isLocationBased:
          type: boolean
        customerRuleManagerId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        productRuleManagerId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        affectedCustomers:
          format: int32
          type: integer
        affectedProducts:
          format: int32
          type: integer
        validForWebsites:
          maxLength: 50
          minLength: 0
          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