orb-billing
Version:
The official TypeScript library for the Orb API
95 lines • 4.47 kB
JavaScript
;
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
Object.defineProperty(exports, "__esModule", { value: true });
exports.AlertsPage = exports.Alerts = void 0;
const resource_1 = require("../resource.js");
const core_1 = require("../core.js");
const pagination_1 = require("../pagination.js");
class Alerts extends resource_1.APIResource {
/**
* This endpoint retrieves an alert by its ID.
*/
retrieve(alertId, options) {
return this._client.get(`/alerts/${alertId}`, options);
}
/**
* This endpoint updates the thresholds of an alert.
*/
update(alertConfigurationId, body, options) {
return this._client.put(`/alerts/${alertConfigurationId}`, { body, ...options });
}
list(query = {}, options) {
if ((0, core_1.isRequestOptions)(query)) {
return this.list({}, query);
}
return this._client.getAPIList('/alerts', AlertsPage, { query, ...options });
}
/**
* This endpoint creates a new alert to monitor a customer's credit balance. There
* are three types of alerts that can be scoped to customers:
* `credit_balance_depleted`, `credit_balance_dropped`, and
* `credit_balance_recovered`. Customers can have a maximum of one of each type of
* alert per [credit balance currency](/product-catalog/prepurchase).
* `credit_balance_dropped` alerts require a list of thresholds to be provided
* while `credit_balance_depleted` and `credit_balance_recovered` alerts do not
* require thresholds.
*/
createForCustomer(customerId, body, options) {
return this._client.post(`/alerts/customer_id/${customerId}`, { body, ...options });
}
/**
* This endpoint creates a new alert to monitor a customer's credit balance. There
* are three types of alerts that can be scoped to customers:
* `credit_balance_depleted`, `credit_balance_dropped`, and
* `credit_balance_recovered`. Customers can have a maximum of one of each type of
* alert per [credit balance currency](/product-catalog/prepurchase).
* `credit_balance_dropped` alerts require a list of thresholds to be provided
* while `credit_balance_depleted` and `credit_balance_recovered` alerts do not
* require thresholds.
*/
createForExternalCustomer(externalCustomerId, body, options) {
return this._client.post(`/alerts/external_customer_id/${externalCustomerId}`, { body, ...options });
}
/**
* This endpoint is used to create alerts at the subscription level.
*
* Subscription level alerts can be one of two types: `usage_exceeded` or
* `cost_exceeded`. A `usage_exceeded` alert is scoped to a particular metric and
* is triggered when the usage of that metric exceeds predefined thresholds during
* the current billing cycle. A `cost_exceeded` alert is triggered when the total
* amount due during the current billing cycle surpasses predefined thresholds.
* `cost_exceeded` alerts do not include burndown of pre-purchase credits. Each
* subscription can have one `cost_exceeded` alert and one `usage_exceeded` alert
* per metric that is a part of the subscription. Alerts are triggered based on
* usage or cost conditions met during the current billing cycle.
*/
createForSubscription(subscriptionId, body, options) {
return this._client.post(`/alerts/subscription_id/${subscriptionId}`, { body, ...options });
}
disable(alertConfigurationId, params = {}, options) {
if ((0, core_1.isRequestOptions)(params)) {
return this.disable(alertConfigurationId, {}, params);
}
const { subscription_id } = params;
return this._client.post(`/alerts/${alertConfigurationId}/disable`, {
query: { subscription_id },
...options,
});
}
enable(alertConfigurationId, params = {}, options) {
if ((0, core_1.isRequestOptions)(params)) {
return this.enable(alertConfigurationId, {}, params);
}
const { subscription_id } = params;
return this._client.post(`/alerts/${alertConfigurationId}/enable`, {
query: { subscription_id },
...options,
});
}
}
exports.Alerts = Alerts;
class AlertsPage extends pagination_1.Page {
}
exports.AlertsPage = AlertsPage;
Alerts.AlertsPage = AlertsPage;
//# sourceMappingURL=alerts.js.map