| name | b2c-scapi-schemas |
| description | Browse and retrieve SCAPI OpenAPI schema specifications. Use this skill whenever the user needs to list available SCAPI APIs, inspect endpoint paths or request/response shapes, explore data models for products or orders, check which fields an API returns, or understand SCAPI versioning. Also use when looking up API details before building an integration -- even if they just say 'what fields does the product API return' or 'show me the SCAPI endpoints'. |
B2C SCAPI Schemas Skill
Use the b2c CLI plugin to browse and retrieve SCAPI OpenAPI schema specifications.
Tip: If b2c is not installed globally, use npx @salesforce/b2c-cli instead (e.g., npx @salesforce/b2c-cli scapi schemas list).
Configuration
Values like tenantId, shortCode, clientId, and clientSecret resolve from dw.json / SFCC_* env vars / the active instance / configuration plugins. Examples below show minimal usage; add flags only to override configured values — passing --client-id/--client-secret/--tenant-id/--short-code is usually unnecessary. If a required value is missing, the CLI emits an actionable error pointing at the flag, env var, and config key.
Run b2c setup inspect to see the resolved configuration and which source provided each value (--json for scripting, --unmask to reveal secrets). For precedence rules and troubleshooting, see the b2c-cli:b2c-config skill.
Tenant ID vs. Organization ID
The tenant ID identifies your B2C Commerce instance for SCAPI calls. It is not the same as the organization ID:
- Tenant ID:
zzxy_prd (the tenantId value in dw.json, or --tenant-id override)
- Organization ID:
f_ecom_zzxy_prd (used in SCAPI URLs, has f_ecom_ prefix)
Deriving Tenant ID from Hostname
For sandbox instances, derive the tenant ID from the hostname by replacing hyphens with underscores:
| Hostname | Tenant ID |
|---|
zzpq-013.dx.commercecloud.salesforce.com | zzpq_013 |
zzxy-001.dx.commercecloud.salesforce.com | zzxy_001 |
abcd-dev.dx.commercecloud.salesforce.com | abcd_dev |
For production instances, use your realm and instance identifier (e.g., zzxy_prd).
Examples
List Available Schemas
b2c scapi schemas list
b2c scapi schemas list --json
b2c scapi schemas list --tenant-id zzxy_prd
Filter Schemas
b2c scapi schemas list --api-family product
b2c scapi schemas list --api-name shopper-products
b2c scapi schemas list --status current
Get Schema (Collapsed/Outline - Default)
By default, schemas are output in a collapsed format optimized for context efficiency. This is ideal for agentic use cases and LLM consumption.
b2c scapi schemas get product shopper-products v1
b2c scapi schemas get product shopper-products v1 > schema.json
Get Schema with Selective Expansion
Expand only the parts of the schema you need:
b2c scapi schemas get product shopper-products v1 --expand-paths /products,/products/{productId}
b2c scapi schemas get product shopper-products v1 --expand-schemas Product,ProductResult
b2c scapi schemas get product shopper-products v1 --expand-paths /products --expand-schemas Product
Get Full Schema
b2c scapi schemas get product shopper-products v1 --expand-all
List Available Paths/Schemas/Examples
Discover what's available in a schema before expanding:
b2c scapi schemas get product shopper-products v1 --list-paths
b2c scapi schemas get product shopper-products v1 --list-schemas
b2c scapi schemas get product shopper-products v1 --list-examples
Output Formats
b2c scapi schemas get product shopper-products v1 --yaml
b2c scapi schemas get product shopper-products v1 --json
Custom Properties
b2c scapi schemas get product shopper-products v1
b2c scapi schemas get product shopper-products v1 --no-expand-custom-properties
Configuration Overrides
The tenant ID and short code can be overridden via flags or environment variables:
--tenant-id / SFCC_TENANT_ID / tenantId in dw.json
--short-code / SFCC_SHORTCODE / shortCode in dw.json
More Commands
See b2c scapi schemas --help for a full list of available commands and options.