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

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

# Interface: RateLimitMiddlewareConfig

Defined in: [packages/b2c-tooling-sdk/src/clients/middleware.ts:262](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/36eea0d308f1312d1a446ec8813ed30b0bdba62c/packages/b2c-tooling-sdk/src/clients/middleware.ts#L262)

Configuration for rate limiting middleware.

## Properties

### baseDelayMs?

> `optional` **baseDelayMs**: `number`

Defined in: [packages/b2c-tooling-sdk/src/clients/middleware.ts:273](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/36eea0d308f1312d1a446ec8813ed30b0bdba62c/packages/b2c-tooling-sdk/src/clients/middleware.ts#L273)

Base delay in milliseconds used for exponential backoff when no Retry-After
header is present. Defaults to 1000ms.

***

### fetch()?

> `optional` **fetch**: (`request`) => `Promise`\<`Response`\>

Defined in: [packages/b2c-tooling-sdk/src/clients/middleware.ts:296](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/36eea0d308f1312d1a446ec8813ed30b0bdba62c/packages/b2c-tooling-sdk/src/clients/middleware.ts#L296)

Optional fetch implementation used for retries when the middleware context
does not provide a re-dispatch helper.

#### Parameters

##### request

`Request`

#### Returns

`Promise`\<`Response`\>

***

### maxDelayMs?

> `optional` **maxDelayMs**: `number`

Defined in: [packages/b2c-tooling-sdk/src/clients/middleware.ts:278](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/36eea0d308f1312d1a446ec8813ed30b0bdba62c/packages/b2c-tooling-sdk/src/clients/middleware.ts#L278)

Maximum delay in milliseconds between retries. Defaults to 30000ms.

***

### maxRetries?

> `optional` **maxRetries**: `number`

Defined in: [packages/b2c-tooling-sdk/src/clients/middleware.ts:267](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/36eea0d308f1312d1a446ec8813ed30b0bdba62c/packages/b2c-tooling-sdk/src/clients/middleware.ts#L267)

Maximum number of retry attempts when a rate limit response is received.
Defaults to 3.

***

### prefix?

> `optional` **prefix**: `string`

Defined in: [packages/b2c-tooling-sdk/src/clients/middleware.ts:290](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/36eea0d308f1312d1a446ec8813ed30b0bdba62c/packages/b2c-tooling-sdk/src/clients/middleware.ts#L290)

Optional log prefix (e.g., 'MRT') used in log messages.

***

### statusCodes?

> `optional` **statusCodes**: `number`[]

Defined in: [packages/b2c-tooling-sdk/src/clients/middleware.ts:285](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/36eea0d308f1312d1a446ec8813ed30b0bdba62c/packages/b2c-tooling-sdk/src/clients/middleware.ts#L285)

HTTP status codes that should trigger rate limit handling.
Defaults to [429]. 503 is often used for overload, but is not included
by default to avoid surprising retries for maintenance windows.
