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

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

# Function: buildScapiClient()

> **buildScapiClient**\<`P`\>(`options`, `config`, `auth`): `Client`\<`P`\>

Defined in: [packages/b2c-tooling-sdk/src/clients/scapi-client-factory.ts:101](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/2feab01f654eec77c6d702777ec2818472f131f1/packages/b2c-tooling-sdk/src/clients/scapi-client-factory.ts#L101)

Builds a typed openapi-fetch client for a SCAPI Admin API.

## Type Parameters

### P

`P` *extends* `Record`\<`string`, `any`\>

## Parameters

### options

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

Domain-specific URL/key/scopes/log-prefix

### config

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

Caller-supplied shortCode, tenantId, optional overrides

### auth

[`AuthStrategy`](../../auth/interfaces/AuthStrategy.md)

Auth strategy (scopes are merged via [withScopes](withScopes.md))

## Returns

`Client`\<`P`\>

## Example

```ts
export function createScapiJobsClient(config: ScapiClientConfig, auth: AuthStrategy): ScapiJobsClient {
  return buildScapiClient<paths>(
    {
      pathSegment: 'operation/jobs/v1',
      domainKey: 'scapi-jobs',
      defaultScopes: SCAPI_JOBS_RW_SCOPES,
      logPrefix: 'SCAPI-JOBS',
    },
    config,
    auth,
  );
}
```
