@vercel/sdk
Version:
<p align="center"> <a href="https://vercel.com"> <img src="https://assets.vercel.com/image/upload/v1588805858/repositories/vercel/logo.png" height="96"> <h3 align="center">Vercel</h3> </a> <p align="center">Develop. Preview. Ship.</p> </p>
89 lines (84 loc) • 2.21 kB
text/typescript
/*
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
*/
import * as z from "zod/v3";
import { safeParse } from "../lib/schemas.js";
import { Result as SafeParseResult } from "../types/fp.js";
import * as types from "../types/primitives.js";
import { SDKValidationError } from "./sdkvalidationerror.js";
/**
* AI Gateway quota associated with an API key.
*/
export type APIKeyQuota = {
/**
* The unique identifier for the quota.
*/
quotaEntityId: string;
/**
* The quota limit amount.
*/
limitAmount: number;
/**
* The current amount spent against the quota.
*/
currentSpend: number;
/**
* The current BYOK spend (tracked separately).
*/
currentByokSpend: number;
/**
* Whether BYOK (Bring Your Own Key) spend counts against the quota.
*/
includeByokInQuota: boolean;
/**
* How often the quota refreshes.
*/
refreshPeriod: string;
/**
* Whether the quota is currently active.
*/
active: boolean;
/**
* Whether the quota has been archived.
*/
archived: boolean;
/**
* Spend percentages (a subset of [50, 75, 100]) at which to send a spend alert. Empty or undefined disables alerts.
*/
alertThresholds?: Array<number> | undefined;
/**
* Timestamp (in milliseconds) of when the quota was created.
*/
createdAt: number;
/**
* Timestamp (in milliseconds) of when the quota was last updated.
*/
updatedAt: number;
};
/** @internal */
export const APIKeyQuota$inboundSchema: z.ZodType<
APIKeyQuota,
z.ZodTypeDef,
unknown
> = z.object({
quotaEntityId: types.string(),
limitAmount: types.number(),
currentSpend: types.number(),
currentByokSpend: types.number(),
includeByokInQuota: types.boolean(),
refreshPeriod: types.string(),
active: types.boolean(),
archived: types.boolean(),
alertThresholds: types.optional(z.array(types.number())),
createdAt: types.number(),
updatedAt: types.number(),
});
export function apiKeyQuotaFromJSON(
jsonString: string,
): SafeParseResult<APIKeyQuota, SDKValidationError> {
return safeParse(
jsonString,
(x) => APIKeyQuota$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'APIKeyQuota' from JSON`,
);
}