---
title: "Salesforce B2C Commerce API (SCAPI) MCP server - actionlake"
description: "Give Claude 248 Salesforce B2C Commerce API (SCAPI) actions through one MCP server. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/salesforce-b2c-commerce-api-scapi
updated: 2026-10-23
---

Connectors · Commerce

# Salesforce B2C Commerce API (SCAPI) MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Salesforce B2C Commerce API (SCAPI) and the rest of your systems. It gives your agent 248 Salesforce B2C Commerce API (SCAPI) actions (99 reads, 106 writes and 43 that wait for a confirmation) and holds the Salesforce B2C Commerce API (SCAPI) credential itself, so the agent never does. It paces Salesforce B2C Commerce API (SCAPI)'s limits and records every call.

[Connect Salesforce B2C Commerce API (SCAPI) free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "salesforce_commerce_cloud.catalogs.get_catalogs",
  intent: "check which Salesforce B2C Commerce API (SCAPI) account is connected"
}
# Retrieve a list of catalog IDs · read · 1 upstream call
```

- 248 actions in one signed file
- 99 read look, never change
- 106 write create and update
- 43 wait for a yes destructive, confirmed first

Set up

## Connect Salesforce B2C Commerce API (SCAPI) in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Salesforce B2C Commerce API (SCAPI).
   OAuth 2.0, client credentials. Paste the app's client id and secret; actionlake fetches and renews the token, and nobody has to sign in. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `client_id` Account Manager API client ID
   - `client_secret` Account Manager API client password (the client secret set when the API client was created)
   - `api_scopes` Your Salesforce B2C Commerce API (SCAPI) api scopes
   - `organization_id` Your Salesforce B2C Commerce API (SCAPI) organization id
   - `short_code` Your Salesforce B2C Commerce API (SCAPI) short code
   ```
   account { op: "connections.requirements", service: "salesforce_commerce_cloud" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "salesforce_commerce_cloud.catalogs.get_catalogs" }
   # retrieve a list of catalog ids · read · 1 upstream call
   check { action: "salesforce_commerce_cloud.products.create_product", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Salesforce B2C Commerce API (SCAPI) at a glance

**Sign-in**

OAuth 2.0, client credentials. Paste the app's client id and secret; actionlake fetches and renews the token, and nobody has to sign in.

**You provide**

`client_id` `client_secret`

**Setup fields**

`api_scopes` `organization_id` `short_code`

**Limits we pace to**

600 calls a minute, per connection

**API covered**

Salesforce Commerce API (SCAPI) Admin APIs, v1 (OpenAPI 3.0, commerce-sdk assignments 1.0.39, auth-admin 1.19.1, campaigns 1.1.1, catalogs 1.0.47, cors 1.1.1, coupons 1.0.44, customers 1.1.4, gift-certificates 1.0.43, orders 1.6.4, preferences 1.2.3, products 1.2.0, promotions 1.2.0, source-code-groups 1.0.42, zones 1.3.0), at your own api.commercecloud.salesforce.com address, set when you connect

**Built from**

Salesforce B2C Commerce API (SCAPI)'s documentation, read 23 October 2026[OpenAPI spec (GitHub)](https://github.com/SalesforceCommerceCloud/commerce-sdk/blob/main/apis/assignments-oas-1.0.39/assignments-oas-v1-public.yaml) [OpenAPI spec (GitHub)](https://github.com/SalesforceCommerceCloud/commerce-sdk/blob/main/apis/auth-admin-oas-1.19.1/auth-admin-oas-v1-public.yaml) [OpenAPI spec (GitHub)](https://github.com/SalesforceCommerceCloud/commerce-sdk/blob/main/apis/campaigns-oas-1.1.1/campaigns-oas-v1-public.yaml)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

94 of 99 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

3, so ask can line Salesforce B2C Commerce API (SCAPI) up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Salesforce B2C Commerce API (SCAPI).

248 actions in 14 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **99** read look, never change
- **106** write create and update
- **43** destructive wait for a confirmation

1. ### CDN zones
   82
   31 read · 37 write · 14 destructive
   Add certificate for a zone · Create a cache rule · Set up two-factor mTLS certificates for the account and associate the staging zone code upload hostname · Create a custom rule
2. ### Products
   36
   15 read · 14 write · 7 destructive
   Search products · Create or overwrite a product with provided data · Get product information · Partially update fields of an existing product
3. ### Catalogs
   32
   15 read · 10 write · 7 destructive
   Retrieve all categories within a catalog · Add products to the exclusion list · Create a category product assignment · Create or update a category within a catalog
4. ### Customers
   15
   6 read · 6 write · 3 destructive
   Search for customers in a customer list · Get a list of customer addresses · Add a new customer address · Get a list of customer groups
5. ### Slas admin
   15
   6 read · 5 write · 4 destructive
   Create or update a client · Create or update an identity provider · Create or update a password action template · Create or update a tenant. Use the request body to provide identification and contact information for the tenant and it…
6. ### Orders
   14
   2 read · 12 write · 0 destructive
   Return order details that match the query filters. By default, calling this API with no filter returns the 100 most rec… · Create an order · Submit a third-party OMS status event for an order · Return order details for the specified order number
7. ### Promotions
   12
   4 read · 6 write · 2 destructive
   Create a promotion using the information provided · Create or replace the compatibility settings for a promotion · Create or replace the discount rule for a promotion · Search for promotions
8. ### Campaigns
   10
   4 read · 4 write · 2 destructive
   Create or replace a promotion campaign assignment · Search for campaigns using a search request object that allows filtering on various attributes · Create a campaign using the information provided · List promotions assigned to a campaign

**6 more areas · 32 actions**

- Coupons **9**
- Preferences **9**
- Gift certificates **5**
- Source code groups **5**
- Cors **3**
- Assignments **1**

Top actions

## The Salesforce B2C Commerce API (SCAPI) API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 14 of Salesforce B2C Commerce API (SCAPI)'s 15 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `salesforce_commerce_cloud.orders.get_orders` Return order details that match the query filters. By default, calling this API with no filter returns the 100 most rec… | Return order details that match the query filters. By default, calling this API with no filter returns the 100 most rec…. | read | `commerce.order.list` 82 connectors |
| `salesforce_commerce_cloud.products.search_products` Search products | Search products. | read | `commerce.product.search` 18 connectors |
| `salesforce_commerce_cloud.products.create_product` Create or overwrite a product with provided data | Create or overwrite a product with provided data. | write | `commerce.product.create` 92 connectors |
| `salesforce_commerce_cloud.orders.create_orders` Create an order | Create an order. | write | `commerce.order.create` 67 connectors |
| `salesforce_commerce_cloud.products.delete_product` Deletes the product by ID | Deletes the product by ID. | destructive | `commerce.product.delete` 80 connectors |
| `salesforce_commerce_cloud.customers.search_customer_in_customer_list` Search for customers in a customer list | Search for customers in a customer list. | read | `commerce.customer.search` 3 connectors |
| `salesforce_commerce_cloud.catalogs.get_categories_from_catalog` Retrieve all categories within a catalog | Retrieve all categories within a catalog. | read | `commerce.product_category.list` 25 connectors |
| `salesforce_commerce_cloud.products.get_variations_for_master_product` List all variations of a master product | List all variations of a master product. | read | `commerce.product_variant.list` 16 connectors |
| `salesforce_commerce_cloud.customers.get_addresses_for_customer_from_customer_list` Get a list of customer addresses | Get a list of customer addresses. | read | `commerce.customer_address.list` 10 connectors |
| `salesforce_commerce_cloud.customers.get_customer_groups` Get a list of customer groups | Get a list of customer groups. | read | `commerce.customer_group.list` 9 connectors |
| `salesforce_commerce_cloud.customers.create_address_for_customer_in_customer_list` Add a new customer address | Add a new customer address. | write | `commerce.customer_address.create` 9 connectors |
| `salesforce_commerce_cloud.products.search_product_variations` Search product variations using complex queries and filters | Search product variations using complex queries and filters. | read | this connector |

Try it

## Prompts to paste into Claude.

Each one names the Salesforce B2C Commerce API (SCAPI) actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Which Salesforce B2C Commerce API (SCAPI) orders from the last seven days are still unfulfilled?
   calls `salesforce_commerce_cloud.orders.get_orders`
2. Write write
   Create or overwrite a product with provided data in Salesforce B2C Commerce API (SCAPI). Show me exactly what you will send before you save it.
   calls `salesforce_commerce_cloud.products.create_product`

Governance for Salesforce B2C Commerce API (SCAPI)

## Destructive actions wait for a yes.

43 Salesforce B2C Commerce API (SCAPI) actions are destructive. The first 10:

- Deletes the product by ID `salesforce_commerce_cloud.products.delete_product`
- Delete a rule `salesforce_commerce_cloud.catalogs.delete_rule`
- Delete all rules and conditions for a catalog and category `salesforce_commerce_cloud.catalogs.delete_category_rules`
- Delete or unbind a product option `salesforce_commerce_cloud.products.delete_product_option`
- Remove a variation attribute `salesforce_commerce_cloud.products.delete_variation_attribute`
- Delete a product option value `salesforce_commerce_cloud.products.delete_product_option_value`
- Delete a specific category from a catalog `salesforce_commerce_cloud.catalogs.delete_category_from_catalog`
- Delete a condition `salesforce_commerce_cloud.catalogs.delete_category_rule_condition`
- Remove a category product assignment `salesforce_commerce_cloud.catalogs.unassign_product_from_category`
- Delete all conditions for a rule `salesforce_commerce_cloud.catalogs.delete_category_rule_conditions`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do salesforce_commerce_cloud.products.delete_product confirm_policy: **human**

Deletes the product by ID?

**intent:** the user asked me to deletes the product by ID

run suspended · waiting for a named person · key _salesforce-commerce-cloud-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "salesforce-commerce-cloud-agent",
  allowed_actions: ["salesforce_commerce_cloud.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "salesforce_commerce_cloud.products.delete_product", approver: "lead@example.com" },
    { match: "salesforce_commerce_cloud.catalogs.delete_rule", approver: "lead@example.com" },
    { match: "salesforce_commerce_cloud.catalogs.delete_category_rules", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Salesforce B2C Commerce API (SCAPI) only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Salesforce B2C Commerce API (SCAPI) costs on actionlake.

Every Salesforce B2C Commerce API (SCAPI) action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Salesforce B2C Commerce API (SCAPI) refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 248 Salesforce B2C Commerce API (SCAPI) actions
- 248 actions page each page of a long list is one call
- 94 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Salesforce B2C Commerce API (SCAPI) action.

248 actions by area: the id your agent calls, what it does, and its effect.

**CDN zones 82**

- `salesforce_commerce_cloud.cdn_zones.add_certificate_for_zone` Add certificate for a zone write
- `salesforce_commerce_cloud.cdn_zones.cache_purge` Purge the cache for the host specified in the request body destructive
- `salesforce_commerce_cloud.cdn_zones.create_cache_rule` Create a cache rule write
- `salesforce_commerce_cloud.cdn_zones.create_code_upload_certificate` Set up two-factor mTLS certificates for the account and associate the staging zone code upload hostname write
- `salesforce_commerce_cloud.cdn_zones.create_custom_rule` Create a custom rule write
- `salesforce_commerce_cloud.cdn_zones.create_logpush_job` Create Logpush job write
- `salesforce_commerce_cloud.cdn_zones.create_logpush_ownership` Create Logpush ownership token file write
- `salesforce_commerce_cloud.cdn_zones.create_mrt_rules` Create MRT rules to route to a new MRT environment write
- `salesforce_commerce_cloud.cdn_zones.create_page_shield_policy` Create page shield policy write
- `salesforce_commerce_cloud.cdn_zones.create_rate_limiting_rule` Create a rate limiting rule write
- `salesforce_commerce_cloud.cdn_zones.create_storefront_zone` Create a new storefront zone write
- `salesforce_commerce_cloud.cdn_zones.create_turnstile_widget` Create a Turnstile widget for the requesting instance write
- `salesforce_commerce_cloud.cdn_zones.create_webhook` Create webhook write
- `salesforce_commerce_cloud.cdn_zones.delete_cache_rule` Delete a cache rule destructive
- `salesforce_commerce_cloud.cdn_zones.delete_certificate` Delete a custom hostname and the certificate associated with it. Note that a valid certificate is necessary for a site… destructive
- `salesforce_commerce_cloud.cdn_zones.delete_code_upload_certificate` Remove an mTLS certificate and associated hostname destructive
- `salesforce_commerce_cloud.cdn_zones.delete_custom_rule` Delete a specific custom rule destructive
- `salesforce_commerce_cloud.cdn_zones.delete_logpush_job` Delete Logpush job by job ID destructive
- `salesforce_commerce_cloud.cdn_zones.delete_mrt_rule` Delete an MRT rule destructive
- `salesforce_commerce_cloud.cdn_zones.delete_mrt_ruleset` Delete the MRT ruleset and all rules within the ruleset destructive
- `salesforce_commerce_cloud.cdn_zones.delete_origin_header_modification` Delete the origin header modification associated with a zone. Only the `mrt` type is supported destructive
- `salesforce_commerce_cloud.cdn_zones.delete_page_shield_notification` Delete page shield notification webhook destructive
- `salesforce_commerce_cloud.cdn_zones.delete_page_shield_policy` Delete page shield policy destructive
- `salesforce_commerce_cloud.cdn_zones.delete_rate_limiting_rule` Delete a specific rate limiting rule destructive
- `salesforce_commerce_cloud.cdn_zones.delete_turnstile_widget` Delete a Turnstile widget destructive
- `salesforce_commerce_cloud.cdn_zones.delete_webhook` Delete webhook destructive
- `salesforce_commerce_cloud.cdn_zones.get_cache_rules` Retrieve existing cache rules read
- `salesforce_commerce_cloud.cdn_zones.get_certificates` List certificates for a zone read
- `salesforce_commerce_cloud.cdn_zones.get_cipher_suites` Get cipher suites settings by zoneId read
- `salesforce_commerce_cloud.cdn_zones.get_code_upload_certificate` Return the mTLS certificate for the given account's mTLS certificate ID read
- `salesforce_commerce_cloud.cdn_zones.get_code_upload_certificates` Return all the mTLS certificates for the account read
- `salesforce_commerce_cloud.cdn_zones.get_custom_rule` Retrieve a specific custom rule read
- `salesforce_commerce_cloud.cdn_zones.get_custom_rules` Retrieve existing custom rules read
- `salesforce_commerce_cloud.cdn_zones.get_logpush_job` Get Logpush job details read
- `salesforce_commerce_cloud.cdn_zones.get_mrt_rules` Get all MRT rules read
- `salesforce_commerce_cloud.cdn_zones.get_origin_header_modification` Get the origin header modification associated with a zone. Only the `mrt` type is supported read
- `salesforce_commerce_cloud.cdn_zones.get_owasp_waf_package` Get an OWASP ModSecurity Core Rule Set read
- `salesforce_commerce_cloud.cdn_zones.get_page_shield_notification` Get page shield notification webhooks read
- `salesforce_commerce_cloud.cdn_zones.get_page_shield_policies` List page shield policies read
- `salesforce_commerce_cloud.cdn_zones.get_page_shield_policy` Get page shield policy by policy ID read
- `salesforce_commerce_cloud.cdn_zones.get_page_shield_script` Fetch a script detected by Page Shield by script ID read
- `salesforce_commerce_cloud.cdn_zones.get_page_shield_scripts` Retrieve a list of scripts detected by page shield for a specific zone read
- `salesforce_commerce_cloud.cdn_zones.get_rate_limiting_rule` Retrieve a specific rate limiting rule read
- `salesforce_commerce_cloud.cdn_zones.get_rate_limiting_rules` Retrieve existing rate limiting rules read
- `salesforce_commerce_cloud.cdn_zones.get_security_settings` Retrieve the security settings for a zone read
- `salesforce_commerce_cloud.cdn_zones.get_speed_settings` Retrieve the speed settings for a zone read
- `salesforce_commerce_cloud.cdn_zones.get_turnstile_widget` Get Turnstile widget details read
- `salesforce_commerce_cloud.cdn_zones.get_waf_groups` Retrieve all WAF groups accessible to the caller read
- `salesforce_commerce_cloud.cdn_zones.get_waf_managed_rules_in_ruleset` Retrieve all rules in the specified WAFv2 managed ruleset read
- `salesforce_commerce_cloud.cdn_zones.get_waf_managed_rulesets` Retrieve WAFv2 managed rulesets read
- `salesforce_commerce_cloud.cdn_zones.get_waf_rule` Retrieve details of a specific WAF rule read
- `salesforce_commerce_cloud.cdn_zones.get_waf_rules` Retrieve WAF rules for the WAF group specified by the caller read
- `salesforce_commerce_cloud.cdn_zones.get_webhook` Get webhook by ID read
- `salesforce_commerce_cloud.cdn_zones.get_webhooks` List webhooks read
- `salesforce_commerce_cloud.cdn_zones.get_zones_info` Retrieve zone information read
- `salesforce_commerce_cloud.cdn_zones.list_logpush_job` List Logpush job read
- `salesforce_commerce_cloud.cdn_zones.list_turnstile_widgets` List Turnstile widgets for the requesting instance read
- `salesforce_commerce_cloud.cdn_zones.migrate_zone_to_waf_v2` Migrate a zone to WAFv2. Only applicable for existing zones using WAFv1 write
- `salesforce_commerce_cloud.cdn_zones.patch_owasp_waf_package` Patch an OWASP ModSecurity Core Rule Set write
- `salesforce_commerce_cloud.cdn_zones.post_page_shield_notification` Setup page shield notification webhook write
- `salesforce_commerce_cloud.cdn_zones.toggle_ocapi_caching_page_rule` Enable or disable the OCAPI Caching page rule write
- `salesforce_commerce_cloud.cdn_zones.update_cache_rule` Update a cache rule write
- `salesforce_commerce_cloud.cdn_zones.update_certificate` Update the certificate for a given certificateId for a particular zone write
- `salesforce_commerce_cloud.cdn_zones.update_cipher_suites` Update cipher suite settings for the zone write
- `salesforce_commerce_cloud.cdn_zones.update_custom_rule` Update a specific custom rule write
- `salesforce_commerce_cloud.cdn_zones.update_logpush_job` Update Logpush job write
- `salesforce_commerce_cloud.cdn_zones.update_mrt_rule` Update an MRT rule write
- `salesforce_commerce_cloud.cdn_zones.update_mrt_ruleset` Update the MRT environment hostname or add MRT rules to route to an existing MRT environment write
- `salesforce_commerce_cloud.cdn_zones.update_order_of_custom_rules` Update the order of all existing custom rules write
- `salesforce_commerce_cloud.cdn_zones.update_page_shield_notification` Update page shield notification webhook write
- `salesforce_commerce_cloud.cdn_zones.update_page_shield_policy` Update page shield policy by policy ID write
- `salesforce_commerce_cloud.cdn_zones.update_rate_limiting_rule` Update a specific rate limiting rule write
- `salesforce_commerce_cloud.cdn_zones.update_security_settings` Update the security settings for a zone write
- `salesforce_commerce_cloud.cdn_zones.update_speed_settings` Update the speed settings for a zone write
- `salesforce_commerce_cloud.cdn_zones.update_turnstile_widget` Update an existing Turnstile widget write
- `salesforce_commerce_cloud.cdn_zones.update_waf_group` Update the action or mode of a specific WAF group write
- `salesforce_commerce_cloud.cdn_zones.update_waf_managed_rule_in_ruleset` Update a WAF managed rule in the specified WAFv2 managed ruleset write
- `salesforce_commerce_cloud.cdn_zones.update_waf_managed_ruleset` Update WAFv2 managed ruleset write
- `salesforce_commerce_cloud.cdn_zones.update_waf_rule` Update the action of a specific WAF rule write
- `salesforce_commerce_cloud.cdn_zones.update_webhook` Update webhook write
- `salesforce_commerce_cloud.cdn_zones.upsert_origin_header_modification` Upsert an origin header modification. Only the `mrt` type is supported write
- `salesforce_commerce_cloud.cdn_zones.validate_custom_hostname` Trigger the validation of a custom hostname write

**Products 36**

- `salesforce_commerce_cloud.products.assign_variation_for_master_product` Assign a variation to a master product (creates if not exists) write
- `salesforce_commerce_cloud.products.assign_variation_group_to_master_product` Assign or create a variation group for a product write
- `salesforce_commerce_cloud.products.create_product` Create or overwrite a product with provided data write
- `salesforce_commerce_cloud.products.create_product_option` Create or bind a product option write
- `salesforce_commerce_cloud.products.create_product_option_value` Create a product option value write
- `salesforce_commerce_cloud.products.create_variation_attribute` Create a variation attribute write
- `salesforce_commerce_cloud.products.create_variation_attribute_value` Create a variation attribute value write
- `salesforce_commerce_cloud.products.delete_product` Deletes the product by ID destructive
- `salesforce_commerce_cloud.products.delete_product_option` Delete or unbind a product option destructive
- `salesforce_commerce_cloud.products.delete_product_option_value` Delete a product option value destructive
- `salesforce_commerce_cloud.products.delete_variation_attribute` Remove a variation attribute destructive
- `salesforce_commerce_cloud.products.delete_variation_attribute_value` Delete a variation attribute value destructive
- `salesforce_commerce_cloud.products.get_categorization_attribute_definitions` Get allowed attributes, values, and operators for creating rule-based categorization conditions read
- `salesforce_commerce_cloud.products.get_product` Get product information read
- `salesforce_commerce_cloud.products.get_product_option` Retrieve a specific product option read
- `salesforce_commerce_cloud.products.get_product_option_value` Retrieve a product option value read
- `salesforce_commerce_cloud.products.get_product_options` Retrieve product options for a product read
- `salesforce_commerce_cloud.products.get_variation_attribute` Retrieve a specific variation attribute read
- `salesforce_commerce_cloud.products.get_variation_attribute_value` Retrieve a variation attribute value read
- `salesforce_commerce_cloud.products.get_variation_attributes` Retrieve variation attributes of a product read
- `salesforce_commerce_cloud.products.get_variation_for_master_product` Get details of a specific variation read
- `salesforce_commerce_cloud.products.get_variation_group_for_master_product` Get a specific variation group read
- `salesforce_commerce_cloud.products.get_variation_groups_for_master_product` List all variation groups of a product read
- `salesforce_commerce_cloud.products.get_variations_for_master_product` List all variations of a master product read
- `salesforce_commerce_cloud.products.search_product_variations` Search product variations using complex queries and filters read
- `salesforce_commerce_cloud.products.search_products` Search products read
- `salesforce_commerce_cloud.products.search_unassigned_products` Search for unassigned products read
- `salesforce_commerce_cloud.products.unassign_variation_from_master_product` Unassign a variation from a product (does not delete it) destructive
- `salesforce_commerce_cloud.products.unassign_variation_group_from_master_product` Unassign a variation group (product not deleted) destructive
- `salesforce_commerce_cloud.products.update_product` Partially update fields of an existing product write
- `salesforce_commerce_cloud.products.update_product_option` Update a product option write
- `salesforce_commerce_cloud.products.update_product_option_value` Update a product option value write
- `salesforce_commerce_cloud.products.update_variation_attribute` Update a variation attribute write
- `salesforce_commerce_cloud.products.update_variation_attribute_value` Update a variation attribute value write
- `salesforce_commerce_cloud.products.update_variation_for_master_product` Update a specific product variation write
- `salesforce_commerce_cloud.products.update_variation_group_for_master_product` Update an existing variation group write

**Catalogs 32**

- `salesforce_commerce_cloud.catalogs.add_products_to_exclusion_list` Add products to the exclusion list write
- `salesforce_commerce_cloud.catalogs.assign_product_to_category` Create a category product assignment write
- `salesforce_commerce_cloud.catalogs.create_category_in_catalog` Create or update a category within a catalog write
- `salesforce_commerce_cloud.catalogs.create_category_rules` Create rules and conditions for a catalog and category write
- `salesforce_commerce_cloud.catalogs.create_or_update_category_rule_condition` Create or update a condition write
- `salesforce_commerce_cloud.catalogs.create_update_rule` Create or update a rule write
- `salesforce_commerce_cloud.catalogs.delete_category_from_catalog` Delete a specific category from a catalog destructive
- `salesforce_commerce_cloud.catalogs.delete_category_rule_condition` Delete a condition destructive
- `salesforce_commerce_cloud.catalogs.delete_category_rule_conditions` Delete all conditions for a rule destructive
- `salesforce_commerce_cloud.catalogs.delete_category_rules` Delete all rules and conditions for a catalog and category destructive
- `salesforce_commerce_cloud.catalogs.delete_rule` Delete a rule destructive
- `salesforce_commerce_cloud.catalogs.get_assigned_product_from_category` Retrieve a category product assignment read
- `salesforce_commerce_cloud.catalogs.get_catalog` Retrieve details of a specific catalog read
- `salesforce_commerce_cloud.catalogs.get_catalogs` Retrieve a list of catalog IDs read
- `salesforce_commerce_cloud.catalogs.get_categories_from_catalog` Retrieve all categories within a catalog read
- `salesforce_commerce_cloud.catalogs.get_categorization_status` Get the status of the latest categorization job read
- `salesforce_commerce_cloud.catalogs.get_category_from_catalog` Retrieve details of a specific category within a catalog read
- `salesforce_commerce_cloud.catalogs.get_category_rule_condition` Retrieve a condition by ID read
- `salesforce_commerce_cloud.catalogs.get_category_rule_conditions` Retrieve conditions for a rule read
- `salesforce_commerce_cloud.catalogs.get_category_rules` Retrieve all rules for a catalog and category read
- `salesforce_commerce_cloud.catalogs.get_exclusion_list` Get the list of excluded products read
- `salesforce_commerce_cloud.catalogs.get_rule_by_id` Retrieve a rule by ID read
- `salesforce_commerce_cloud.catalogs.remove_products_from_exclusion_list` Remove products from the exclusion list destructive
- `salesforce_commerce_cloud.catalogs.run_category_rules` Submit a job to evaluate or execute the rules write
- `salesforce_commerce_cloud.catalogs.search_catalogs` Search for catalogs read
- `salesforce_commerce_cloud.catalogs.search_categories` Search for categories within an organization read
- `salesforce_commerce_cloud.catalogs.search_categories_in_catalog` Search for catalog categories read
- `salesforce_commerce_cloud.catalogs.search_products_assigned_to_category` Search for category product assignments read
- `salesforce_commerce_cloud.catalogs.unassign_product_from_category` Remove a category product assignment destructive
- `salesforce_commerce_cloud.catalogs.update_catalog` Update details of a specific catalog write
- `salesforce_commerce_cloud.catalogs.update_category_in_catalog` Update a specific category within a catalog write
- `salesforce_commerce_cloud.catalogs.update_product_category_assignment` Update a category product assignment write

**Customers 15**

- `salesforce_commerce_cloud.customers.assign_customer_group_members` Assign multiple customers to a customer group write
- `salesforce_commerce_cloud.customers.create_address_for_customer_in_customer_list` Add a new customer address write
- `salesforce_commerce_cloud.customers.create_customer_in_customer_list` Create a new customer in a customer list write
- `salesforce_commerce_cloud.customers.create_customer_list` Create a new customer in a customer list write
- `salesforce_commerce_cloud.customers.delete_customer_from_customer_list` Delete a customer from a customer list destructive
- `salesforce_commerce_cloud.customers.get_address_for_customer_from_customer_list` Get a customer address read
- `salesforce_commerce_cloud.customers.get_addresses_for_customer_from_customer_list` Get a list of customer addresses read
- `salesforce_commerce_cloud.customers.get_customer_from_customer_list` Get customer information read
- `salesforce_commerce_cloud.customers.get_customer_groups` Get a list of customer groups read
- `salesforce_commerce_cloud.customers.remove_address_for_customer_in_customer_list` Delete a customer address destructive
- `salesforce_commerce_cloud.customers.search_customer_group` Search for customer groups read
- `salesforce_commerce_cloud.customers.search_customer_in_customer_list` Search for customers in a customer list read
- `salesforce_commerce_cloud.customers.unassign_customer_group_members` Unassign multiple customers from a customer group destructive
- `salesforce_commerce_cloud.customers.update_address_for_customer_in_customer_list` Update a customer address write
- `salesforce_commerce_cloud.customers.update_customer_in_customer_list` Update a customer in a customer list write

**Slas admin 15**

- `salesforce_commerce_cloud.slas_admin.batch_logout` Log out multiple shoppers in a single request by revoking active refresh and access tokens for each shopper and all the… write
- `salesforce_commerce_cloud.slas_admin.delete_client` Delete a client destructive
- `salesforce_commerce_cloud.slas_admin.delete_identity_provider` Delete an identity provider destructive
- `salesforce_commerce_cloud.slas_admin.delete_pwd_action_template` Delete a password action template destructive
- `salesforce_commerce_cloud.slas_admin.delete_shopper` Delete all shopper records associated with a shopper's customer ID. The email ID is used if it's passed as a query para… destructive
- `salesforce_commerce_cloud.slas_admin.register_client` Create or update a client write
- `salesforce_commerce_cloud.slas_admin.register_identity_provider` Create or update an identity provider write
- `salesforce_commerce_cloud.slas_admin.register_pwd_action_template` Create or update a password action template write
- `salesforce_commerce_cloud.slas_admin.register_tenant` Create or update a tenant. Use the request body to provide identification and contact information for the tenant and it… write
- `salesforce_commerce_cloud.slas_admin.retrieve_client` Retrieve a client read
- `salesforce_commerce_cloud.slas_admin.retrieve_clients` Retrieve/Get all tenant clients read
- `salesforce_commerce_cloud.slas_admin.retrieve_identity_provider` Retrieve/Get a specific identity provider read
- `salesforce_commerce_cloud.slas_admin.retrieve_identity_providers` Retrieve/Get all tenant identity providers read
- `salesforce_commerce_cloud.slas_admin.retrieve_pwd_action_template` Retrieve/get a password action template read
- `salesforce_commerce_cloud.slas_admin.retrieve_tenant` Retrieve a tenant by tenant ID read

**Orders 14**

- `salesforce_commerce_cloud.orders.create_oms_status_event` Submit a third-party OMS status event for an order write
- `salesforce_commerce_cloud.orders.create_orders` Create an order write
- `salesforce_commerce_cloud.orders.get_order` Return order details for the specified order number read
- `salesforce_commerce_cloud.orders.get_orders` Return order details that match the query filters. By default, calling this API with no filter returns the 100 most rec… read
- `salesforce_commerce_cloud.orders.update_order` Update an order write
- `salesforce_commerce_cloud.orders.update_order_confirmation_status` Update order confirmation status write
- `salesforce_commerce_cloud.orders.update_order_export_status` Update order export status. If on-order inventory is enabled for the associated inventory list, then setting the export… write
- `salesforce_commerce_cloud.orders.update_order_external_status` Update order external status write
- `salesforce_commerce_cloud.orders.update_order_payment_instrument` Update the payment instrument of an order write
- `salesforce_commerce_cloud.orders.update_order_payment_status` Update order payment status write
- `salesforce_commerce_cloud.orders.update_order_payment_transaction` Update the transaction of an order payment instrument write
- `salesforce_commerce_cloud.orders.update_order_shipping_address` Create or replace a shipping address write
- `salesforce_commerce_cloud.orders.update_order_shipping_status` Update order shipping status write
- `salesforce_commerce_cloud.orders.update_order_status` Update order status write

**Promotions 12**

- `salesforce_commerce_cloud.promotions.create_promotion` Create a promotion using the information provided write
- `salesforce_commerce_cloud.promotions.create_promotion_compatibility` Create or replace the compatibility settings for a promotion write
- `salesforce_commerce_cloud.promotions.create_promotion_discount_rule` Create or replace the discount rule for a promotion write
- `salesforce_commerce_cloud.promotions.delete_promotion` Delete a promotion for a specified ID destructive
- `salesforce_commerce_cloud.promotions.delete_promotion_discount_rule` Delete the discount rule for a promotion destructive
- `salesforce_commerce_cloud.promotions.get_promotion` Retrieve promotion information read
- `salesforce_commerce_cloud.promotions.get_promotion_compatibility` Retrieve the compatibility settings for a promotion read
- `salesforce_commerce_cloud.promotions.get_promotion_discount_rule` Retrieve the discount rule for a promotion read
- `salesforce_commerce_cloud.promotions.promotions_search` Search for promotions read
- `salesforce_commerce_cloud.promotions.update_promotion` Update a promotion with the specified information write
- `salesforce_commerce_cloud.promotions.update_promotion_compatibility` Update the compatibility settings for a promotion write
- `salesforce_commerce_cloud.promotions.update_promotion_discount_rule` Update the discount rule for a promotion write

**Campaigns 10**

- `salesforce_commerce_cloud.campaigns.assign_promotion_to_campaign` Create or replace a promotion campaign assignment write
- `salesforce_commerce_cloud.campaigns.campaigns_search` Search for campaigns using a search request object that allows filtering on various attributes read
- `salesforce_commerce_cloud.campaigns.create_campaign` Create a campaign using the information provided write
- `salesforce_commerce_cloud.campaigns.delete_campaign` Deletes a campaign with a specified ID destructive
- `salesforce_commerce_cloud.campaigns.get_campaign` Get campaign information read
- `salesforce_commerce_cloud.campaigns.get_campaign_promotion_assignment` Get a promotion campaign assignment read
- `salesforce_commerce_cloud.campaigns.get_campaign_promotion_assignments` List promotions assigned to a campaign read
- `salesforce_commerce_cloud.campaigns.unassign_promotion_from_campaign` Unassign a promotion from a campaign destructive
- `salesforce_commerce_cloud.campaigns.update_campaign` Update a campaign with the specified information write
- `salesforce_commerce_cloud.campaigns.update_campaign_promotion_assignment` Update a promotion campaign assignment write

**Coupons 9**

- `salesforce_commerce_cloud.coupons.coupon_redemptions_search` Search for coupon redemptions read
- `salesforce_commerce_cloud.coupons.coupons_search` Search for coupons read
- `salesforce_commerce_cloud.coupons.create_coupon` Create a coupon using the information provided. If a coupon with the specified identifier already exists, the existing… write
- `salesforce_commerce_cloud.coupons.delete_coupon` Delete a coupon with a specified ID destructive
- `salesforce_commerce_cloud.coupons.get_coupon` Return coupon information for the specified coupon ID read
- `salesforce_commerce_cloud.coupons.get_coupon_codes` Get the coupon codes for the given coupon. If the user role does not have the View_Coupon_Codes permission, then the co… read
- `salesforce_commerce_cloud.coupons.redeem_coupon` Redeem a coupon code for an existing coupon for the specified site write
- `salesforce_commerce_cloud.coupons.update_coupon` Update a coupon with the specified information write
- `salesforce_commerce_cloud.coupons.update_coupon_codes` Add or delete (modify) multiple codes to and from the supplied coupon write

**Preferences 9**

- `salesforce_commerce_cloud.preferences.get_global_custom_preference_list` Retrieves the Global Custom Preferences read
- `salesforce_commerce_cloud.preferences.get_global_preference_group` Read the custom preferences in a global preference group for a given instance type read
- `salesforce_commerce_cloud.preferences.get_site_custom_preference_list` Retrieves the Custom Preferences for a specified siteId read
- `salesforce_commerce_cloud.preferences.get_site_preference` Read a single preference value across sites in a preference group for a given instance type read
- `salesforce_commerce_cloud.preferences.get_site_preference_group` Read the custom preferences in a site preference group for a given instance type read
- `salesforce_commerce_cloud.preferences.search_site_preferences` Search preferences across sites in a preference group for a given instance type read
- `salesforce_commerce_cloud.preferences.update_global_preference_group` Update the custom preferences in a global preference group for a given instance type write
- `salesforce_commerce_cloud.preferences.update_site_preference` Update a single preference value across sites in a preference group for a given instance type write
- `salesforce_commerce_cloud.preferences.update_site_preference_group` Update the custom preferences in a site preference group for a given instance type write

**Gift certificates 5**

- `salesforce_commerce_cloud.gift_certificates.create_gift_certificate` Create a gift certificate using the information provided write
- `salesforce_commerce_cloud.gift_certificates.delete_gift_certificate` Delete gift certificate information for a specified merchant ID destructive
- `salesforce_commerce_cloud.gift_certificates.get_gift_certificate` getGiftCertificate read
- `salesforce_commerce_cloud.gift_certificates.gift_certificates_search` Search for gift certificates read
- `salesforce_commerce_cloud.gift_certificates.update_gift_certificate` Update gift certificate information for a specified merchant ID write

**Source code groups 5**

- `salesforce_commerce_cloud.source_code_groups.create_source_code_group` Create a source code group using the information provided write
- `salesforce_commerce_cloud.source_code_groups.delete_source_code_group` Delete the specified source code group ID destructive
- `salesforce_commerce_cloud.source_code_groups.get_source_code_group` Retrieve source code group information read
- `salesforce_commerce_cloud.source_code_groups.source_code_groups_search` Search for source code groups read
- `salesforce_commerce_cloud.source_code_groups.update_source_code_group` Update the source code group with the specified information write

**Cors 3**

- `salesforce_commerce_cloud.cors.delete_cors_preferences` Delete all CORS preferences for the given site destructive
- `salesforce_commerce_cloud.cors.get_cors_preferences` Return all CORS preferences for the given site read
- `salesforce_commerce_cloud.cors.update_cors_preferences` Create or replace all CORS preferences for the given site write

**Assignments 1**

- `salesforce_commerce_cloud.assignments.assignments_search` Search for promotion campaign assignments read

Questions

## The Salesforce B2C Commerce API (SCAPI) MCP server, answered.

**Is there a Salesforce B2C Commerce API (SCAPI) MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 248 Salesforce B2C Commerce API (SCAPI) actions across CDN zones, products, catalogs and customers, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Salesforce B2C Commerce API (SCAPI).

**What do I need to connect Salesforce B2C Commerce API (SCAPI)?**

Account Manager API client ID and Account Manager API client password (the client secret set when the API client was created). Plus your api scopes, your organization id and your short code. The free call account { op: "connections.requirements", service: "salesforce_commerce_cloud" } lists exactly what to paste.

**Can an AI agent delete or change things in Salesforce B2C Commerce API (SCAPI)?**

Only if its key allows it, and only with an explicit confirmation. 43 Salesforce B2C Commerce API (SCAPI) actions are destructive, including deletes the product by ID, delete a rule and delete all rules and conditions for a catalog and category. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Salesforce B2C Commerce API (SCAPI) API limit?**

actionlake paces every call to the limits in the Salesforce B2C Commerce API (SCAPI) service file: 600 calls a minute per connection. Repeated reads are answered from cache (94 Salesforce B2C Commerce API (SCAPI) actions can be), which never reaches Salesforce B2C Commerce API (SCAPI).

**What does a Salesforce B2C Commerce API (SCAPI) action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (248 Salesforce B2C Commerce API (SCAPI) actions page). Cache hits, searches, dry runs and calls Salesforce B2C Commerce API (SCAPI) refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Salesforce B2C Commerce API (SCAPI) API does it cover?**

The Salesforce Commerce API (SCAPI) Admin APIs, v1 (OpenAPI 3.0, commerce-sdk assignments 1.0.39, auth-admin 1.19.1, campaigns 1.1.1, catalogs 1.0.47, cors 1.1.1, coupons 1.0.44, customers 1.1.4, gift-certificates 1.0.43, orders 1.6.4, preferences 1.2.3, products 1.2.0, promotions 1.2.0, source-code-groups 1.0.42, zones 1.3.0) at your own api.commercecloud.salesforce.com address, set when you connect. It is built from Salesforce B2C Commerce API (SCAPI)'s documentation as read on 23 October 2026. 248 actions in 14 areas, each one in the signed service file (version 1.0.0).

**Does actionlake keep my Salesforce B2C Commerce API (SCAPI) data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Salesforce B2C Commerce API (SCAPI) credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Salesforce B2C Commerce API (SCAPI)

Shares the most action names with

- [Mintsoft 7](https://actionlake.com/connectors/mintsoft)
- [ShipBob 7](https://actionlake.com/connectors/shipbob)
- [Starshipit 5](https://actionlake.com/connectors/starshipit)
- [Etsy 5](https://actionlake.com/connectors/etsy)
- [Extensiv 3PL Warehouse Manager 5](https://actionlake.com/connectors/extensiv-3pl-warehouse-manager)
- [Linnworks 4](https://actionlake.com/connectors/linnworks)

Joins with, on shared entities

- [SAP S/4HANA Cloud Public Edition 3](https://actionlake.com/connectors/sap-s-4hana-cloud-public-edition)
- [Square 3](https://actionlake.com/connectors/square)
- [Mailchimp 3](https://actionlake.com/connectors/mailchimp)
- [Cin7 Core 3](https://actionlake.com/connectors/cin7-core)
- [Kintsugi 3](https://actionlake.com/connectors/kintsugi)
- [Katana Cloud Inventory 3](https://actionlake.com/connectors/katana-cloud-inventory)

Browse

- [All Commerce connectors](https://actionlake.com/connectors/category/commerce)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Salesforce B2C Commerce API (SCAPI); the name is the vendor's own. Counts are from the Salesforce B2C Commerce API (SCAPI) service file, version 1.0.0.

## Give your agent Salesforce B2C Commerce API (SCAPI) today.

[Connect Salesforce B2C Commerce API (SCAPI) free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/salesforce-b2c-commerce-api-scapi
More: https://actionlake.com/llms.txt
