Skip to content

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

Function: createOdsClient()

createOdsClient(config, auth): OdsClient

Defined in: packages/b2c-tooling-sdk/src/clients/ods.ts:141

Creates a typed ODS (On-Demand Sandbox) 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.

Parameters

config

OdsClientConfig

ODS client configuration

auth

AuthStrategy

Authentication strategy (typically OAuth)

Returns

OdsClient

Typed openapi-fetch client

Examples

ts
// Create ODS client with OAuth auth
const oauthStrategy = new OAuthStrategy({
  clientId: 'your-client-id',
  clientSecret: 'your-client-secret',
});

const client = createOdsClient({}, oauthStrategy);

// Get user info
const { data, error } = await client.GET('/me', {});
if (data) {
  console.log('User:', data.data?.user?.name);
  console.log('Realms:', data.data?.realms);
}
ts
// Get system info
const { data, error } = await client.GET('/system', {});
if (data) {
  console.log('Region:', data.data?.region);
  console.log('Sandbox IPs:', data.data?.sandboxIps);
}
ts
// List all sandboxes
const { data, error } = await client.GET('/sandboxes', {});
if (data) {
  for (const sandbox of data.data ?? []) {
    console.log(`${sandbox.id}: ${sandbox.state}`);
  }
}
ts
// Create a new sandbox
const { data, error } = await client.POST('/sandboxes', {
  body: {
    realm: 'abcd',
    ttl: 24,
    resourceProfile: 'medium',
  }
});
ts
// Start a sandbox
const { data, error } = await client.POST('/sandboxes/{sandboxId}/operations', {
  params: { path: { sandboxId: 'sandbox-uuid' } },
  body: { operation: 'start' }
});

All rights reserved.