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

[@salesforce/b2c-tooling-sdk](../../modules.md) / [clients](../index.md) / resolveScapiOrOcapi

# Function: resolveScapiOrOcapi()

> **resolveScapiOrOcapi**(`opts`): `"ocapi"` \| `"scapi"`

Defined in: [packages/b2c-tooling-sdk/src/clients/scapi-backend-utils.ts:224](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/2feab01f654eec77c6d702777ec2818472f131f1/packages/b2c-tooling-sdk/src/clients/scapi-backend-utils.ts#L224)

Resolves a user preference + config availability into a concrete backend choice.

- Explicit `'ocapi'` always returns `'ocapi'`.
- Explicit `'scapi'` requires SCAPI config and throws if missing.
- `'auto'` returns `'scapi'` if SCAPI config is available, otherwise `'ocapi'`.

Throws an error with the domain name in the message when explicit SCAPI is
requested without the required configuration. The error identifies release
26.8 as the current platform capability baseline so it can be revised when
SCAPI adds support.

## Parameters

### opts

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

## Returns

`"ocapi"` \| `"scapi"`
