home / skills / salesforcecommercecloud / b2c-developer-tooling / b2c-scapi-custom

b2c-scapi-custom skill

/skills/b2c-cli/skills/b2c-scapi-custom

This skill helps you verify Custom SCAPI endpoint registration status using the b2c cli across tenants, accelerating debugging and deployment validation.

npx playbooks add skill salesforcecommercecloud/b2c-developer-tooling --skill b2c-scapi-custom

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
3.3 KB
---
name: b2c-scapi-custom
description: Check Custom SCAPI (B2C/SFCC/Demandware) endpoint registration status with the b2c cli. Use when verifying custom API deployment, debugging "endpoint not found" errors, or checking if code activation registered new APIs. For creating new custom APIs, use b2c-custom-api-development skill instead.
---

# B2C SCAPI Custom APIs Skill

Use the `b2c` CLI plugin to manage SCAPI Custom API endpoints and check their registration status.

> **Tip:** If `b2c` is not installed globally, use `npx @salesforce/b2c-cli` instead (e.g., `npx @salesforce/b2c-cli scapi custom status`).

## Required: Tenant ID

The `--tenant-id` flag is **required** for all commands. The tenant ID identifies your B2C Commerce instance.

**Important:** The tenant ID is NOT the same as the organization ID:
- **Tenant ID**: `zzxy_prd` (used with commands that require `--tenant-id`)
- **Organization ID**: `f_ecom_zzxy_prd` (used in SCAPI URLs, has `f_ecom_` prefix)

### Deriving Tenant ID from Hostname

For sandbox instances, you can 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

### Get Custom API Endpoint Status

```bash
# list all Custom API endpoints for an organization
b2c scapi custom status --tenant-id zzxy_prd

# list with JSON output
b2c scapi custom status --tenant-id zzxy_prd --json
```

### Filter by Status

```bash
# list only active endpoints
b2c scapi custom status --tenant-id zzxy_prd --status active

# list only endpoints that failed to register
b2c scapi custom status --tenant-id zzxy_prd --status not_registered
```

### Group by Type or Site

```bash
# group endpoints by API type (Admin vs Shopper)
b2c scapi custom status --tenant-id zzxy_prd --group-by type

# group endpoints by site
b2c scapi custom status --tenant-id zzxy_prd --group-by site
```

### Customize Output Columns

```bash
# show extended columns (includes error reasons, sites, etc.)
b2c scapi custom status --tenant-id zzxy_prd --extended

# select specific columns to display
b2c scapi custom status --tenant-id zzxy_prd --columns type,apiName,status,sites

# available columns: type, apiName, apiVersion, cartridgeName, endpointPath, httpMethod, status, sites, securityScheme, operationId, schemaFile, implementationScript, errorReason, id
```

### Debug Failed Registrations

```bash
# quickly find and diagnose failed Custom API registrations
b2c scapi custom status --tenant-id zzxy_prd --status not_registered --columns type,apiName,endpointPath,errorReason
```

### Configuration

The tenant ID and short code can be set via environment variables:
- `SFCC_TENANT_ID`: Tenant ID (e.g., `zzxy_prd`, not the organization ID)
- `SFCC_SHORTCODE`: SCAPI short code

### More Commands

See `b2c scapi custom --help` for a full list of available commands and options.

## Related Skills

- `b2c:b2c-custom-api-development` - Creating Custom API endpoints (schema, script, mapping)
- `b2c-cli:b2c-code` - Deploying and activating code versions (triggers registration)

Overview

This skill checks the registration status of custom SCAPI (B2C/SFCC/Demandware) endpoints using the B2C CLI. It helps verify whether custom API deployment and code activation registered endpoints correctly and surfaces registration errors for troubleshooting. Use this when you need a quick status report or to filter endpoints by status, site, or type.

How this skill works

The skill runs the b2c CLI scapi custom status commands against a specified tenant ID to list registered custom API endpoints and their metadata. It supports JSON output, filtering by status (active, not_registered, etc.), grouping, and selective column output to focus on error reasons, sites, or implementation details. It also accepts environment variables for tenant configuration to simplify repeated checks.

When to use it

  • Verify custom API registration after deploying or activating code
  • Debug "endpoint not found" or registration failure errors
  • Audit which sites or API types have registered endpoints
  • Filter and export registration data for incident reports
  • Confirm that a recent activation created the expected endpoints

Best practices

  • Always provide the required --tenant-id (tenant ID differs from organization ID)
  • Use npx @salesforce/b2c-cli if b2c is not installed globally
  • Use --json for machine-readable output when scripting or integrating with CI
  • Filter by --status not_registered and include errorReason to speed troubleshooting
  • Set SFCC_TENANT_ID and SFCC_SHORTCODE environment variables for repeated checks

Example use cases

  • List all custom SCAPI endpoints for a tenant: b2c scapi custom status --tenant-id zzxy_prd
  • Find failed registrations and see error reasons: b2c scapi custom status --tenant-id zzxy_prd --status not_registered --columns apiName,endpointPath,errorReason
  • Group endpoints by API type to confirm Admin vs Shopper registrations: b2c scapi custom status --tenant-id zzxy_prd --group-by type
  • Export JSON for automated checks in CI: b2c scapi custom status --tenant-id zzxy_prd --json > scapi-status.json
  • Quickly derive sandbox tenant IDs from hostnames by replacing hyphens with underscores (e.g., zzpq-013 -> zzpq_013)

FAQ

What tenant ID should I use?

Use the B2C tenant ID (example: zzxy_prd). Do not use the organization ID (which includes the f_ecom_ prefix). For sandboxes, replace hyphens with underscores in the hostname to derive the tenant ID.

b2c command not found—what then?

Run via npx: npx @salesforce/b2c-cli scapi custom status ... or install the @salesforce/b2c-cli plugin globally.