UNPKG

orb-billing

Version:

The official TypeScript library for the Orb API

51 lines (45 loc) 2.05 kB
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../../resource'; import { isRequestOptions } from '../../core'; import * as Core from '../../core'; import * as SubscriptionsAPI from '../subscriptions'; import { SubscriptionsPage } from '../subscriptions'; import { type PageParams } from '../../pagination'; /** * A coupon represents a reusable discount configuration that can be applied either as a fixed or percentage amount to an invoice or subscription. Coupons are activated using a redemption code, which applies the discount to a subscription or invoice. The duration of a coupon determines how long it remains available for use by end users. */ export class Subscriptions extends APIResource { /** * This endpoint returns a list of all subscriptions that have redeemed a given * coupon as a [paginated](/api-reference/pagination) list, ordered starting from * the most recently created subscription. For a full discussion of the * subscription resource, see [Subscription](/core-concepts#subscription). */ list( couponId: string, query?: SubscriptionListParams, options?: Core.RequestOptions, ): Core.PagePromise<SubscriptionsPage, SubscriptionsAPI.Subscription>; list( couponId: string, options?: Core.RequestOptions, ): Core.PagePromise<SubscriptionsPage, SubscriptionsAPI.Subscription>; list( couponId: string, query: SubscriptionListParams | Core.RequestOptions = {}, options?: Core.RequestOptions, ): Core.PagePromise<SubscriptionsPage, SubscriptionsAPI.Subscription> { if (isRequestOptions(query)) { return this.list(couponId, {}, query); } return this._client.getAPIList(`/coupons/${couponId}/subscriptions`, SubscriptionsPage, { query, ...options, }); } } export interface SubscriptionListParams extends PageParams {} export declare namespace Subscriptions { export { type SubscriptionListParams as SubscriptionListParams }; } export { SubscriptionsPage };