---
editLink: false
lastUpdated: false
---

[@salesforce/b2c-tooling-sdk](../../modules.md) / operations/cap

# operations/cap

Commerce App Package (CAP) operations for B2C Commerce.

This module provides functions for validating, packaging, installing, and
uninstalling Commerce App Packages (CAPs) on B2C Commerce instances.

## CAP Operations

- [validateCap](functions/validateCap.md) - Validate CAP structure and manifest (local, no instance required)
- [commerceAppInstall](functions/commerceAppInstall.md) - Install a CAP via the sfcc-install-commerce-app job
- [commerceAppUninstall](functions/commerceAppUninstall.md) - Uninstall a CAP via the sfcc-uninstall-commerce-app job
- [commerceAppPackage](functions/commerceAppPackage.md) - Package a CAP directory into a distributable .zip
- [discoverLocalApps](functions/discoverLocalApps.md) - Discover local CAPs by finding commerce-app.json files
- [listInstalledApps](functions/listInstalledApps.md) - List installed apps on an instance via commerce_feature_states export

## Usage

```typescript
import {
  validateCap,
  commerceAppInstall,
  commerceAppUninstall,
  commerceAppPackage,
  discoverLocalApps,
  listInstalledApps,
} from '@salesforce/b2c-tooling-sdk/operations/cap';

// Validate locally
const result = await validateCap('./my-commerce-app');
if (!result.valid) console.error(result.errors);

// Package for distribution
const pkg = await commerceAppPackage('./my-commerce-app');

// Install on an instance
await commerceAppInstall(instance, './my-commerce-app', { siteId: 'RefArch' });

// Uninstall
await commerceAppUninstall(instance, 'my-app', 'tax', { siteId: 'RefArch' });
```

## Interfaces

- [CapValidationResult](interfaces/CapValidationResult.md)
- [CommerceAppInstallOptions](interfaces/CommerceAppInstallOptions.md)
- [CommerceAppInstallResult](interfaces/CommerceAppInstallResult.md)
- [CommerceAppManifest](interfaces/CommerceAppManifest.md)
- [CommerceAppPackageOptions](interfaces/CommerceAppPackageOptions.md)
- [CommerceAppPackageResult](interfaces/CommerceAppPackageResult.md)
- [CommerceAppUninstallOptions](interfaces/CommerceAppUninstallOptions.md)
- [CommerceAppUninstallResult](interfaces/CommerceAppUninstallResult.md)
- [CommerceFeatureState](interfaces/CommerceFeatureState.md)
- [ListInstalledAppsOptions](interfaces/ListInstalledAppsOptions.md)
- [ListInstalledAppsResult](interfaces/ListInstalledAppsResult.md)
- [LocalCommerceApp](interfaces/LocalCommerceApp.md)
- [PullCommerceAppsOptions](interfaces/PullCommerceAppsOptions.md)
- [PullCommerceAppsResult](interfaces/PullCommerceAppsResult.md)
- [PulledApp](interfaces/PulledApp.md)

## Type Aliases

- [PullSource](type-aliases/PullSource.md)

## Functions

- [commerceAppInstall](functions/commerceAppInstall.md)
- [commerceAppPackage](functions/commerceAppPackage.md)
- [commerceAppUninstall](functions/commerceAppUninstall.md)
- [discoverLocalApps](functions/discoverLocalApps.md)
- [listInstalledApps](functions/listInstalledApps.md)
- [parseCommerceFeatureStatesXml](functions/parseCommerceFeatureStatesXml.md)
- [pullCommerceApps](functions/pullCommerceApps.md)
- [readManifest](functions/readManifest.md)
- [validateCap](functions/validateCap.md)

## References

### JobExecutionError

Re-exports [JobExecutionError](../../errors/classes/JobExecutionError.md)
