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

Configuration for rate limiting middleware.

## Properties

### baseDelayMs?

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

Defined in: [packages/b2c-tooling-sdk/src/clients/middleware.ts:272](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/2feab01f654eec77c6d702777ec2818472f131f1/packages/b2c-tooling-sdk/src/clients/middleware.ts#L272)

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

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

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

***

### maxRetries?

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

Defined in: [packages/b2c-tooling-sdk/src/clients/middleware.ts:266](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/2feab01f654eec77c6d702777ec2818472f131f1/packages/b2c-tooling-sdk/src/clients/middleware.ts#L266)

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

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

***

### statusCodes?

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

Defined in: [packages/b2c-tooling-sdk/src/clients/middleware.ts:284](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/2feab01f654eec77c6d702777ec2818472f131f1/packages/b2c-tooling-sdk/src/clients/middleware.ts#L284)

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.
