Optimizely Customers API

Manage customer accounts and contact information.

Business capability
Customer Data Management BC-420.10

Operations 35

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 /commerce/customers/{customerId} Get a commerce customer account · Get a customer #
Ask an LLM
“How do I look up a commerce customer account by its customer ID?”
“What account details come back for a single commerce customer?”
Tell an agent
Get the commerce customer account {customerId}.
Show me the storefront account details for commerce customer {customerId}.
GET /api/v1/admin/Customers List and filter customer records · Returns the EntitySet Customers #
Ask an LLM
“How can I list every customer record in the Optimizely commerce admin?”
“Can I filter the admin customer list, say to only bill-to customers on credit hold?”
Tell an agent
List all customers in the admin console.
List customers matching the filter {filter}, sorted by {orderby}.
POST /api/v1/admin/Customers Create a customer record · Post a new entity to EntitySet Customers #
Ask an LLM
“How do I add a new B2B customer account through the admin API?”
“What fields must I supply when creating a customer, like customer number and company name?”
Tell an agent
Create a customer {customerNumber} for company {companyName} with email {email}.
Add a new customer with ERP number {erpNumber} and a credit limit of {creditLimit}.
GET /api/v1/admin/Customers({id}) Get an admin customer record by ID · Returns the entity with the key from Customers #
Ask an LLM
“Is there a call to fetch one customer record from the admin API by its ID?”
“Can I expand related data when retrieving a single admin customer?”
Tell an agent
Get admin customer record {id}.
Fetch customer {id} and expand {expand}.
PUT /api/v1/admin/Customers({id}) Replace a customer record · Replace entity in EntitySet Customers #
Ask an LLM
“What's the call to overwrite an entire customer record with a full new version?”
“Which customer fields do I need to resend when replacing the whole record?”
Tell an agent
Replace customer {id} entirely, with company name {companyName} and email {email}.
Overwrite the full record of customer {id} using customer number {customerNumber}.
DELETE /api/v1/admin/Customers({id}) Delete one customer record · Delete entity in EntitySet Customers #
Ask an LLM
“How do I permanently delete a single customer by ID?”
“Can I guard a customer delete with an ETag so I don't remove a changed record?”
Tell an agent destructive · confirm first
Delete customer {id}.
Delete customer {id} only if its ETag still matches {etag}.
PATCH /api/v1/admin/Customers({id}) Update fields on a customer · Update entity in EntitySet Customers #
Ask an LLM
“How do I change just a few fields on an existing customer, like the credit limit?”
“Can I put a customer on credit hold without resending the whole record?”
Tell an agent
Set the credit limit of customer {id} to {creditLimit}.
Put customer {id} on credit hold ({creditHold}).
GET /api/v1/admin/Customers/Default.Default() Get the default customer template · Call operation Default #
Ask an LLM
“What does a blank default customer look like before I fill it in?”
“Where do I get the default values for a new customer record?”
Tell an agent
Get the default customer record template.
Show me the default field values for a new customer.
POST /api/v1/admin/Customers/Default.archive Archive customers by ID list · Call operation archive #
Ask an LLM
“How do I archive several customers at once instead of deleting them?”
“Can I archive customers through the archive action by passing their IDs?”
Tell an agent
Archive customers {ids} using the archive action.
Run the customer archive action for IDs {ids}.
GET /api/v1/admin/Customers({id})/Default.userProfilesWithRolesFilter() List a customer's users filtered by role · Call operation userProfilesWithRolesFilter #
Ask an LLM
“Which user profiles with roles belong to a customer, via the userProfilesWithRolesFilter function?”
“How do I call the role-filtered user profile function on a customer ID?”
Tell an agent
Call userProfilesWithRolesFilter for customer {id}.
List role-filtered user profiles on customer {id} through the OData function.
GET /api/v1/admin/customers/formessage(messageId={messageId}) List customers available for a message · Customers get attribute values available by messageid #
Ask an LLM
“Which customers can a given site message be targeted to?”
“How do I see the customers available for a message ID?”
Tell an agent
List the customers available for message {messageId}.
Show which customers message {messageId} can be assigned to.
GET /api/v1/admin/customers({key})/userProfilesWithRolesFilter Get role-filtered users via customer key route · Customers get user profiles with roles filter by key #
Ask an LLM
“Is there a plain route, not the OData function, for a customer's users with roles?”
“How do I get user profiles with roles using the customer key path?”
Tell an agent
Get users with roles for customer key {key} via the userProfilesWithRolesFilter route.
Fetch the role-filtered user list on the customers({key}) route.
DELETE /api/v1/admin/customers/archive Archive customers through the archive route · Customers archive route #
Ask an LLM
“Can I archive a batch of customers with a DELETE call on the archive route?”
“What happens to customers sent to the customers/archive endpoint?”
Tell an agent destructive · confirm first
Archive customers {ids} via the DELETE archive route.
Send customer IDs {ids} to the customers/archive endpoint.
DELETE /api/v1/admin/customers/delete Bulk delete customers by ID · Customers delete route #
Ask an LLM
“How do I delete many customers in one request?”
“Can I bulk remove customer records by passing a list of IDs?”
Tell an agent destructive · confirm first
Bulk delete customers {ids}.
Permanently remove all of these customers: {ids}.
GET /api/v1/admin/customers({key})/budgetcalendars({budgetcalendarKey}) Get a customer's budget calendar · Customers get budget calendar by key and budgetcalendarkey #
Ask an LLM
“Is there a call to read one budget calendar attached to a customer?”
“Which budget periods does a customer's budget calendar define?”
Tell an agent
Get budget calendar {item} for customer {customer}.
Show the budget periods in calendar {item} on customer {customer}.
GET /api/v1/admin/customers({key})/carriers({carrierKey}) Get a carrier assigned to a customer · Customers get carrier by key and carrierkey #
Ask an LLM
“Can I check a specific shipping carrier linked to a customer?”
“Is a given carrier allowed for this customer account?”
Tell an agent
Get carrier {item} assigned to customer {customer}.
Show shipping carrier {item} details for customer {customer}.
GET /api/v1/admin/customers({key})/customercostcodes({customercostcodeKey}) Get a customer's cost code · Customers get customer cost code by key and customercostcodekey #
Ask an LLM
“Where do I look up a cost code defined for a customer?”
“What does a particular customer cost code describe?”
Tell an agent
Get cost code {item} for customer {customer}.
Show the description of cost code {item} on customer {customer}.
GET /api/v1/admin/customers({key})/customerorders({customerorderKey}) Get one order placed by a customer · Customers get customer order by key and customerorderkey #
Ask an LLM
“Can I pull a specific order that a customer placed?”
“Can I read an order through its customer's record?”
Tell an agent
Get order {item} placed by customer {customer}.
Show order {item} from customer {customer}'s order history.
GET /api/v1/admin/customers({key})/customerproducts({customerproductKey}) Get a customer-specific product entry · Customers get customer product by key and customerproductkey #
Ask an LLM
“Where can I see a customer-specific product entry, like their own part number?”
“Where are customer product settings stored for one account?”
Tell an agent
Get customer product entry {item} for customer {customer}.
Show the customer-specific product setting {item} on customer {customer}.
GET /api/v1/admin/customers({key})/customerproductsets({customerproductsetKey}) Get a product set assigned to a customer · Customers get customer product set by key and customerproductsetkey #
Ask an LLM
“Where do I find a product set assigned to a customer?”
“Which product set is linked to this customer account?”
Tell an agent
Get product set {item} for customer {customer}.
Show product set {item} assigned to customer {customer}.
GET /api/v1/admin/customers({key})/customproperties({custompropertyKey}) Get a custom property on a customer · Customers get custom property by key and custompropertykey #
Ask an LLM
“Where would I read a custom property stored on a customer?”
“Can I fetch one extra attribute I added to a customer record?”
Tell an agent
Get custom property {item} on customer {customer}.
Show the value of custom field {item} for customer {customer}.
GET /api/v1/admin/customers({key})/globalwishlists({wishlistKey}) Get a global wish list for a customer · Customers get global wish list by key and wishlistkey #
Ask an LLM
“Can I open a global wish list shared with a customer?”
“Which global lists are available to a customer account?”
Tell an agent
Get global wish list {item} for customer {customer}.
Show shared global list {item} on customer {customer}.
GET /api/v1/admin/customers({key})/productvisibilityadditions({productKey}) Check a product made visible to a customer · Customers get product visibility addition by key and productkey #
Ask an LLM
“How do I confirm a product was explicitly added to a customer's visible catalog?”
“Is a given product in the visibility additions for this customer?”
Tell an agent
Get visibility addition for product {item} on customer {customer}.
Check whether product {item} was added to customer {customer}'s visible products.
GET /api/v1/admin/customers({key})/productvisibilityexceptions({productKey}) Check a product hidden from a customer · Customers get product visibility exception by key and productkey #
Ask an LLM
“Can I see if a product is excluded from what a customer can view?”
“Is a product on a customer's visibility exception list?”
Tell an agent
Get visibility exception for product {item} on customer {customer}.
Check whether product {item} is hidden from customer {customer}.
GET /api/v1/admin/customers({key})/restrictiongroupadditions({restrictiongroupKey}) Get a restriction group added to a customer · Customers get restriction group addition by key and restrictiongroupkey #
Ask an LLM
“How do I check a restriction group added to a customer?”
“Which catalog restriction group additions apply to this account?”
Tell an agent
Get restriction group addition {item} for customer {customer}.
Show added restriction group {item} on customer {customer}.
GET /api/v1/admin/customers({key})/restrictiongroupcustomers({restrictiongroupcustomerKey}) Get a customer's restriction group membership · Customers get restriction group customer by key and restrictiongroupcustomerkey #
Ask an LLM
“Where is the membership row linking a customer to a restriction group?”
“Is this customer a member of a particular restriction group?”
Tell an agent
Get restriction group membership {item} for customer {customer}.
Show the restriction group customer link {item} on customer {customer}.
GET /api/v1/admin/customers({key})/restrictiongroupexceptions({restrictiongroupKey}) Get a restriction group excepted for a customer · Customers get restriction group exception by key and restrictiongroupkey #
Ask an LLM
“Where can I see a restriction group a customer is exempted from?”
“Which restriction group exceptions are set on this customer?”
Tell an agent
Get restriction group exception {item} for customer {customer}.
Show exempted restriction group {item} on customer {customer}.
GET /api/v1/admin/customers({key})/ruleclauses({ruleclauseKey}) Get a rule clause tied to a customer · Customers get rule clause by key and ruleclausekey #
Ask an LLM
“Where do I read a rule clause attached to a customer?”
“What conditions does a customer's rule clause contain?”
Tell an agent
Get rule clause {item} for customer {customer}.
Show the conditions in rule clause {item} on customer {customer}.
GET /api/v1/admin/customers({key})/userprofiles({userprofileKey}) Get a user profile under a customer · Customers get user profile by key and userprofilekey #
Ask an LLM
“Is there a call to fetch one buyer user profile belonging to a customer?”
“Can I read a specific user's profile through their customer account?”
Tell an agent
Get user profile {item} under customer {customer}.
Show buyer user {item} on customer account {customer}.
GET /api/v1/admin/customers({key})/websites({websiteKey}) Get a website assigned to a customer · Customers get website by key and websitekey #
Ask an LLM
“Which website is a customer assigned to?”
“Can I read a storefront website through its customer link?”
Tell an agent
Get website {item} assigned to customer {customer}.
Show storefront site {item} linked to customer {customer}.
GET /api/v1/admin/customers({key})/wishlistadditions({wishlistKey}) Get a wish list added to a customer · Customers get wish list addition by key and wishlistkey #
Ask an LLM
“Can I read a wish list explicitly added to a customer?”
“Which wish list additions are granted to this customer?”
Tell an agent
Get wish list addition {item} for customer {customer}.
Show added wish list {item} granted to customer {customer}.
GET /api/v1/admin/customers({key})/wishlistexceptions({wishlistKey}) Get a wish list excluded for a customer · Customers get wish list exception by key and wishlistkey #
Ask an LLM
“Where can I see a wish list a customer is excluded from?”
“Is a shared wish list on this customer's exception list?”
Tell an agent
Get wish list exception {item} for customer {customer}.
Show excluded wish list {item} on customer {customer}.
GET /api/v1/admin/customers({key})/wishlists({wishlistKey}) Get a customer's own wish list · Customers get wish list by key and wishlistkey #
Ask an LLM
“Is there a call to read one of a customer's own saved wish lists?”
“What products are in a particular wish list a customer owns?”
Tell an agent
Get wish list {item} owned by customer {customer}.
Show the products saved in customer {customer}'s list {item}.
GET /profiles Look up a customer profile's attributes · Get Customer Information #
Ask an LLM
“How do I get the attributes and identifiers stored for a customer profile?”
“Which identifiers are linked to a customer, like email or customer ID?”
Tell an agent
Look up the customer profile matching {params}.
Get attributes and identifiers for the customer identified by {params}.
POST /profiles Create or update customer attributes · Create and update customers #
Ask an LLM
“How do I create or update customer profiles with new attributes?”
“Can I send updated identifiers for a customer in one call?”
Tell an agent
Create or update customer profiles with the attributes I provide.
Upsert these customer identifiers and attributes into the profiles store.

Documentation

Specifications

Schemas & Data

Other Resources

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-customers-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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-customers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Optimizely Customers API
  version: '1.0'
  description: 'Operations tagged Customers across 3 of this provider''s published API definitions: optimizely-commerce-service-openapi.yml, optimizely-configured-commerce-admin-api-v1-openapi.json, optimizely-data-platform-customers-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: '{siteUrl}/episerverapi'
  description: Optimizely Commerce Service API endpoint
  variables:
    siteUrl:
      default: https://www.example.com
      description: The base URL of the Optimizely Commerce site
- url: https://dogfood.commerce.insitesandbox.com
- url: https://api.us1.odp.optimizely.com/v3
  description: United States
- url: https://api.eu1.odp.optimizely.com/v3
  description: Europe
- url: https://api.au1.odp.optimizely.com/v3
  description: Asia-Pacific
tags:


# --- truncated at 32 KB (47 KB total) ---
# Full source: https://artifacts.apis.io/optimizely/openapi/optimizely-customers-api-openapi.yml