---
title: "WebAPIHTTPError"
summary: "@slack/web-api / WebAPIHTTPError"
url: "https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/classes/WebAPIHTTPError"
type: "guide"
---

Source: https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/classes/WebAPIHTTPError

[@slack/web-api](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api.md) / WebAPIHTTPError

# Class: WebAPIHTTPError

Defined in: [packages/web-api/src/errors.ts:58](https://github.com/slackapi/node-slack-sdk/blob/main/packages/web-api/src/errors.ts#L58)

## Extends {#extends}

*   [`SlackError`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/classes/slackerror.md)

## Constructors {#constructors}

### Constructor {#constructor}

```
new WebAPIHTTPError(   statusCode,    statusMessage,    headers,    body?): WebAPIHTTPError;
```

Defined in: [packages/web-api/src/errors.ts:66](https://github.com/slackapi/node-slack-sdk/blob/main/packages/web-api/src/errors.ts#L66)

#### Parameters {#parameters}

##### statusCode {#statuscode}

`number`

##### statusMessage {#statusmessage}

`string`

##### headers {#headers}

`Record`<`string`, `string`\>

##### body? {#body}

`any`

#### Returns {#returns}

`WebAPIHTTPError`

#### Overrides {#overrides}

[`SlackError`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/classes/slackerror.md).[`constructor`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/classes/slackerror.md#constructor)

## Properties {#properties}

### body? {#body-1}

```
readonly optional body?: any;
```

Defined in: [packages/web-api/src/errors.ts:64](https://github.com/slackapi/node-slack-sdk/blob/main/packages/web-api/src/errors.ts#L64)

* * *

### cause? {#cause}

```
optional cause?: unknown;
```

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

#### Inherited from {#inherited-from}

[`SlackError`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/classes/slackerror.md).[`cause`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/classes/slackerror.md#cause)

* * *

### code {#code}

```
readonly code: HTTPError = ErrorCode.HTTPError;
```

Defined in: [packages/web-api/src/errors.ts:59](https://github.com/slackapi/node-slack-sdk/blob/main/packages/web-api/src/errors.ts#L59)

#### Overrides {#overrides-1}

[`SlackError`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/classes/slackerror.md).[`code`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/classes/slackerror.md#code)

* * *

### headers {#headers-1}

```
readonly headers: Record<string, string>;
```

Defined in: [packages/web-api/src/errors.ts:62](https://github.com/slackapi/node-slack-sdk/blob/main/packages/web-api/src/errors.ts#L62)

* * *

### message {#message}

```
message: string;
```

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

#### Inherited from {#inherited-from-1}

[`SlackError`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/classes/slackerror.md).[`message`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/classes/slackerror.md#message)

* * *

### name {#name}

```
name: string;
```

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

#### Inherited from {#inherited-from-2}

[`SlackError`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/classes/slackerror.md).[`name`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/classes/slackerror.md#name)

* * *

### stack? {#stack}

```
optional stack?: string;
```

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

#### Inherited from {#inherited-from-3}

[`SlackError`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/classes/slackerror.md).[`stack`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/classes/slackerror.md#stack)

* * *

### statusCode {#statuscode-1}

```
readonly statusCode: number;
```

Defined in: [packages/web-api/src/errors.ts:60](https://github.com/slackapi/node-slack-sdk/blob/main/packages/web-api/src/errors.ts#L60)

* * *

### statusMessage {#statusmessage-1}

```
readonly statusMessage: string;
```

Defined in: [packages/web-api/src/errors.ts:61](https://github.com/slackapi/node-slack-sdk/blob/main/packages/web-api/src/errors.ts#L61)

* * *

### stackTraceLimit {#stacktracelimit}

```
static stackTraceLimit: number;
```

Defined in: packages/web-api/node\_modules/@types/node/globals.d.ts:67

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 {#inherited-from-4}

[`SlackError`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/classes/slackerror.md).[`stackTraceLimit`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/classes/slackerror.md#stacktracelimit)

## Methods {#methods}

### captureStackTrace() {#capturestacktrace}

```
static captureStackTrace(targetObject, constructorOpt?): void;
```

Defined in: packages/web-api/node\_modules/@types/node/globals.d.ts:51

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

```
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:

```
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 {#parameters-1}

##### targetObject {#targetobject}

`object`

##### constructorOpt? {#constructoropt}

`Function`

#### Returns {#returns-1}

`void`

#### Inherited from {#inherited-from-5}

[`SlackError`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/classes/slackerror.md).[`captureStackTrace`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/classes/slackerror.md#capturestacktrace)

* * *

### prepareStackTrace() {#preparestacktrace}

```
static prepareStackTrace(err, stackTraces): any;
```

Defined in: packages/web-api/node\_modules/@types/node/globals.d.ts:55

#### Parameters {#parameters-2}

##### err {#err}

`Error`

##### stackTraces {#stacktraces}

`CallSite`\[\]

#### Returns {#returns-2}

`any`

#### See {#see}

[https://v8.dev/docs/stack-trace-api#customizing-stack-traces](https://v8.dev/docs/stack-trace-api#customizing-stack-traces)

#### Inherited from {#inherited-from-6}

[`SlackError`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/classes/slackerror.md).[`prepareStackTrace`](https://docs.slack.dev/tools/node-slack-sdk/reference/web-api/classes/slackerror.md#preparestacktrace)
