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

[@salesforce/b2c-tooling-sdk](../../modules.md) / [schemas](../index.md) / collapseOpenApiSchema

# Function: collapseOpenApiSchema()

> **collapseOpenApiSchema**(`schema`, `options`): [`CollapsedOpenApiSchema`](../interfaces/CollapsedOpenApiSchema.md)

Defined in: [packages/b2c-tooling-sdk/src/schemas/collapse.ts:138](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/schemas/collapse.ts#L138)

Collapses an OpenAPI schema for context-efficient representation.

This function implements a three-tier disclosure model:

1. **No options provided (default):**
   - Paths: `{"/products": ["get", "post"]}` (method names only)
   - Schemas: `{"Product": {}}` (keys only)
   - Examples: `{"ProductExample": {}}` (keys only)

2. **Selective expansion:**
   - Only specified paths/schemas/examples are fully expanded
   - Everything else remains collapsed

Non-collapsible sections (info, servers, security, tags, etc.) are preserved as-is.

## Parameters

### schema

[`OpenApiSchemaInput`](../interfaces/OpenApiSchemaInput.md)

The OpenAPI schema to collapse

### options

[`SchemaCollapseOptions`](../interfaces/SchemaCollapseOptions.md) = `{}`

Options controlling what to expand

## Returns

[`CollapsedOpenApiSchema`](../interfaces/CollapsedOpenApiSchema.md)

The collapsed schema

## Examples

```ts
// Collapse everything (default behavior)
const collapsed = collapseOpenApiSchema(fullSchema);
```

```ts
// Expand only /products path and Product schema
const collapsed = collapseOpenApiSchema(fullSchema, {
  expandPaths: ['/products'],
  expandSchemas: ['Product']
});
```
