UNPKG

stripe

Version:
194 lines (193 loc) 6.3 kB
import { StripeResource } from '../../StripeResource.js'; import { Meter } from './Meters.js'; import { Customer } from './../Customers.js'; import { PaginationParams } from '../../shared.js'; import { RequestOptions, ApiListPromise, Response } from '../../lib.js'; export declare class AlertResource extends StripeResource { /** * Lists billing active and inactive alerts */ list(params?: Billing.AlertListParams, options?: RequestOptions): ApiListPromise<Alert>; /** * Creates a billing alert */ create(params: Billing.AlertCreateParams, options?: RequestOptions): Promise<Response<Alert>>; /** * Retrieves a billing alert given an ID */ retrieve(id: string, params?: Billing.AlertRetrieveParams, options?: RequestOptions): Promise<Response<Alert>>; /** * Reactivates this alert, allowing it to trigger again. */ activate(id: string, params?: Billing.AlertActivateParams, options?: RequestOptions): Promise<Response<Alert>>; /** * Archives this alert, removing it from the list view and APIs. This is non-reversible. */ archive(id: string, params?: Billing.AlertArchiveParams, options?: RequestOptions): Promise<Response<Alert>>; /** * Deactivates this alert, preventing it from triggering. */ deactivate(id: string, params?: Billing.AlertDeactivateParams, options?: RequestOptions): Promise<Response<Alert>>; } export interface Alert { /** * Unique identifier for the object. */ id: string; /** * String representing the object's type. Objects of the same type share the same value. */ object: 'billing.alert'; /** * Defines the type of the alert. */ alert_type: 'usage_threshold'; /** * If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`. */ livemode: boolean; /** * Status of the alert. This can be active, inactive or archived. */ status: Billing.Alert.Status | null; /** * Title of the alert. */ title: string; /** * Encapsulates configuration of the alert to monitor usage on a specific [Billing Meter](https://docs.stripe.com/api/billing/meter). */ usage_threshold: Billing.Alert.UsageThreshold | null; } export declare namespace Billing { namespace Alert { type Status = 'active' | 'archived' | 'inactive'; interface UsageThreshold { /** * The filters allow limiting the scope of this usage alert. You can only specify up to one filter at this time. */ filters: Array<UsageThreshold.Filter> | null; /** * The value at which this alert will trigger. */ gte: number; /** * The [Billing Meter](https://docs.stripe.com/api/billing/meter) ID whose usage is monitored. */ meter: string | Meter; /** * Defines how the alert will behave. */ recurrence: 'one_time'; } namespace UsageThreshold { interface Filter { /** * Limit the scope of the alert to this customer ID */ customer: string | Customer | null; type: 'customer'; } } } } export declare namespace Billing { interface AlertCreateParams { /** * The type of alert to create. */ alert_type: 'usage_threshold'; /** * The title of the alert. */ title: string; /** * Specifies which fields in the response should be expanded. */ expand?: Array<string>; /** * The configuration of the usage threshold. */ usage_threshold?: AlertCreateParams.UsageThreshold; } namespace AlertCreateParams { interface UsageThreshold { /** * The filters allows limiting the scope of this usage alert. You can only specify up to one filter at this time. */ filters?: Array<UsageThreshold.Filter>; /** * Defines the threshold value that triggers the alert. */ gte: number; /** * The [Billing Meter](https://docs.stripe.com/api/billing/meter) ID whose usage is monitored. */ meter: string; /** * Defines how the alert will behave. */ recurrence: 'one_time'; } namespace UsageThreshold { interface Filter { /** * Limit the scope to this usage alert only to this customer. */ customer?: string; /** * What type of filter is being applied to this usage alert. */ type: 'customer'; } } } } export declare namespace Billing { interface AlertRetrieveParams { /** * Specifies which fields in the response should be expanded. */ expand?: Array<string>; } } export declare namespace Billing { interface AlertListParams extends PaginationParams { /** * Filter results to only include this type of alert. */ alert_type?: 'usage_threshold'; /** * Specifies which fields in the response should be expanded. */ expand?: Array<string>; /** * Filter results to only include alerts with the given meter. */ meter?: string; } } export declare namespace Billing { interface AlertActivateParams { /** * Specifies which fields in the response should be expanded. */ expand?: Array<string>; } } export declare namespace Billing { interface AlertArchiveParams { /** * Specifies which fields in the response should be expanded. */ expand?: Array<string>; } } export declare namespace Billing { interface AlertDeactivateParams { /** * Specifies which fields in the response should be expanded. */ expand?: Array<string>; } }