Skip to content

@salesforce/b2c-tooling-sdk / clients / createOcapiClient

Function: createOcapiClient() ​

createOcapiClient(hostname, auth, options?): OcapiClient

Defined in: packages/b2c-tooling-sdk/src/clients/ocapi.ts:138

Creates a typed OCAPI Data API client.

Returns the openapi-fetch client directly, with authentication handled via middleware. This gives full access to all openapi-fetch features with type-safe paths, parameters, and responses.

Note: This client is typically accessed via B2CInstance.ocapi rather than created directly. The B2CInstance class handles authentication setup.

Parameters ​

hostname ​

string

B2C instance hostname

auth ​

AuthStrategy

Authentication strategy (typically OAuth)

options? ​

Optional configuration including API version and middleware registry

string | OcapiClientOptions

Returns ​

OcapiClient

Typed openapi-fetch client

Examples ​

ts
// Via B2CInstance (recommended)
import { resolveConfig } from '@salesforce/b2c-tooling-sdk/config';
const config = resolveConfig();
const instance = config.createB2CInstance();
const { data, error } = await instance.ocapi.GET('/sites', {});
ts
// Direct instantiation (advanced)
const client = createOcapiClient('sandbox.demandware.net', authStrategy);

// Fully typed GET request
const { data, error } = await client.GET('/sites', {
  params: { query: { select: '(**)' } }
});

// Path parameters are type-checked
const { data, error } = await client.GET('/sites/{site_id}', {
  params: { path: { site_id: 'RefArch' } }
});

// Request bodies are typed
const { data, error } = await client.PATCH('/code_versions/{code_version_id}', {
  params: { path: { code_version_id: 'v1' } },
  body: { active: true }
});

Released under the Apache-2.0 License.