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

[@salesforce/b2c-tooling-sdk](../../../modules.md) / [operations/jobs](../index.md) / ScapiJobStartError

# Class: ScapiJobStartError

Defined in: [packages/b2c-tooling-sdk/src/operations/jobs/scapi-ops.ts:46](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/2feab01f654eec77c6d702777ec2818472f131f1/packages/b2c-tooling-sdk/src/operations/jobs/scapi-ops.ts#L46)

Thrown by [executeJob](../functions/scapiExecuteJob.md) when the SCAPI job-start POST is rejected with
a response (non-2xx). Carries the received HTTP status so callers can tell a
*request rejection* (server refused before starting the job — safe to treat
as "no job created") from an ambiguous failure.

A network/timeout error during the POST does NOT produce this — it surfaces
as a raw thrown error with no status, because the request may have reached
the server and the job may already be running.

## Extends

- [`ScapiRequestError`](../../../clients/classes/ScapiRequestError.md)

## Constructors

### Constructor

> **new ScapiJobStartError**(`message`, `status`): `ScapiJobStartError`

Defined in: [packages/b2c-tooling-sdk/src/operations/jobs/scapi-ops.ts:47](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/2feab01f654eec77c6d702777ec2818472f131f1/packages/b2c-tooling-sdk/src/operations/jobs/scapi-ops.ts#L47)

#### Parameters

##### message

`string`

##### status

`number`

HTTP status of the rejection response.

#### Returns

`ScapiJobStartError`

#### Overrides

[`ScapiRequestError`](../../../clients/classes/ScapiRequestError.md).[`constructor`](../../../clients/classes/ScapiRequestError.md#constructor)

## Properties

### cause?

> `optional` **cause**: `unknown`

Defined in: node\_modules/typescript/lib/lib.es2022.error.d.ts:26

#### Inherited from

[`ScapiRequestError`](../../../clients/classes/ScapiRequestError.md).[`cause`](../../../clients/classes/ScapiRequestError.md#cause)

***

### message

> **message**: `string`

Defined in: node\_modules/typescript/lib/lib.es5.d.ts:1077

#### Inherited from

[`ScapiRequestError`](../../../clients/classes/ScapiRequestError.md).[`message`](../../../clients/classes/ScapiRequestError.md#message)

***

### name

> **name**: `string`

Defined in: node\_modules/typescript/lib/lib.es5.d.ts:1076

#### Inherited from

[`ScapiRequestError`](../../../clients/classes/ScapiRequestError.md).[`name`](../../../clients/classes/ScapiRequestError.md#name)

***

### stack?

> `optional` **stack**: `string`

Defined in: node\_modules/typescript/lib/lib.es5.d.ts:1078

#### Inherited from

[`ScapiRequestError`](../../../clients/classes/ScapiRequestError.md).[`stack`](../../../clients/classes/ScapiRequestError.md#stack)

***

### status

> `readonly` **status**: `number`

Defined in: [packages/b2c-tooling-sdk/src/operations/jobs/scapi-ops.ts:50](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/2feab01f654eec77c6d702777ec2818472f131f1/packages/b2c-tooling-sdk/src/operations/jobs/scapi-ops.ts#L50)

HTTP status of the rejection response.

#### Inherited from

[`ScapiRequestError`](../../../clients/classes/ScapiRequestError.md).[`status`](../../../clients/classes/ScapiRequestError.md#status)

***

### stackTraceLimit

> `static` **stackTraceLimit**: `number`

Defined in: node\_modules/@types/node/globals.d.ts:68

The `Error.stackTraceLimit` property specifies the number of stack frames
collected by a stack trace (whether generated by `new Error().stack` or
`Error.captureStackTrace(obj)`).

The default value is `10` but may be set to any valid JavaScript number. Changes
will affect any stack trace captured _after_ the value has been changed.

If set to a non-number value, or set to a negative number, stack traces will
not capture any frames.

#### Inherited from

[`ScapiRequestError`](../../../clients/classes/ScapiRequestError.md).[`stackTraceLimit`](../../../clients/classes/ScapiRequestError.md#stacktracelimit)

## Methods

### captureStackTrace()

> `static` **captureStackTrace**(`targetObject`, `constructorOpt?`): `void`

Defined in: node\_modules/@types/node/globals.d.ts:52

Creates a `.stack` property on `targetObject`, which when accessed returns
a string representing the location in the code at which
`Error.captureStackTrace()` was called.

```js
const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack;  // Similar to `new Error().stack`
```

The first line of the trace will be prefixed with
`${myObject.name}: ${myObject.message}`.

The optional `constructorOpt` argument accepts a function. If given, all frames
above `constructorOpt`, including `constructorOpt`, will be omitted from the
generated stack trace.

The `constructorOpt` argument is useful for hiding implementation
details of error generation from the user. For instance:

```js
function a() {
  b();
}

function b() {
  c();
}

function c() {
  // Create an error without stack trace to avoid calculating the stack trace twice.
  const { stackTraceLimit } = Error;
  Error.stackTraceLimit = 0;
  const error = new Error();
  Error.stackTraceLimit = stackTraceLimit;

  // Capture the stack trace above function b
  Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
  throw error;
}

a();
```

#### Parameters

##### targetObject

`object`

##### constructorOpt?

`Function`

#### Returns

`void`

#### Inherited from

[`ScapiRequestError`](../../../clients/classes/ScapiRequestError.md).[`captureStackTrace`](../../../clients/classes/ScapiRequestError.md#capturestacktrace)

***

### prepareStackTrace()

> `static` **prepareStackTrace**(`err`, `stackTraces`): `any`

Defined in: node\_modules/@types/node/globals.d.ts:56

#### Parameters

##### err

`Error`

##### stackTraces

`CallSite`[]

#### Returns

`any`

#### See

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

#### Inherited from

[`ScapiRequestError`](../../../clients/classes/ScapiRequestError.md).[`prepareStackTrace`](../../../clients/classes/ScapiRequestError.md#preparestacktrace)
