createRateLimitScheme()
Creates a reusable rate limit scheme that can be attached to API auth apps.
Usage
The following example shows a basic usage of the backend client from @wacht/nextjs/server.
import { wachtClient } from '@wacht/nextjs/server';export async function createRateLimitScheme() { const client = await wachtClient(); return client.apiKeys.createRateLimitScheme({ slug: 'default-api-limits', name: 'Default API Limits', rules: [{ unit: 'minute', duration: 1, max_requests: 120 }], });}Signature
function createRateLimitScheme( request: CreateRateLimitSchemeRequest,): Promise<RateLimitScheme>CreateRateLimitSchemeRequest
›slug?: string | undefined;
slug?: string | undefined;Unique scheme slug.
›name?: string | undefined;
name?: string | undefined;Scheme display name.
›description?: string | undefined;
description?: string | undefined;Optional scheme description.
›rules?: RateLimit[] | undefined;
rules?: RateLimit[] | undefined;Rate-limit rules for this scheme.
›unit?: 'second' | 'minute' | 'hour' | 'day' | undefined;
unit?: 'second' | 'minute' | 'hour' | 'day' | undefined;Rate-limit window unit.
›duration?: number | undefined;
duration?: number | undefined;Window duration count in `unit`.
›max_requests?: number | undefined;
max_requests?: number | undefined;Maximum allowed requests per window.
Return value
›slug?: string | undefined;
slug?: string | undefined;Created rate-limit scheme slug.
›name?: string | undefined;
name?: string | undefined;Created scheme display name.
›description?: string | undefined;
description?: string | undefined;Created scheme description.
›rules?: RateLimit[] | undefined;
rules?: RateLimit[] | undefined;Persisted scheme rules.
Behavior
- Creates a new resource and returns the created object from the backend.
- Validate required fields before calling to avoid predictable request failures.