UNPKG

@unkey/api

Version:

Developer-friendly & type-safe Typescript SDK specifically catered to leverage *@unkey/api* API.

73 lines 3.16 kB
import * as z from "zod/v3"; /** * Sets a new or overwrites an existing rate limit override. Overrides allow you to apply special rate limit rules to specific identifiers, providing custom limits that differ from the default. * * @remarks * * Overrides are useful for: * - Granting higher limits to premium users or trusted partners * - Implementing stricter limits for suspicious or abusive users * - Creating tiered access levels with different quotas * - Implementing temporary rate limit adjustments * - Prioritizing important clients with higher limits */ export type V2RatelimitSetOverrideRequestBody = { /** * The ID or name of the rate limit namespace. */ namespace: string; /** * The duration in milliseconds for the rate limit window. This defines how long the rate limit counter accumulates before resetting to zero. * * @remarks * * Considerations: * - This can differ from the default duration for the namespace * - Longer durations create stricter limits that take longer to reset * - Shorter durations allow more frequent bursts of activity * - Common values: 60000 (1 minute), 3600000 (1 hour), 86400000 (1 day) */ duration: number; /** * Identifier of the entity receiving this custom rate limit. This can be: * * @remarks * * - A specific user ID for individual custom limits * - An IP address for location-based rules * - An email domain for organization-wide policies * - Any other string that identifies the target entity * * Wildcards (*) can be used to create pattern-matching rules that apply to multiple identifiers. For example: * - 'premium_*' would match all identifiers starting with 'premium_' * - '*_admin' would match all identifiers ending with '_admin' * - '*suspicious*' would match any identifier containing 'suspicious' * * More detailed information on wildcard pattern rules is available at https://www.unkey.com/docs/ratelimiting/overrides#wildcard-rules */ identifier: string; /** * The maximum number of requests allowed for this override. This defines the custom quota for the specified identifier(s). * * @remarks * * Special values: * - Higher than default: For premium or trusted entities * - Lower than default: For suspicious or abusive entities * - 0: To completely block access (useful for ban implementation) * * This limit entirely replaces the default limit for matching identifiers. */ limit: number; }; /** @internal */ export type V2RatelimitSetOverrideRequestBody$Outbound = { namespace: string; duration: number; identifier: string; limit: number; }; /** @internal */ export declare const V2RatelimitSetOverrideRequestBody$outboundSchema: z.ZodType<V2RatelimitSetOverrideRequestBody$Outbound, z.ZodTypeDef, V2RatelimitSetOverrideRequestBody>; export declare function v2RatelimitSetOverrideRequestBodyToJSON(v2RatelimitSetOverrideRequestBody: V2RatelimitSetOverrideRequestBody): string; //# sourceMappingURL=v2ratelimitsetoverriderequestbody.d.ts.map