/** * Agilicus API * Agilicus is API-first. Modern software is controlled by other software, is open, is available for you to use the way you want, securely, simply. The OpenAPI Specification in YAML format is available on [www](https://www.agilicus.com/www/api/agilicus-openapi.yaml) for importing to other tools. A rendered, online viewable and usable version of this specification is available at [api](https://www.agilicus.com/api). You may try the API inline directly in the web page. To do so, first obtain an Authentication Token (the simplest way is to install the Python SDK, and then run `agilicus-cli --issuer https://MYISSUER get-token`). You will need an org-id for most calls (and can obtain from `agilicus-cli --issuer https://MYISSUER list-orgs`). The `MYISSUER` will typically be `auth.MYDOMAIN`, and you will see it as you sign-in to the administrative UI. This API releases on Bearer-Token authentication. To obtain a valid bearer token you will need to Authenticate to an Issuer with OpenID Connect (a superset of OAUTH2). Your \"issuer\" will look like https://auth.MYDOMAIN. For example, when you signed-up, if you said \"use my own domain name\" and assigned a CNAME of cloud.example.com, then your issuer would be https://auth.cloud.example.com. If you selected \"use an Agilicus supplied domain name\", your issuer would look like https://auth.myorg.agilicus.cloud. For test purposes you can use our [Python SDK](https://pypi.org/project/agilicus/) and run `agilicus-cli --issuer https://auth.MYDOMAIN get-token`. This API may be used in any language runtime that supports OpenAPI 3.0, or, you may use our [Python SDK](https://pypi.org/project/agilicus/), our [Typescript SDK](https://www.npmjs.com/package/@agilicus/angular), or our [Golang SDK](https://git.agilicus.com/pub/sdk-go). 100% of the activities in our system our API-driven, from our web-admin, through our progressive web applications, to all internals: there is nothing that is not accessible. For more information, see [developer resources](https://www.agilicus.com/developer). * * The version of the OpenAPI document: 2025.12.16 * Contact: dev@agilicus.com * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { HttpHeaders } from '@angular/common/http'; import { Observable } from 'rxjs'; import { BillingAccount } from '../model/models'; import { BillingAccountCurrencyMigration } from '../model/models'; import { BillingBalanceTransaction } from '../model/models'; import { BillingOrg } from '../model/models'; import { BillingOrgSubscription } from '../model/models'; import { BillingSubscriptionNewSubscription } from '../model/models'; import { CreateBillingUsageRecords } from '../model/models'; import { Feature } from '../model/models'; import { ListBillingAccountsResponse } from '../model/models'; import { ListBillingBalanceTransactions } from '../model/models'; import { ListBillingCheckoutSessions } from '../model/models'; import { ListBillingOrgSubscriptionsResponse } from '../model/models'; import { ListBillingUsageRecordsResponse } from '../model/models'; import { ListFeaturesResponse } from '../model/models'; import { ListOrgsResponse } from '../model/models'; import { ListProductsResponse } from '../model/models'; import { Organisation } from '../model/models'; import { Product } from '../model/models'; import { Configuration } from '../configuration'; export interface AddBillingUsageRecordRequestParams { billing_account_id: string; CreateBillingUsageRecords?: CreateBillingUsageRecords; } export interface AddCustomerBalanceTransactionRequestParams { billing_account_id: string; BillingBalanceTransaction?: BillingBalanceTransaction; } export interface AddOrgToBillingAccountRequestParams { billing_account_id: string; BillingOrg?: BillingOrg; } export interface AddOrgToBillingSubscriptionRequestParams { billing_subscription_id: string; BillingOrg?: BillingOrg; } export interface AddSubscriptionBalanceTransactionRequestParams { billing_subscription_id: string; BillingBalanceTransaction?: BillingBalanceTransaction; } export interface CreateBillingAccountRequestParams { BillingAccount: BillingAccount; } export interface CreateCurrencyMigrationRequestParams { billing_account_id: string; BillingAccountCurrencyMigration?: BillingAccountCurrencyMigration; } export interface CreateFeatureRequestParams { Feature: Feature; } export interface CreateProductRequestParams { Product: Product; } export interface CreateSubscriptionRequestParams { BillingOrgSubscription: BillingOrgSubscription; } export interface DeleteBillingAccountRequestParams { billing_account_id: string; } export interface DeleteFeatureRequestParams { feature_id: string; } export interface DeleteProductRequestParams { product_id: string; } export interface DeleteSubscriptionRequestParams { billing_subscription_id: string; } export interface GetBillingAccountRequestParams { billing_account_id: string; org_id?: string; get_subscription_data?: boolean; get_customer_data?: boolean; get_usage_metrics?: boolean; } export interface GetBillingAccountOrgsRequestParams { billing_account_id: string; limit?: number; } export interface GetBillingSubscriptionOrgsRequestParams { billing_subscription_id: string; limit?: number; } export interface GetCustomerBalanceTransactionsRequestParams { billing_account_id: string; limit?: number; starting_after?: string; ending_before?: string; } export interface GetFeatureRequestParams { feature_id: string; } export interface GetProductRequestParams { product_id: string; get_subscription_data?: boolean; } export interface GetSubscriptionRequestParams { billing_subscription_id: string; get_subscription_data?: boolean; get_customer_data?: boolean; expand_feature_overrides_query?: string; get_usage_metrics?: boolean; } export interface GetSubscriptionBalanceTransactionsRequestParams { billing_subscription_id: string; limit?: number; starting_after?: string; ending_before?: string; } export interface GetUsageRecordsRequestParams { billing_account_id: string; limit?: number; } export interface ListBillingAccountsRequestParams { limit?: number; org_id?: string; customer_id?: string; get_subscription_data?: boolean; get_customer_data?: boolean; get_usage_metrics?: boolean; page_at_id?: string; active_orgs_since?: Date; } export interface ListCheckoutSessionsRequestParams { billing_account_id: string; org_id?: string; limit?: number; checkout_session_status?: string; } export interface ListFeaturesRequestParams { limit?: number; key?: string; name?: string; prioritize_key?: boolean; product_id?: string; subscription_id?: string; billing_account_id?: string; } export interface ListProductsRequestParams { limit?: number; get_subscription_data?: boolean; } export interface ListSubscriptionFeaturesRequestParams { billing_subscription_id: string; prioritize_key?: boolean; } export interface ListSubscriptionsRequestParams { limit?: number; get_subscription_data?: boolean; get_customer_data?: boolean; billing_account_id?: string; org_id?: string; customer_id?: string; expand_feature_overrides_query?: string; get_usage_metrics?: boolean; page_at_id?: string; active_orgs_since?: Date; has_cancel_detail?: boolean; } export interface ListSubscriptionsWithFeatureRequestParams { feature_id: string; limit?: number; page_at_id?: string; } export interface NewSubscriptionRequestParams { billing_subscription_id: string; BillingSubscriptionNewSubscription?: BillingSubscriptionNewSubscription; } export interface RemoveOrgFromBillingAccountRequestParams { billing_account_id: string; org_id: string; } export interface RemoveOrgFromBillingSubscriptionRequestParams { org_id: string; billing_subscription_id: string; } export interface ReplaceBillingAccountRequestParams { billing_account_id: string; BillingAccount?: BillingAccount; } export interface ReplaceFeatureRequestParams { feature_id: string; Feature?: Feature; } export interface ReplaceProductRequestParams { product_id: string; Product?: Product; } export interface ReplaceSubscriptionRequestParams { billing_subscription_id: string; subscription_reconcile?: boolean; BillingOrgSubscription?: BillingOrgSubscription; } export interface UpdateSubscriptionCancellationRequestParams { billing_subscription_id: string; BillingOrgSubscription?: BillingOrgSubscription; } export interface BillingServiceInterface { defaultHeaders: HttpHeaders; configuration: Configuration; /** * Add usage records for a billing account * Add usage records for a billing account * @param requestParameters */ addBillingUsageRecord(requestParameters: AddBillingUsageRecordRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Add a customer balance transaction * Add a customer balance transaction * @param requestParameters */ addCustomerBalanceTransaction(requestParameters: AddCustomerBalanceTransactionRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Add an org to a billing account * Add an org to a billing account * @param requestParameters */ addOrgToBillingAccount(requestParameters: AddOrgToBillingAccountRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Add an org to a billing subscription * Add an org to a billing subscription * @param requestParameters */ addOrgToBillingSubscription(requestParameters: AddOrgToBillingSubscriptionRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Add a subscription balance transaction * Add a subscription balance transaction * @param requestParameters */ addSubscriptionBalanceTransaction(requestParameters: AddSubscriptionBalanceTransactionRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Create a billing account * Create a billing account * @param requestParameters */ createBillingAccount(requestParameters: CreateBillingAccountRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Migrate a billing account to a new currency * Migrates a billing account to a new currency. This operation is cumulative: on failure, it can be rerun. It will resume where it failed. * @param requestParameters */ createCurrencyMigration(requestParameters: CreateCurrencyMigrationRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * create a feature * create a feature * @param requestParameters */ createFeature(requestParameters: CreateFeatureRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Create a product * Create a product * @param requestParameters */ createProduct(requestParameters: CreateProductRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Create a billing subscription * Create a billing subscription * @param requestParameters */ createSubscription(requestParameters: CreateSubscriptionRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Delete a billing account * Delete a billing account * @param requestParameters */ deleteBillingAccount(requestParameters: DeleteBillingAccountRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable<{}>; /** * Delete a feature * Delete a feature * @param requestParameters */ deleteFeature(requestParameters: DeleteFeatureRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable<{}>; /** * Delete a product * Delete a product * @param requestParameters */ deleteProduct(requestParameters: DeleteProductRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable<{}>; /** * Delete a billing subscription * Delete a billing subscription * @param requestParameters */ deleteSubscription(requestParameters: DeleteSubscriptionRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable<{}>; /** * Get a single billing account * Get a single billing account * @param requestParameters */ getBillingAccount(requestParameters: GetBillingAccountRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Get all orgs in a billing account * Get all orgs in a billing account * @param requestParameters */ getBillingAccountOrgs(requestParameters: GetBillingAccountOrgsRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Get all orgs in a billing subscription * Get all orgs in a billing subscription * @param requestParameters */ getBillingSubscriptionOrgs(requestParameters: GetBillingSubscriptionOrgsRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Get the customers balance transactions * Get the customers balance transactions * @param requestParameters */ getCustomerBalanceTransactions(requestParameters: GetCustomerBalanceTransactionsRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Get a feature by id * Get a feature by id * @param requestParameters */ getFeature(requestParameters: GetFeatureRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Get a single product * Get a single product * @param requestParameters */ getProduct(requestParameters: GetProductRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Get a single billing subscription * Get a single billing subscription * @param requestParameters */ getSubscription(requestParameters: GetSubscriptionRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Get the subscription balance transactions * Get the subscription balance transactions * @param requestParameters */ getSubscriptionBalanceTransactions(requestParameters: GetSubscriptionBalanceTransactionsRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Get all subscription usage records * Get all subscription usage records * @param requestParameters */ getUsageRecords(requestParameters: GetUsageRecordsRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Get all billing accounts * Get all billing accounts * @param requestParameters */ listBillingAccounts(requestParameters: ListBillingAccountsRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * list checkout sessions * list checkout sessions * @param requestParameters */ listCheckoutSessions(requestParameters: ListCheckoutSessionsRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Get all features * Get all features * @param requestParameters */ listFeatures(requestParameters: ListFeaturesRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Get all products * Get all products * @param requestParameters */ listProducts(requestParameters: ListProductsRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Get all subscription features * Get all subscription features * @param requestParameters */ listSubscriptionFeatures(requestParameters: ListSubscriptionFeaturesRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Get all billing subscriptions for a billing account * Get all billing subscriptions for a billing account * @param requestParameters */ listSubscriptions(requestParameters: ListSubscriptionsRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Get all subscriptions using feature_id * Get all subscriptions using feature_id * @param requestParameters */ listSubscriptionsWithFeature(requestParameters: ListSubscriptionsWithFeatureRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Create a new upstream subscription * Create a new upstream subscription * @param requestParameters */ newSubscription(requestParameters: NewSubscriptionRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Remove an org from a billing account * From an org from a billing account * @param requestParameters */ removeOrgFromBillingAccount(requestParameters: RemoveOrgFromBillingAccountRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable<{}>; /** * Remove an org from a billing subscription * From an org from a billing subscription * @param requestParameters */ removeOrgFromBillingSubscription(requestParameters: RemoveOrgFromBillingSubscriptionRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable<{}>; /** * Create or update a billing account * Create or update a billing account * @param requestParameters */ replaceBillingAccount(requestParameters: ReplaceBillingAccountRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * update a Feature * update a Feature * @param requestParameters */ replaceFeature(requestParameters: ReplaceFeatureRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Create or update a product * Create or update a product * @param requestParameters */ replaceProduct(requestParameters: ReplaceProductRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Create or update a billing subscription * Create or update a billing subscription * @param requestParameters */ replaceSubscription(requestParameters: ReplaceSubscriptionRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; /** * Update the subscription cancellation detail * Update the subscription cancellation detail * @param requestParameters */ updateSubscriptionCancellation(requestParameters: UpdateSubscriptionCancellationRequestParams, observe?: any, extraHeaders?: HttpHeaders): Observable; }