---
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:136](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/clients/middleware.ts#L136)

Configuration for rate limiting middleware.

## Properties

### baseDelayMs?

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

Defined in: [packages/b2c-tooling-sdk/src/clients/middleware.ts:147](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/clients/middleware.ts#L147)

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:170](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/clients/middleware.ts#L170)

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:152](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/clients/middleware.ts#L152)

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

***

### maxRetries?

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

Defined in: [packages/b2c-tooling-sdk/src/clients/middleware.ts:141](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/clients/middleware.ts#L141)

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:164](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/clients/middleware.ts#L164)

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

***

### statusCodes?

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

Defined in: [packages/b2c-tooling-sdk/src/clients/middleware.ts:159](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/clients/middleware.ts#L159)

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.
