orb-billing
Version:
The official TypeScript library for the Orb API
51 lines • 2.35 kB
TypeScript
import { APIResource } from "../../resource.js";
import * as Core from "../../core.js";
import * as PlansAPI from "./plans.js";
export declare class ExternalPlanID extends APIResource {
/**
* This endpoint can be used to update the `external_plan_id`, and `metadata` of an
* existing plan.
*
* Other fields on a plan are currently immutable.
*/
update(otherExternalPlanId: string, body: ExternalPlanIDUpdateParams, options?: Core.RequestOptions): Core.APIPromise<PlansAPI.Plan>;
/**
* This endpoint is used to fetch [plan](/core-concepts##plan-and-price) details
* given an external_plan_id identifier. It returns information about the prices
* included in the plan and their configuration, as well as the product that the
* plan is attached to.
*
* If multiple plans are found to contain the specified external_plan_id, the
* active plans will take priority over archived ones, and among those, the
* endpoint will return the most recently created plan.
*
* ## Serialized prices
*
* Orb supports a few different pricing models out of the box. Each of these models
* is serialized differently in a given [Price](/core-concepts#plan-and-price)
* object. The `model_type` field determines the key for the configuration object
* that is present. A detailed explanation of price types can be found in the
* [Price schema](/core-concepts#plan-and-price). "
*/
fetch(externalPlanId: string, options?: Core.RequestOptions): Core.APIPromise<PlansAPI.Plan>;
}
export interface ExternalPlanIDUpdateParams {
/**
* An optional user-defined ID for this plan resource, used throughout the system
* as an alias for this Plan. Use this field to identify a plan by an existing
* identifier in your system.
*/
external_plan_id?: string | null;
/**
* User-specified key/value pairs for the resource. Individual keys can be removed
* by setting the value to `null`, and the entire metadata mapping can be cleared
* by setting `metadata` to `null`.
*/
metadata?: {
[key: string]: string | null;
} | null;
}
export declare namespace ExternalPlanID {
export { type ExternalPlanIDUpdateParams as ExternalPlanIDUpdateParams };
}
//# sourceMappingURL=external-plan-id.d.ts.map