@anthropic-ai/sdk
Version:
The official TypeScript library for the Anthropic API
128 lines • 5.79 kB
TypeScript
import { APIResource } from "../../../../core/resource.js";
import * as SpendLimitsAPI from "./spend-limits.js";
import { APIPromise } from "../../../../core/api-promise.js";
import { PageCursor, type PageCursorParams, PagePromise } from "../../../../core/pagination.js";
import { RequestOptions } from "../../../../internal/request-options.js";
export declare class IncreaseRequests extends APIResource {
/**
* Retrieve a spend limit increase request.
*
* While `pending`, the response includes a live `spend_summary` for the requester
* at the request's period.
*
* @example
* ```ts
* const betaSpendLimitIncreaseRequest =
* await client.beta.organization.spendLimits.increaseRequests.retrieve(
* 'spend_limit_increase_request_id',
* );
* ```
*/
retrieve(spendLimitIncreaseRequestID: string, options?: RequestOptions): APIPromise<BetaSpendLimitIncreaseRequest>;
/**
* List spend limit increase requests, most recent first.
*
* Pending requests include a live `spend_summary` for the requester. Requests
* whose requester is no longer a member are excluded.
*
* @example
* ```ts
* // Automatically fetches more pages as needed.
* for await (const betaSpendLimitIncreaseRequest of client.beta.organization.spendLimits.increaseRequests.list()) {
* // ...
* }
* ```
*/
list(query?: IncreaseRequestListParams | null | undefined, options?: RequestOptions): PagePromise<BetaSpendLimitIncreaseRequestsPageCursor, BetaSpendLimitIncreaseRequest>;
/**
* Approve a pending spend limit increase request.
*
* Writes a per-user spend limit at `amount` for the requester and transitions the
* request to `approved`. `period` defaults to the period the member was blocked
* on. Anthropic emails the requester unless `suppress_notification` is set.
*
* @example
* ```ts
* const response =
* await client.beta.organization.spendLimits.increaseRequests.approve(
* 'spend_limit_increase_request_id',
* { amount: '50000' },
* );
* ```
*/
approve(spendLimitIncreaseRequestID: string, body: IncreaseRequestApproveParams, options?: RequestOptions): APIPromise<IncreaseRequestApproveResponse>;
/**
* Deny a pending spend limit increase request.
*
* Idempotent on `denied`; denying an already-`approved` request returns 400.
* Anthropic emails the requester unless `suppress_notification` is set.
*
* @example
* ```ts
* const betaSpendLimitIncreaseRequest =
* await client.beta.organization.spendLimits.increaseRequests.deny(
* 'spend_limit_increase_request_id',
* );
* ```
*/
deny(spendLimitIncreaseRequestID: string, body: IncreaseRequestDenyParams, options?: RequestOptions): APIPromise<BetaSpendLimitIncreaseRequest>;
}
export type BetaSpendLimitIncreaseRequestsPageCursor = PageCursor<BetaSpendLimitIncreaseRequest>;
export interface BetaSpendLimitIncreaseRequest {
id: string;
actor: SpendLimitsAPI.BetaSpendLimitUserActor | SpendLimitsAPI.BetaSpendLimitScopedAPIKeyActor;
created_at: string;
period: SpendLimitsAPI.BetaSpendLimitPeriod;
resolved_at: string | null;
resolved_by: SpendLimitsAPI.BetaSpendLimitUserActor | SpendLimitsAPI.BetaSpendLimitScopedAPIKeyActor | null;
/**
* Per-member effective-limit report row (`GET /spend_limits/effective`).
*/
spend_summary: SpendLimitsAPI.BetaSpendSummary | null;
status: BetaSpendLimitIncreaseRequestStatus;
type: 'spend_limit_increase_request';
}
export type BetaSpendLimitIncreaseRequestStatus = 'approved' | 'denied' | 'pending';
export interface IncreaseRequestApproveResponse {
id: string;
actor: SpendLimitsAPI.BetaSpendLimitUserActor | SpendLimitsAPI.BetaSpendLimitScopedAPIKeyActor;
created_at: string;
period: SpendLimitsAPI.BetaSpendLimitPeriod;
resolved_at: string | null;
resolved_by: SpendLimitsAPI.BetaSpendLimitUserActor | SpendLimitsAPI.BetaSpendLimitScopedAPIKeyActor | null;
/**
* A configured spend limit: a cap on metered spend for one scope and period.
*/
spend_limit: SpendLimitsAPI.BetaSpendLimit;
/**
* Per-member effective-limit report row (`GET /spend_limits/effective`).
*/
spend_summary: SpendLimitsAPI.BetaSpendSummary | null;
status: BetaSpendLimitIncreaseRequestStatus;
type: 'spend_limit_increase_request';
}
export interface IncreaseRequestListParams extends PageCursorParams {
/**
* Filter by requester, as `user_...` tagged IDs.
*/
actor_ids?: Array<string> | null;
/**
* Filter by status. Omit to return all.
*/
status?: Array<BetaSpendLimitIncreaseRequestStatus> | null;
}
export interface IncreaseRequestApproveParams {
/**
* New per-user spend limit as a non-negative integer decimal string (minor units).
*/
amount: string;
period?: SpendLimitsAPI.BetaSpendLimitPeriod | null;
suppress_notification?: boolean;
}
export interface IncreaseRequestDenyParams {
suppress_notification?: boolean;
}
export declare namespace IncreaseRequests {
export { type BetaSpendLimitIncreaseRequest as BetaSpendLimitIncreaseRequest, type BetaSpendLimitIncreaseRequestStatus as BetaSpendLimitIncreaseRequestStatus, type IncreaseRequestApproveResponse as IncreaseRequestApproveResponse, type BetaSpendLimitIncreaseRequestsPageCursor as BetaSpendLimitIncreaseRequestsPageCursor, type IncreaseRequestListParams as IncreaseRequestListParams, type IncreaseRequestApproveParams as IncreaseRequestApproveParams, type IncreaseRequestDenyParams as IncreaseRequestDenyParams, };
}
//# sourceMappingURL=increase-requests.d.ts.map