Skip to content

Create a versioned quota strategy

POST /admin/v1/workspaces/{workspaceId}/plan-strategies/quota — Create a versioned quota strategy

Updated View as Markdown
Audience: application-backendPlane: adminAuth: management-keyStatus: beta

Endpoint

POST /admin/v1/workspaces/{workspaceId}/plan-strategies/quota

Operation ID: createQuotaStrategy

Authentication

Send a Nexus Management Key as Authorization: Bearer <management-key>. This credential is control-plane only.

Idempotency

This operation does not declare an Idempotency-Key requirement in the accepted OpenAPI contract.

Request

Parameters

Name Location Required Schema Description
workspaceId path Yes string

application/json body

Required: Yes

Type: CreateQuotaStrategyDto

Field Required Type Description
key Yes string
resetInterval Yes string (MONTH | YEAR)
quotaUnits Yes string
inputMultiplierPpm Yes string
outputMultiplierPpm Yes string
cachedInputMultiplierPpm Yes string
maxOutputTokens Yes number

Responses

Status Description Content type Schema
201 application/json QuotaStrategyDto

Only responses explicitly declared by the accepted Admin OpenAPI contract are shown. The current contract does not declare operation-specific error bodies; the SDK preserves any non-success status and body in AdminApiError.

201 application/json schema

Type: QuotaStrategyDto

Field Required Type Description
id Yes string
workspaceId Yes string
key Yes string
version Yes number
type Yes string (QUOTA)
resetInterval Yes string (MONTH | YEAR)
quotaUnits Yes string 64-bit integer encoded as a decimal string.
inputMultiplierPpm Yes string
outputMultiplierPpm Yes string
cachedInputMultiplierPpm Yes string
maxOutputTokens Yes number
status Yes string

Examples

TypeScript Management SDK

NexusAdminClient.createQuotaStrategy uses AdminOperationInput<"createQuotaStrategy"> and returns Promise<AdminOperationOutput<"createQuotaStrategy">>.

import { NexusAdminClient } from '@nexus/sdk-typescript';

const nexus = new NexusAdminClient({
  baseUrl: 'https://nexus.microvoid.io',
  managementKey: process.env.NEXUS_MANAGEMENT_KEY,
});

const result = await nexus.createQuotaStrategy({
  path: {
    workspaceId: '533c4e1e-2823-4349-86b9-d6f1a869a2ca',
  },
  body: {
    key: 'example-key',
    resetInterval: 'MONTH',
    quotaUnits: 'string',
    inputMultiplierPpm: 'string',
    outputMultiplierPpm: 'string',
    cachedInputMultiplierPpm: 'string',
    maxOutputTokens: 1,
  },
});

Fetch

const response = await fetch(
  'https://nexus.microvoid.io/admin/v1/workspaces/533c4e1e-2823-4349-86b9-d6f1a869a2ca/plan-strategies/quota',
  {
    method: 'POST',
    headers: {
      Authorization: `Bearer ${process.env.NEXUS_MANAGEMENT_KEY}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      key: 'example-key',
      resetInterval: 'MONTH',
      quotaUnits: 'string',
      inputMultiplierPpm: 'string',
      outputMultiplierPpm: 'string',
      cachedInputMultiplierPpm: 'string',
      maxOutputTokens: 1,
    }),
  },
);

if (!response.ok) throw new Error(`Nexus request failed: ${response.status}`);

curl

curl --request POST \
  "https://nexus.microvoid.io/admin/v1/workspaces/533c4e1e-2823-4349-86b9-d6f1a869a2ca/plan-strategies/quota" \
  --header "Authorization: Bearer ${NEXUS_MANAGEMENT_KEY}" \
  --header "Content-Type: application/json" \
  --data "{\"key\":\"example-key\",\"resetInterval\":\"MONTH\",\"quotaUnits\":\"string\",\"inputMultiplierPpm\":\"string\",\"outputMultiplierPpm\":\"string\",\"cachedInputMultiplierPpm\":\"string\",\"maxOutputTokens\":1}"
Navigation

Type to search…

↑↓ navigate↵ selectEsc close