Optimizely Customers API

Manage customer accounts and contact information.

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

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"

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-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://raw.githubusercontent.com/api-evangelist/optimizely/refs/heads/main/openapi/optimizely-customers-api-openapi.yml