NewWacht Bench is live — AI-assisted development for Wacht

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;
Unique scheme slug.
name?: string | undefined;
Scheme display name.
description?: string | undefined;
Optional scheme description.
rules?: RateLimit[] | undefined;
Rate-limit rules for this scheme.
unit?: 'second' | 'minute' | 'hour' | 'day' | undefined;
Rate-limit window unit.
duration?: number | undefined;
Window duration count in `unit`.
max_requests?: number | undefined;
Maximum allowed requests per window.

Return value

slug?: string | undefined;
Created rate-limit scheme slug.
name?: string | undefined;
Created scheme display name.
description?: string | undefined;
Created scheme description.
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.

On this page