Developer Preview — This project is in active development. APIs may change. Provide feedback
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:119

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 }
});

All rights reserved.