An open API service indexing awesome lists of open source software.

https://github.com/killbill/killbill-client-php

PHP client library for Kill Bill
https://github.com/killbill/killbill-client-php

billing killbill payments subscriptions

Last synced: 6 months ago
JSON representation

PHP client library for Kill Bill

Awesome Lists containing this project

README

          

killbill-client-php
===================

PHP client library for [Kill Bill](http://killbill.io).

## Kill Bill compatibility

| Client version | Kill Bill version |
| -------------: | ----------------: |
| 0.2.x | 0.18.z |
| 0.3.x | 0.20.z |
| 0.4.x | 0.22.z |
| 0.5.x | 0.24.z |

## Requirements

PHP 8.1 and later

## Installation & Usage
### Composer

Require the library via [composer](https://getcomposer.org):
```
composer require killbill/killbill-client
```

### Manual Installation

Download the files and include `autoload.php`:

```php
require_once('/path/to/./vendor/autoload.php');
```

## Tests

To run the unit tests:

```
composer install
./vendor/bin/phpunit
```

## Getting Started

Please follow the [installation procedure](#installation--usage) and then run the following:

```php
setApiKey('bob');
$tenant->setApiSecret('lazar');
$tenant = $this->client->getTenantApi()->createTenant($tenant, 'pierre', 'PHP_TEST', 'no comment');

// Point the client to work with this tenant
$client->setApiKey('bob');
$client->setApiSecret('lazar');

// Unique id for this account
$externalAccountId = uniqid();

$accountData = new Account();
$accountData->setName('Killbill php test');
$accountData->setExternalKey($externalAccountId);
$accountData->setEmail('test-' . $externalAccountId . '@kill-bill.org');
$accountData->setCurrency('USD');
$accountData->setPaymentMethodId(null);
$accountData->setAddress1('12 rue des ecoles');
$accountData->setAddress2('Poitier');
$accountData->setCompany('Renault');
$accountData->setState('Poitou');
$accountData->setCountry('France');
$accountData->setPhone('81 53 26 56');
$accountData->setFirstNameLength(4);
$accountData->setTimeZone('UTC');

$account = $client->getAccountApi()->createAccount($accountData, 'pierre', 'PHP_TEST', 'no comment');

// In case you need to make custom requests to Killbill plugins using guzzle:
use Killbill\Client\AddAuthHeadersMiddleware;

$guzzle = $client->getGuzzleClient();
// base_host is already configured
$response = $guzzle->request('POST', '/plugins/killbill-stripe/checkout', [
'form_params' => [
'kbAccountId' => $account->getAccountId(),
'successUrl' => $successUrl,
'cancelUrl' => $cancelUrl,
],
//BASIC_AUTH adds admin/password credenditals;
//TENANT_KEY adds key/secret header
AddAuthHeadersMiddleware::OPTION => AddAuthHeadersMiddleware::BASIC_AUTH | AddAuthHeadersMiddleware::TENANT_KEY,
]);
```

See tests for more examples.

Using the client in a non-composer environment
----------------------------------------------

If you want to use the client but are not using [Composer](https://getcomposer.org) (yet), follow these steps:

- Install composer locally: [Instruction](https://getcomposer.org/doc/00-intro.md#installation-linux-unix-osx)
- Run `composer require killbill/killbill-client`. This will download the library into the `vendor/` folder and create a `composer.json` and a `composer.lock` file that define this dependency.
- Include the auto-generated `autoload.php` file from the `vendor/` folder.
- You can now use the client like above described.
- If you don't want to have an additional build step, just check the `vendor/` folder into your repository.

Testing
-------

The Killbill PHP client uses [phpunit](https://phpunit.de/) as testing framework. Tests can either be run locally using `composer test` or against
a live Killbill instance that is running on `127.0.0.1:8080` using `composer test-integration`.

Requirements
------------

The PHP library requires PHP 5.5 or greater with _libcurl_ compiled (e.g. you need the php-curl package on Ubuntu).

Support
-------

Feel free to ask questions on the [killbilling-users](https://groups.google.com/forum/?fromgroups#!forum/killbilling-users) Google Group.

## API Generation

This PHP package is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project:

- API version: 0.24.0
- Build package: io.swagger.codegen.v3.generators.php.PhpClientCodegen

Download [swagger-codegen](https://github.com/swagger-api/swagger-codegen):
```
wget https://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen-cli/3.0.22/swagger-codegen-cli-3.0.22.jar -O swagger-codegen-cli.jar
```

and run the following:
```
./build.sh
```

see https://github.com/swagger-api/swagger-codegen/tree/3.0.0 for documentation of swagger-codegen

The generator here uses custom templates in the templates folder based on swagger's default ones (https://github.com/swagger-api/swagger-codegen-generators/tree/master/src/main/resources/handlebars/php)

Main differences in the generated client compared to swagger's:
* dates are formatted into an Y-m-d strings instead of ISO8601 strings
* booleans are formatted into true/false strings instead of 0/1 strings
* arrays in queries are formatted as a 'csv' format instead of 'multi' (ex: custom field id lists on account's delete custom fields method)
* arrays of objects in bodies are not failing at formatting (ex: custom field objects on account's add custom fields method)

## Documentation for API Endpoints

All URIs are relative to */*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*AccountApi* | [**addAccountBlockingState**](docs/Api/AccountApi.md#addaccountblockingstate) | **POST** /1.0/kb/accounts/{accountId}/block | Block an account
*AccountApi* | [**addEmail**](docs/Api/AccountApi.md#addemail) | **POST** /1.0/kb/accounts/{accountId}/emails | Add account email
*AccountApi* | [**closeAccount**](docs/Api/AccountApi.md#closeaccount) | **DELETE** /1.0/kb/accounts/{accountId} | Close account
*AccountApi* | [**createAccount**](docs/Api/AccountApi.md#createaccount) | **POST** /1.0/kb/accounts | Create account
*AccountApi* | [**createAccountCustomFields**](docs/Api/AccountApi.md#createaccountcustomfields) | **POST** /1.0/kb/accounts/{accountId}/customFields | Add custom fields to account
*AccountApi* | [**createAccountTags**](docs/Api/AccountApi.md#createaccounttags) | **POST** /1.0/kb/accounts/{accountId}/tags | Add tags to account
*AccountApi* | [**createPaymentMethod**](docs/Api/AccountApi.md#createpaymentmethod) | **POST** /1.0/kb/accounts/{accountId}/paymentMethods | Add a payment method
*AccountApi* | [**deleteAccountCustomFields**](docs/Api/AccountApi.md#deleteaccountcustomfields) | **DELETE** /1.0/kb/accounts/{accountId}/customFields | Remove custom fields from account
*AccountApi* | [**deleteAccountTags**](docs/Api/AccountApi.md#deleteaccounttags) | **DELETE** /1.0/kb/accounts/{accountId}/tags | Remove tags from account
*AccountApi* | [**getAccount**](docs/Api/AccountApi.md#getaccount) | **GET** /1.0/kb/accounts/{accountId} | Retrieve an account by id
*AccountApi* | [**getAccountAuditLogs**](docs/Api/AccountApi.md#getaccountauditlogs) | **GET** /1.0/kb/accounts/{accountId}/auditLogs | Retrieve audit logs by account id
*AccountApi* | [**getAccountAuditLogsWithHistory**](docs/Api/AccountApi.md#getaccountauditlogswithhistory) | **GET** /1.0/kb/accounts/{accountId}/auditLogsWithHistory | Retrieve account audit logs with history by account id
*AccountApi* | [**getAccountBundles**](docs/Api/AccountApi.md#getaccountbundles) | **GET** /1.0/kb/accounts/{accountId}/bundles | Retrieve bundles for account
*AccountApi* | [**getAccountByKey**](docs/Api/AccountApi.md#getaccountbykey) | **GET** /1.0/kb/accounts | Retrieve an account by external key
*AccountApi* | [**getAccountCustomFields**](docs/Api/AccountApi.md#getaccountcustomfields) | **GET** /1.0/kb/accounts/{accountId}/customFields | Retrieve account custom fields
*AccountApi* | [**getAccountEmailAuditLogsWithHistory**](docs/Api/AccountApi.md#getaccountemailauditlogswithhistory) | **GET** /1.0/kb/accounts/{accountId}/emails/{accountEmailId}/auditLogsWithHistory | Retrieve account email audit logs with history by id
*AccountApi* | [**getAccountTags**](docs/Api/AccountApi.md#getaccounttags) | **GET** /1.0/kb/accounts/{accountId}/tags | Retrieve account tags
*AccountApi* | [**getAccountTimeline**](docs/Api/AccountApi.md#getaccounttimeline) | **GET** /1.0/kb/accounts/{accountId}/timeline | Retrieve account timeline
*AccountApi* | [**getAccounts**](docs/Api/AccountApi.md#getaccounts) | **GET** /1.0/kb/accounts/pagination | List accounts
*AccountApi* | [**getAllCustomFields**](docs/Api/AccountApi.md#getallcustomfields) | **GET** /1.0/kb/accounts/{accountId}/allCustomFields | Retrieve account customFields
*AccountApi* | [**getAllTags**](docs/Api/AccountApi.md#getalltags) | **GET** /1.0/kb/accounts/{accountId}/allTags | Retrieve account tags
*AccountApi* | [**getBlockingStates**](docs/Api/AccountApi.md#getblockingstates) | **GET** /1.0/kb/accounts/{accountId}/block | Retrieve blocking states for account
*AccountApi* | [**getChildrenAccounts**](docs/Api/AccountApi.md#getchildrenaccounts) | **GET** /1.0/kb/accounts/{accountId}/children | List children accounts
*AccountApi* | [**getEmails**](docs/Api/AccountApi.md#getemails) | **GET** /1.0/kb/accounts/{accountId}/emails | Retrieve an account emails
*AccountApi* | [**getInvoicePayments**](docs/Api/AccountApi.md#getinvoicepayments) | **GET** /1.0/kb/accounts/{accountId}/invoicePayments | Retrieve account invoice payments
*AccountApi* | [**getInvoicesForAccount**](docs/Api/AccountApi.md#getinvoicesforaccount) | **GET** /1.0/kb/accounts/{accountId}/invoices | Retrieve account invoices
*AccountApi* | [**getOverdueAccount**](docs/Api/AccountApi.md#getoverdueaccount) | **GET** /1.0/kb/accounts/{accountId}/overdue | Retrieve overdue state for account
*AccountApi* | [**getPaymentMethodsForAccount**](docs/Api/AccountApi.md#getpaymentmethodsforaccount) | **GET** /1.0/kb/accounts/{accountId}/paymentMethods | Retrieve account payment methods
*AccountApi* | [**getPaymentsForAccount**](docs/Api/AccountApi.md#getpaymentsforaccount) | **GET** /1.0/kb/accounts/{accountId}/payments | Retrieve account payments
*AccountApi* | [**modifyAccountCustomFields**](docs/Api/AccountApi.md#modifyaccountcustomfields) | **PUT** /1.0/kb/accounts/{accountId}/customFields | Modify custom fields to account
*AccountApi* | [**payAllInvoices**](docs/Api/AccountApi.md#payallinvoices) | **POST** /1.0/kb/accounts/{accountId}/invoicePayments | Trigger a payment for all unpaid invoices
*AccountApi* | [**processPayment**](docs/Api/AccountApi.md#processpayment) | **POST** /1.0/kb/accounts/{accountId}/payments | Trigger a payment (authorization, purchase or credit)
*AccountApi* | [**processPaymentByExternalKey**](docs/Api/AccountApi.md#processpaymentbyexternalkey) | **POST** /1.0/kb/accounts/payments | Trigger a payment using the account external key (authorization, purchase or credit)
*AccountApi* | [**rebalanceExistingCBAOnAccount**](docs/Api/AccountApi.md#rebalanceexistingcbaonaccount) | **PUT** /1.0/kb/accounts/{accountId}/cbaRebalancing | Rebalance account CBA
*AccountApi* | [**refreshPaymentMethods**](docs/Api/AccountApi.md#refreshpaymentmethods) | **PUT** /1.0/kb/accounts/{accountId}/paymentMethods/refresh | Refresh account payment methods
*AccountApi* | [**removeEmail**](docs/Api/AccountApi.md#removeemail) | **DELETE** /1.0/kb/accounts/{accountId}/emails/{email} | Delete email from account
*AccountApi* | [**searchAccounts**](docs/Api/AccountApi.md#searchaccounts) | **GET** /1.0/kb/accounts/search/{searchKey} | Search accounts
*AccountApi* | [**setDefaultPaymentMethod**](docs/Api/AccountApi.md#setdefaultpaymentmethod) | **PUT** /1.0/kb/accounts/{accountId}/paymentMethods/{paymentMethodId}/setDefault | Set the default payment method
*AccountApi* | [**transferChildCreditToParent**](docs/Api/AccountApi.md#transferchildcredittoparent) | **PUT** /1.0/kb/accounts/{childAccountId}/transferCredit | Move a given child credit to the parent level
*AccountApi* | [**updateAccount**](docs/Api/AccountApi.md#updateaccount) | **PUT** /1.0/kb/accounts/{accountId} | Update account
*AdminApi* | [**getQueueEntries**](docs/Api/AdminApi.md#getqueueentries) | **GET** /1.0/kb/admin/queues | Get queues entries
*AdminApi* | [**invalidatesCache**](docs/Api/AdminApi.md#invalidatescache) | **DELETE** /1.0/kb/admin/cache | Invalidates the given Cache if specified, otherwise invalidates all caches
*AdminApi* | [**invalidatesCacheByAccount**](docs/Api/AdminApi.md#invalidatescachebyaccount) | **DELETE** /1.0/kb/admin/cache/accounts/{accountId} | Invalidates Caches per account level
*AdminApi* | [**invalidatesCacheByTenant**](docs/Api/AdminApi.md#invalidatescachebytenant) | **DELETE** /1.0/kb/admin/cache/tenants | Invalidates Caches per tenant level
*AdminApi* | [**putInRotation**](docs/Api/AdminApi.md#putinrotation) | **PUT** /1.0/kb/admin/healthcheck | Put the host back into rotation
*AdminApi* | [**putOutOfRotation**](docs/Api/AdminApi.md#putoutofrotation) | **DELETE** /1.0/kb/admin/healthcheck | Put the host out of rotation
*AdminApi* | [**triggerInvoiceGenerationForParkedAccounts**](docs/Api/AdminApi.md#triggerinvoicegenerationforparkedaccounts) | **POST** /1.0/kb/admin/invoices | Trigger an invoice generation for all parked accounts
*AdminApi* | [**updatePaymentTransactionState**](docs/Api/AdminApi.md#updatepaymenttransactionstate) | **PUT** /1.0/kb/admin/payments/{paymentId}/transactions/{paymentTransactionId} | Update existing paymentTransaction and associated payment state
*BundleApi* | [**addBundleBlockingState**](docs/Api/BundleApi.md#addbundleblockingstate) | **POST** /1.0/kb/bundles/{bundleId}/block | Block a bundle
*BundleApi* | [**createBundleCustomFields**](docs/Api/BundleApi.md#createbundlecustomfields) | **POST** /1.0/kb/bundles/{bundleId}/customFields | Add custom fields to bundle
*BundleApi* | [**createBundleTags**](docs/Api/BundleApi.md#createbundletags) | **POST** /1.0/kb/bundles/{bundleId}/tags | Add tags to bundle
*BundleApi* | [**deleteBundleCustomFields**](docs/Api/BundleApi.md#deletebundlecustomfields) | **DELETE** /1.0/kb/bundles/{bundleId}/customFields | Remove custom fields from bundle
*BundleApi* | [**deleteBundleTags**](docs/Api/BundleApi.md#deletebundletags) | **DELETE** /1.0/kb/bundles/{bundleId}/tags | Remove tags from bundle
*BundleApi* | [**getBundle**](docs/Api/BundleApi.md#getbundle) | **GET** /1.0/kb/bundles/{bundleId} | Retrieve a bundle by id
*BundleApi* | [**getBundleByKey**](docs/Api/BundleApi.md#getbundlebykey) | **GET** /1.0/kb/bundles | Retrieve a bundle by external key
*BundleApi* | [**getBundleCustomFields**](docs/Api/BundleApi.md#getbundlecustomfields) | **GET** /1.0/kb/bundles/{bundleId}/customFields | Retrieve bundle custom fields
*BundleApi* | [**getBundleTags**](docs/Api/BundleApi.md#getbundletags) | **GET** /1.0/kb/bundles/{bundleId}/tags | Retrieve bundle tags
*BundleApi* | [**getBundles**](docs/Api/BundleApi.md#getbundles) | **GET** /1.0/kb/bundles/pagination | List bundles
*BundleApi* | [**modifyBundleCustomFields**](docs/Api/BundleApi.md#modifybundlecustomfields) | **PUT** /1.0/kb/bundles/{bundleId}/customFields | Modify custom fields to bundle
*BundleApi* | [**pauseBundle**](docs/Api/BundleApi.md#pausebundle) | **PUT** /1.0/kb/bundles/{bundleId}/pause | Pause a bundle
*BundleApi* | [**renameExternalKey**](docs/Api/BundleApi.md#renameexternalkey) | **PUT** /1.0/kb/bundles/{bundleId}/renameKey | Update a bundle externalKey
*BundleApi* | [**resumeBundle**](docs/Api/BundleApi.md#resumebundle) | **PUT** /1.0/kb/bundles/{bundleId}/resume | Resume a bundle
*BundleApi* | [**searchBundles**](docs/Api/BundleApi.md#searchbundles) | **GET** /1.0/kb/bundles/search/{searchKey} | Search bundles
*BundleApi* | [**transferBundle**](docs/Api/BundleApi.md#transferbundle) | **POST** /1.0/kb/bundles/{bundleId} | Transfer a bundle to another account
*CatalogApi* | [**addSimplePlan**](docs/Api/CatalogApi.md#addsimpleplan) | **POST** /1.0/kb/catalog/simplePlan | Add a simple plan entry in the current version of the catalog
*CatalogApi* | [**deleteCatalog**](docs/Api/CatalogApi.md#deletecatalog) | **DELETE** /1.0/kb/catalog | Delete all versions for a per tenant catalog
*CatalogApi* | [**getAvailableAddons**](docs/Api/CatalogApi.md#getavailableaddons) | **GET** /1.0/kb/catalog/availableAddons | Retrieve available add-ons for a given product
*CatalogApi* | [**getAvailableBasePlans**](docs/Api/CatalogApi.md#getavailablebaseplans) | **GET** /1.0/kb/catalog/availableBasePlans | Retrieve available base plans
*CatalogApi* | [**getCatalogJson**](docs/Api/CatalogApi.md#getcatalogjson) | **GET** /1.0/kb/catalog | Retrieve the catalog as JSON
*CatalogApi* | [**getCatalogVersions**](docs/Api/CatalogApi.md#getcatalogversions) | **GET** /1.0/kb/catalog/versions | Retrieve a list of catalog versions
*CatalogApi* | [**getCatalogXml**](docs/Api/CatalogApi.md#getcatalogxml) | **GET** /1.0/kb/catalog/xml | Retrieve the full catalog as XML
*CatalogApi* | [**getPhaseForSubscriptionAndDate**](docs/Api/CatalogApi.md#getphaseforsubscriptionanddate) | **GET** /1.0/kb/catalog/phase | Retrieve phase for a given subscription and date
*CatalogApi* | [**getPlanForSubscriptionAndDate**](docs/Api/CatalogApi.md#getplanforsubscriptionanddate) | **GET** /1.0/kb/catalog/plan | Retrieve plan for a given subscription and date
*CatalogApi* | [**getPriceListForSubscriptionAndDate**](docs/Api/CatalogApi.md#getpricelistforsubscriptionanddate) | **GET** /1.0/kb/catalog/priceList | Retrieve priceList for a given subscription and date
*CatalogApi* | [**getProductForSubscriptionAndDate**](docs/Api/CatalogApi.md#getproductforsubscriptionanddate) | **GET** /1.0/kb/catalog/product | Retrieve product for a given subscription and date
*CatalogApi* | [**uploadCatalogXml**](docs/Api/CatalogApi.md#uploadcatalogxml) | **POST** /1.0/kb/catalog/xml | Upload the full catalog as XML
*CreditApi* | [**createCredit**](docs/Api/CreditApi.md#createcredit) | **POST** /1.0/kb/credits | Create a credit
*CreditApi* | [**getCredit**](docs/Api/CreditApi.md#getcredit) | **GET** /1.0/kb/credits/{creditId} | Retrieve a credit by id
*CustomFieldApi* | [**getCustomFieldAuditLogsWithHistory**](docs/Api/CustomFieldApi.md#getcustomfieldauditlogswithhistory) | **GET** /1.0/kb/customFields/{customFieldId}/auditLogsWithHistory | Retrieve custom field audit logs with history by id
*CustomFieldApi* | [**getCustomFields**](docs/Api/CustomFieldApi.md#getcustomfields) | **GET** /1.0/kb/customFields/pagination | List custom fields
*CustomFieldApi* | [**searchCustomFields**](docs/Api/CustomFieldApi.md#searchcustomfields) | **GET** /1.0/kb/customFields/search/{searchKey} | Search custom fields
*ExportApi* | [**exportDataForAccount**](docs/Api/ExportApi.md#exportdataforaccount) | **GET** /1.0/kb/export/{accountId} | Export account data
*InvoiceApi* | [**adjustInvoiceItem**](docs/Api/InvoiceApi.md#adjustinvoiceitem) | **POST** /1.0/kb/invoices/{invoiceId} | Adjust an invoice item
*InvoiceApi* | [**commitInvoice**](docs/Api/InvoiceApi.md#commitinvoice) | **PUT** /1.0/kb/invoices/{invoiceId}/commitInvoice | Perform the invoice status transition from DRAFT to COMMITTED
*InvoiceApi* | [**createExternalCharges**](docs/Api/InvoiceApi.md#createexternalcharges) | **POST** /1.0/kb/invoices/charges/{accountId} | Create external charge(s)
*InvoiceApi* | [**createFutureInvoice**](docs/Api/InvoiceApi.md#createfutureinvoice) | **POST** /1.0/kb/invoices | Trigger an invoice generation
*InvoiceApi* | [**createInstantPayment**](docs/Api/InvoiceApi.md#createinstantpayment) | **POST** /1.0/kb/invoices/{invoiceId}/payments | Trigger a payment for invoice
*InvoiceApi* | [**createInvoiceCustomFields**](docs/Api/InvoiceApi.md#createinvoicecustomfields) | **POST** /1.0/kb/invoices/{invoiceId}/customFields | Add custom fields to invoice
*InvoiceApi* | [**createInvoiceTags**](docs/Api/InvoiceApi.md#createinvoicetags) | **POST** /1.0/kb/invoices/{invoiceId}/tags | Add tags to invoice
*InvoiceApi* | [**createMigrationInvoice**](docs/Api/InvoiceApi.md#createmigrationinvoice) | **POST** /1.0/kb/invoices/migration/{accountId} | Create a migration invoice
*InvoiceApi* | [**createTaxItems**](docs/Api/InvoiceApi.md#createtaxitems) | **POST** /1.0/kb/invoices/taxes/{accountId} | Create tax items
*InvoiceApi* | [**deleteCBA**](docs/Api/InvoiceApi.md#deletecba) | **DELETE** /1.0/kb/invoices/{invoiceId}/{invoiceItemId}/cba | Delete a CBA item
*InvoiceApi* | [**deleteInvoiceCustomFields**](docs/Api/InvoiceApi.md#deleteinvoicecustomfields) | **DELETE** /1.0/kb/invoices/{invoiceId}/customFields | Remove custom fields from invoice
*InvoiceApi* | [**deleteInvoiceTags**](docs/Api/InvoiceApi.md#deleteinvoicetags) | **DELETE** /1.0/kb/invoices/{invoiceId}/tags | Remove tags from invoice
*InvoiceApi* | [**generateDryRunInvoice**](docs/Api/InvoiceApi.md#generatedryruninvoice) | **POST** /1.0/kb/invoices/dryRun | Generate a dryRun invoice
*InvoiceApi* | [**getCatalogTranslation**](docs/Api/InvoiceApi.md#getcatalogtranslation) | **GET** /1.0/kb/invoices/catalogTranslation/{locale} | Retrieves the catalog translation for the tenant
*InvoiceApi* | [**getInvoice**](docs/Api/InvoiceApi.md#getinvoice) | **GET** /1.0/kb/invoices/{invoiceId} | Retrieve an invoice by id
*InvoiceApi* | [**getInvoiceAsHTML**](docs/Api/InvoiceApi.md#getinvoiceashtml) | **GET** /1.0/kb/invoices/{invoiceId}/html | Render an invoice as HTML
*InvoiceApi* | [**getInvoiceByItemId**](docs/Api/InvoiceApi.md#getinvoicebyitemid) | **GET** /1.0/kb/invoices/byItemId/{itemId} | Retrieve an invoice by invoice item id
*InvoiceApi* | [**getInvoiceByNumber**](docs/Api/InvoiceApi.md#getinvoicebynumber) | **GET** /1.0/kb/invoices/byNumber/{invoiceNumber} | Retrieve an invoice by number
*InvoiceApi* | [**getInvoiceCustomFields**](docs/Api/InvoiceApi.md#getinvoicecustomfields) | **GET** /1.0/kb/invoices/{invoiceId}/customFields | Retrieve invoice custom fields
*InvoiceApi* | [**getInvoiceMPTemplate**](docs/Api/InvoiceApi.md#getinvoicemptemplate) | **GET** /1.0/kb/invoices/manualPayTemplate/{locale} | Retrieves the manualPay invoice template for the tenant
*InvoiceApi* | [**getInvoiceTags**](docs/Api/InvoiceApi.md#getinvoicetags) | **GET** /1.0/kb/invoices/{invoiceId}/tags | Retrieve invoice tags
*InvoiceApi* | [**getInvoiceTemplate**](docs/Api/InvoiceApi.md#getinvoicetemplate) | **GET** /1.0/kb/invoices/template | Retrieves the invoice template for the tenant
*InvoiceApi* | [**getInvoiceTranslation**](docs/Api/InvoiceApi.md#getinvoicetranslation) | **GET** /1.0/kb/invoices/translation/{locale} | Retrieves the invoice translation for the tenant
*InvoiceApi* | [**getInvoices**](docs/Api/InvoiceApi.md#getinvoices) | **GET** /1.0/kb/invoices/pagination | List invoices
*InvoiceApi* | [**getPaymentsForInvoice**](docs/Api/InvoiceApi.md#getpaymentsforinvoice) | **GET** /1.0/kb/invoices/{invoiceId}/payments | Retrieve payments associated with an invoice
*InvoiceApi* | [**modifyInvoiceCustomFields**](docs/Api/InvoiceApi.md#modifyinvoicecustomfields) | **PUT** /1.0/kb/invoices/{invoiceId}/customFields | Modify custom fields to invoice
*InvoiceApi* | [**searchInvoices**](docs/Api/InvoiceApi.md#searchinvoices) | **GET** /1.0/kb/invoices/search/{searchKey} | Search invoices
*InvoiceApi* | [**uploadCatalogTranslation**](docs/Api/InvoiceApi.md#uploadcatalogtranslation) | **POST** /1.0/kb/invoices/catalogTranslation/{locale} | Upload the catalog translation for the tenant
*InvoiceApi* | [**uploadInvoiceMPTemplate**](docs/Api/InvoiceApi.md#uploadinvoicemptemplate) | **POST** /1.0/kb/invoices/manualPayTemplate | Upload the manualPay invoice template for the tenant
*InvoiceApi* | [**uploadInvoiceTemplate**](docs/Api/InvoiceApi.md#uploadinvoicetemplate) | **POST** /1.0/kb/invoices/template | Upload the invoice template for the tenant
*InvoiceApi* | [**uploadInvoiceTranslation**](docs/Api/InvoiceApi.md#uploadinvoicetranslation) | **POST** /1.0/kb/invoices/translation/{locale} | Upload the invoice translation for the tenant
*InvoiceApi* | [**voidInvoice**](docs/Api/InvoiceApi.md#voidinvoice) | **PUT** /1.0/kb/invoices/{invoiceId}/voidInvoice | Perform the action of voiding an invoice
*InvoiceItemApi* | [**createInvoiceItemCustomFields**](docs/Api/InvoiceItemApi.md#createinvoiceitemcustomfields) | **POST** /1.0/kb/invoiceItems/{invoiceItemId}/customFields | Add custom fields to invoice item
*InvoiceItemApi* | [**createInvoiceItemTags**](docs/Api/InvoiceItemApi.md#createinvoiceitemtags) | **POST** /1.0/kb/invoiceItems/{invoiceItemId}/tags | Add tags to invoice item
*InvoiceItemApi* | [**deleteInvoiceItemCustomFields**](docs/Api/InvoiceItemApi.md#deleteinvoiceitemcustomfields) | **DELETE** /1.0/kb/invoiceItems/{invoiceItemId}/customFields | Remove custom fields from invoice item
*InvoiceItemApi* | [**deleteInvoiceItemTags**](docs/Api/InvoiceItemApi.md#deleteinvoiceitemtags) | **DELETE** /1.0/kb/invoiceItems/{invoiceItemId}/tags | Remove tags from invoice item
*InvoiceItemApi* | [**getInvoiceItemCustomFields**](docs/Api/InvoiceItemApi.md#getinvoiceitemcustomfields) | **GET** /1.0/kb/invoiceItems/{invoiceItemId}/customFields | Retrieve invoice item custom fields
*InvoiceItemApi* | [**getInvoiceItemTags**](docs/Api/InvoiceItemApi.md#getinvoiceitemtags) | **GET** /1.0/kb/invoiceItems/{invoiceItemId}/tags | Retrieve invoice item tags
*InvoiceItemApi* | [**modifyInvoiceItemCustomFields**](docs/Api/InvoiceItemApi.md#modifyinvoiceitemcustomfields) | **PUT** /1.0/kb/invoiceItems/{invoiceItemId}/customFields | Modify custom fields to invoice item
*InvoicePaymentApi* | [**completeInvoicePaymentTransaction**](docs/Api/InvoicePaymentApi.md#completeinvoicepaymenttransaction) | **PUT** /1.0/kb/invoicePayments/{paymentId} | Complete an existing transaction
*InvoicePaymentApi* | [**createChargeback**](docs/Api/InvoicePaymentApi.md#createchargeback) | **POST** /1.0/kb/invoicePayments/{paymentId}/chargebacks | Record a chargeback
*InvoicePaymentApi* | [**createChargebackReversal**](docs/Api/InvoicePaymentApi.md#createchargebackreversal) | **POST** /1.0/kb/invoicePayments/{paymentId}/chargebackReversals | Record a chargebackReversal
*InvoicePaymentApi* | [**createInvoicePaymentCustomFields**](docs/Api/InvoicePaymentApi.md#createinvoicepaymentcustomfields) | **POST** /1.0/kb/invoicePayments/{paymentId}/customFields | Add custom fields to payment
*InvoicePaymentApi* | [**createInvoicePaymentTags**](docs/Api/InvoicePaymentApi.md#createinvoicepaymenttags) | **POST** /1.0/kb/invoicePayments/{paymentId}/tags | Add tags to payment
*InvoicePaymentApi* | [**createRefundWithAdjustments**](docs/Api/InvoicePaymentApi.md#createrefundwithadjustments) | **POST** /1.0/kb/invoicePayments/{paymentId}/refunds | Refund a payment, and adjust the invoice if needed
*InvoicePaymentApi* | [**deleteInvoicePaymentCustomFields**](docs/Api/InvoicePaymentApi.md#deleteinvoicepaymentcustomfields) | **DELETE** /1.0/kb/invoicePayments/{paymentId}/customFields | Remove custom fields from payment
*InvoicePaymentApi* | [**deleteInvoicePaymentTags**](docs/Api/InvoicePaymentApi.md#deleteinvoicepaymenttags) | **DELETE** /1.0/kb/invoicePayments/{paymentId}/tags | Remove tags from payment
*InvoicePaymentApi* | [**getInvoicePayment**](docs/Api/InvoicePaymentApi.md#getinvoicepayment) | **GET** /1.0/kb/invoicePayments/{paymentId} | Retrieve a payment by id
*InvoicePaymentApi* | [**getInvoicePaymentCustomFields**](docs/Api/InvoicePaymentApi.md#getinvoicepaymentcustomfields) | **GET** /1.0/kb/invoicePayments/{paymentId}/customFields | Retrieve payment custom fields
*InvoicePaymentApi* | [**getInvoicePaymentTags**](docs/Api/InvoicePaymentApi.md#getinvoicepaymenttags) | **GET** /1.0/kb/invoicePayments/{paymentId}/tags | Retrieve payment tags
*InvoicePaymentApi* | [**modifyInvoicePaymentCustomFields**](docs/Api/InvoicePaymentApi.md#modifyinvoicepaymentcustomfields) | **PUT** /1.0/kb/invoicePayments/{paymentId}/customFields | Modify custom fields to payment
*NodesInfoApi* | [**getNodesInfo**](docs/Api/NodesInfoApi.md#getnodesinfo) | **GET** /1.0/kb/nodesInfo | Retrieve all the nodes infos
*NodesInfoApi* | [**triggerNodeCommand**](docs/Api/NodesInfoApi.md#triggernodecommand) | **POST** /1.0/kb/nodesInfo | Trigger a node command
*OverdueApi* | [**getOverdueConfigJson**](docs/Api/OverdueApi.md#getoverdueconfigjson) | **GET** /1.0/kb/overdue | Retrieve the overdue config as JSON
*OverdueApi* | [**getOverdueConfigXml**](docs/Api/OverdueApi.md#getoverdueconfigxml) | **GET** /1.0/kb/overdue/xml | Retrieve the overdue config as XML
*OverdueApi* | [**uploadOverdueConfigJson**](docs/Api/OverdueApi.md#uploadoverdueconfigjson) | **POST** /1.0/kb/overdue | Upload the full overdue config as JSON
*OverdueApi* | [**uploadOverdueConfigXml**](docs/Api/OverdueApi.md#uploadoverdueconfigxml) | **POST** /1.0/kb/overdue/xml | Upload the full overdue config as XML
*PaymentApi* | [**cancelScheduledPaymentTransactionByExternalKey**](docs/Api/PaymentApi.md#cancelscheduledpaymenttransactionbyexternalkey) | **DELETE** /1.0/kb/payments/cancelScheduledPaymentTransaction | Cancels a scheduled payment attempt retry
*PaymentApi* | [**cancelScheduledPaymentTransactionById**](docs/Api/PaymentApi.md#cancelscheduledpaymenttransactionbyid) | **DELETE** /1.0/kb/payments/{paymentTransactionId}/cancelScheduledPaymentTransaction | Cancels a scheduled payment attempt retry
*PaymentApi* | [**captureAuthorization**](docs/Api/PaymentApi.md#captureauthorization) | **POST** /1.0/kb/payments/{paymentId} | Capture an existing authorization
*PaymentApi* | [**captureAuthorizationByExternalKey**](docs/Api/PaymentApi.md#captureauthorizationbyexternalkey) | **POST** /1.0/kb/payments | Capture an existing authorization
*PaymentApi* | [**chargebackPayment**](docs/Api/PaymentApi.md#chargebackpayment) | **POST** /1.0/kb/payments/{paymentId}/chargebacks | Record a chargeback
*PaymentApi* | [**chargebackPaymentByExternalKey**](docs/Api/PaymentApi.md#chargebackpaymentbyexternalkey) | **POST** /1.0/kb/payments/chargebacks | Record a chargeback
*PaymentApi* | [**chargebackReversalPayment**](docs/Api/PaymentApi.md#chargebackreversalpayment) | **POST** /1.0/kb/payments/{paymentId}/chargebackReversals | Record a chargeback reversal
*PaymentApi* | [**chargebackReversalPaymentByExternalKey**](docs/Api/PaymentApi.md#chargebackreversalpaymentbyexternalkey) | **POST** /1.0/kb/payments/chargebackReversals | Record a chargeback reversal
*PaymentApi* | [**completeTransaction**](docs/Api/PaymentApi.md#completetransaction) | **PUT** /1.0/kb/payments/{paymentId} | Complete an existing transaction
*PaymentApi* | [**completeTransactionByExternalKey**](docs/Api/PaymentApi.md#completetransactionbyexternalkey) | **PUT** /1.0/kb/payments | Complete an existing transaction
*PaymentApi* | [**createComboPayment**](docs/Api/PaymentApi.md#createcombopayment) | **POST** /1.0/kb/payments/combo | Combo api to create a new payment transaction on a existing (or not) account
*PaymentApi* | [**createPaymentCustomFields**](docs/Api/PaymentApi.md#createpaymentcustomfields) | **POST** /1.0/kb/payments/{paymentId}/customFields | Add custom fields to payment
*PaymentApi* | [**createPaymentTags**](docs/Api/PaymentApi.md#createpaymenttags) | **POST** /1.0/kb/payments/{paymentId}/tags | Add tags to payment payment
*PaymentApi* | [**deletePaymentCustomFields**](docs/Api/PaymentApi.md#deletepaymentcustomfields) | **DELETE** /1.0/kb/payments/{paymentId}/customFields | Remove custom fields from payment payment
*PaymentApi* | [**deletePaymentTags**](docs/Api/PaymentApi.md#deletepaymenttags) | **DELETE** /1.0/kb/payments/{paymentId}/tags | Remove tags from payment payment
*PaymentApi* | [**getPayment**](docs/Api/PaymentApi.md#getpayment) | **GET** /1.0/kb/payments/{paymentId} | Retrieve a payment by id
*PaymentApi* | [**getPaymentAttemptAuditLogsWithHistory**](docs/Api/PaymentApi.md#getpaymentattemptauditlogswithhistory) | **GET** /1.0/kb/payments/attempts/{paymentAttemptId}/auditLogsWithHistory | Retrieve payment attempt audit logs with history by id
*PaymentApi* | [**getPaymentAuditLogsWithHistory**](docs/Api/PaymentApi.md#getpaymentauditlogswithhistory) | **GET** /1.0/kb/payments/{paymentId}/auditLogsWithHistory | Retrieve payment audit logs with history by id
*PaymentApi* | [**getPaymentByExternalKey**](docs/Api/PaymentApi.md#getpaymentbyexternalkey) | **GET** /1.0/kb/payments | Retrieve a payment by external key
*PaymentApi* | [**getPaymentCustomFields**](docs/Api/PaymentApi.md#getpaymentcustomfields) | **GET** /1.0/kb/payments/{paymentId}/customFields | Retrieve payment custom fields
*PaymentApi* | [**getPaymentTags**](docs/Api/PaymentApi.md#getpaymenttags) | **GET** /1.0/kb/payments/{paymentId}/tags | Retrieve payment payment tags
*PaymentApi* | [**getPayments**](docs/Api/PaymentApi.md#getpayments) | **GET** /1.0/kb/payments/pagination | Get payments
*PaymentApi* | [**modifyPaymentCustomFields**](docs/Api/PaymentApi.md#modifypaymentcustomfields) | **PUT** /1.0/kb/payments/{paymentId}/customFields | Modify custom fields to payment
*PaymentApi* | [**refundPayment**](docs/Api/PaymentApi.md#refundpayment) | **POST** /1.0/kb/payments/{paymentId}/refunds | Refund an existing payment
*PaymentApi* | [**refundPaymentByExternalKey**](docs/Api/PaymentApi.md#refundpaymentbyexternalkey) | **POST** /1.0/kb/payments/refunds | Refund an existing payment
*PaymentApi* | [**searchPayments**](docs/Api/PaymentApi.md#searchpayments) | **GET** /1.0/kb/payments/search/{searchKey} | Search payments
*PaymentApi* | [**voidPayment**](docs/Api/PaymentApi.md#voidpayment) | **DELETE** /1.0/kb/payments/{paymentId} | Void an existing payment
*PaymentApi* | [**voidPaymentByExternalKey**](docs/Api/PaymentApi.md#voidpaymentbyexternalkey) | **DELETE** /1.0/kb/payments | Void an existing payment
*PaymentGatewayApi* | [**buildComboFormDescriptor**](docs/Api/PaymentGatewayApi.md#buildcomboformdescriptor) | **POST** /1.0/kb/paymentGateways/hosted/form | Combo API to generate form data to redirect the customer to the gateway
*PaymentGatewayApi* | [**buildFormDescriptor**](docs/Api/PaymentGatewayApi.md#buildformdescriptor) | **POST** /1.0/kb/paymentGateways/hosted/form/{accountId} | Generate form data to redirect the customer to the gateway
*PaymentGatewayApi* | [**processNotification**](docs/Api/PaymentGatewayApi.md#processnotification) | **POST** /1.0/kb/paymentGateways/notification/{pluginName} | Process a gateway notification
*PaymentMethodApi* | [**createPaymentMethodCustomFields**](docs/Api/PaymentMethodApi.md#createpaymentmethodcustomfields) | **POST** /1.0/kb/paymentMethods/{paymentMethodId}/customFields | Add custom fields to payment method
*PaymentMethodApi* | [**deletePaymentMethod**](docs/Api/PaymentMethodApi.md#deletepaymentmethod) | **DELETE** /1.0/kb/paymentMethods/{paymentMethodId} | Delete a payment method
*PaymentMethodApi* | [**deletePaymentMethodCustomFields**](docs/Api/PaymentMethodApi.md#deletepaymentmethodcustomfields) | **DELETE** /1.0/kb/paymentMethods/{paymentMethodId}/customFields | Remove custom fields from payment method
*PaymentMethodApi* | [**getPaymentMethod**](docs/Api/PaymentMethodApi.md#getpaymentmethod) | **GET** /1.0/kb/paymentMethods/{paymentMethodId} | Retrieve a payment method by id
*PaymentMethodApi* | [**getPaymentMethodAuditLogsWithHistory**](docs/Api/PaymentMethodApi.md#getpaymentmethodauditlogswithhistory) | **GET** /1.0/kb/paymentMethods/{paymentMethodId}/auditLogsWithHistory | Retrieve payment method audit logs with history by id
*PaymentMethodApi* | [**getPaymentMethodByKey**](docs/Api/PaymentMethodApi.md#getpaymentmethodbykey) | **GET** /1.0/kb/paymentMethods | Retrieve a payment method by external key
*PaymentMethodApi* | [**getPaymentMethodCustomFields**](docs/Api/PaymentMethodApi.md#getpaymentmethodcustomfields) | **GET** /1.0/kb/paymentMethods/{paymentMethodId}/customFields | Retrieve payment method custom fields
*PaymentMethodApi* | [**getPaymentMethods**](docs/Api/PaymentMethodApi.md#getpaymentmethods) | **GET** /1.0/kb/paymentMethods/pagination | List payment methods
*PaymentMethodApi* | [**modifyPaymentMethodCustomFields**](docs/Api/PaymentMethodApi.md#modifypaymentmethodcustomfields) | **PUT** /1.0/kb/paymentMethods/{paymentMethodId}/customFields | Modify custom fields to payment method
*PaymentMethodApi* | [**searchPaymentMethods**](docs/Api/PaymentMethodApi.md#searchpaymentmethods) | **GET** /1.0/kb/paymentMethods/search/{searchKey} | Search payment methods
*PaymentTransactionApi* | [**createTransactionCustomFields**](docs/Api/PaymentTransactionApi.md#createtransactioncustomfields) | **POST** /1.0/kb/paymentTransactions/{transactionId}/customFields | Add custom fields to payment transaction
*PaymentTransactionApi* | [**createTransactionTags**](docs/Api/PaymentTransactionApi.md#createtransactiontags) | **POST** /1.0/kb/paymentTransactions/{transactionId}/tags | Add tags to payment transaction
*PaymentTransactionApi* | [**deleteTransactionCustomFields**](docs/Api/PaymentTransactionApi.md#deletetransactioncustomfields) | **DELETE** /1.0/kb/paymentTransactions/{transactionId}/customFields | Remove custom fields from payment transaction
*PaymentTransactionApi* | [**deleteTransactionTags**](docs/Api/PaymentTransactionApi.md#deletetransactiontags) | **DELETE** /1.0/kb/paymentTransactions/{transactionId}/tags | Remove tags from payment transaction
*PaymentTransactionApi* | [**getPaymentByTransactionExternalKey**](docs/Api/PaymentTransactionApi.md#getpaymentbytransactionexternalkey) | **GET** /1.0/kb/paymentTransactions | Retrieve a payment by transaction external key
*PaymentTransactionApi* | [**getPaymentByTransactionId**](docs/Api/PaymentTransactionApi.md#getpaymentbytransactionid) | **GET** /1.0/kb/paymentTransactions/{transactionId} | Retrieve a payment by transaction id
*PaymentTransactionApi* | [**getTransactionAuditLogsWithHistory**](docs/Api/PaymentTransactionApi.md#gettransactionauditlogswithhistory) | **GET** /1.0/kb/paymentTransactions/{transactionId}/auditLogsWithHistory | Retrieve payment transaction audit logs with history by id
*PaymentTransactionApi* | [**getTransactionCustomFields**](docs/Api/PaymentTransactionApi.md#gettransactioncustomfields) | **GET** /1.0/kb/paymentTransactions/{transactionId}/customFields | Retrieve payment transaction custom fields
*PaymentTransactionApi* | [**getTransactionTags**](docs/Api/PaymentTransactionApi.md#gettransactiontags) | **GET** /1.0/kb/paymentTransactions/{transactionId}/tags | Retrieve payment transaction tags
*PaymentTransactionApi* | [**modifyTransactionCustomFields**](docs/Api/PaymentTransactionApi.md#modifytransactioncustomfields) | **PUT** /1.0/kb/paymentTransactions/{transactionId}/customFields | Modify custom fields to payment transaction
*PaymentTransactionApi* | [**notifyStateChanged**](docs/Api/PaymentTransactionApi.md#notifystatechanged) | **POST** /1.0/kb/paymentTransactions/{transactionId} | Mark a pending payment transaction as succeeded or failed
*PluginInfoApi* | [**getPluginsInfo**](docs/Api/PluginInfoApi.md#getpluginsinfo) | **GET** /1.0/kb/pluginsInfo | Retrieve the list of registered plugins
*SecurityApi* | [**addRoleDefinition**](docs/Api/SecurityApi.md#addroledefinition) | **POST** /1.0/kb/security/roles | Add a new role definition)
*SecurityApi* | [**addUserRoles**](docs/Api/SecurityApi.md#adduserroles) | **POST** /1.0/kb/security/users | Add a new user with roles (to make api requests)
*SecurityApi* | [**getCurrentUserPermissions**](docs/Api/SecurityApi.md#getcurrentuserpermissions) | **GET** /1.0/kb/security/permissions | List user permissions
*SecurityApi* | [**getCurrentUserSubject**](docs/Api/SecurityApi.md#getcurrentusersubject) | **GET** /1.0/kb/security/subject | Get user information
*SecurityApi* | [**getRoleDefinition**](docs/Api/SecurityApi.md#getroledefinition) | **GET** /1.0/kb/security/roles/{role} | Get role definition
*SecurityApi* | [**getUserRoles**](docs/Api/SecurityApi.md#getuserroles) | **GET** /1.0/kb/security/users/{username}/roles | Get roles associated to a user
*SecurityApi* | [**invalidateUser**](docs/Api/SecurityApi.md#invalidateuser) | **DELETE** /1.0/kb/security/users/{username} | Invalidate an existing user
*SecurityApi* | [**updateRoleDefinition**](docs/Api/SecurityApi.md#updateroledefinition) | **PUT** /1.0/kb/security/roles | Update a new role definition)
*SecurityApi* | [**updateUserPassword**](docs/Api/SecurityApi.md#updateuserpassword) | **PUT** /1.0/kb/security/users/{username}/password | Update a user password
*SecurityApi* | [**updateUserRoles**](docs/Api/SecurityApi.md#updateuserroles) | **PUT** /1.0/kb/security/users/{username}/roles | Update roles associated to a user
*SubscriptionApi* | [**addSubscriptionBlockingState**](docs/Api/SubscriptionApi.md#addsubscriptionblockingstate) | **POST** /1.0/kb/subscriptions/{subscriptionId}/block | Block a subscription
*SubscriptionApi* | [**cancelSubscriptionPlan**](docs/Api/SubscriptionApi.md#cancelsubscriptionplan) | **DELETE** /1.0/kb/subscriptions/{subscriptionId} | Cancel an entitlement plan
*SubscriptionApi* | [**changeSubscriptionPlan**](docs/Api/SubscriptionApi.md#changesubscriptionplan) | **PUT** /1.0/kb/subscriptions/{subscriptionId} | Change entitlement plan
*SubscriptionApi* | [**createSubscription**](docs/Api/SubscriptionApi.md#createsubscription) | **POST** /1.0/kb/subscriptions | Create an subscription
*SubscriptionApi* | [**createSubscriptionCustomFields**](docs/Api/SubscriptionApi.md#createsubscriptioncustomfields) | **POST** /1.0/kb/subscriptions/{subscriptionId}/customFields | Add custom fields to subscription
*SubscriptionApi* | [**createSubscriptionTags**](docs/Api/SubscriptionApi.md#createsubscriptiontags) | **POST** /1.0/kb/subscriptions/{subscriptionId}/tags |
*SubscriptionApi* | [**createSubscriptionWithAddOns**](docs/Api/SubscriptionApi.md#createsubscriptionwithaddons) | **POST** /1.0/kb/subscriptions/createSubscriptionWithAddOns | Create an entitlement with addOn products
*SubscriptionApi* | [**createSubscriptionsWithAddOns**](docs/Api/SubscriptionApi.md#createsubscriptionswithaddons) | **POST** /1.0/kb/subscriptions/createSubscriptionsWithAddOns | Create multiple entitlements with addOn products
*SubscriptionApi* | [**deleteSubscriptionCustomFields**](docs/Api/SubscriptionApi.md#deletesubscriptioncustomfields) | **DELETE** /1.0/kb/subscriptions/{subscriptionId}/customFields | Remove custom fields from subscription
*SubscriptionApi* | [**deleteSubscriptionTags**](docs/Api/SubscriptionApi.md#deletesubscriptiontags) | **DELETE** /1.0/kb/subscriptions/{subscriptionId}/tags | Remove tags from subscription
*SubscriptionApi* | [**getSubscription**](docs/Api/SubscriptionApi.md#getsubscription) | **GET** /1.0/kb/subscriptions/{subscriptionId} | Retrieve a subscription by id
*SubscriptionApi* | [**getSubscriptionCustomFields**](docs/Api/SubscriptionApi.md#getsubscriptioncustomfields) | **GET** /1.0/kb/subscriptions/{subscriptionId}/customFields | Retrieve subscription custom fields
*SubscriptionApi* | [**getSubscriptionTags**](docs/Api/SubscriptionApi.md#getsubscriptiontags) | **GET** /1.0/kb/subscriptions/{subscriptionId}/tags | Retrieve subscription tags
*SubscriptionApi* | [**modifySubscriptionCustomFields**](docs/Api/SubscriptionApi.md#modifysubscriptioncustomfields) | **PUT** /1.0/kb/subscriptions/{subscriptionId}/customFields | Modify custom fields to subscription
*SubscriptionApi* | [**uncancelSubscriptionPlan**](docs/Api/SubscriptionApi.md#uncancelsubscriptionplan) | **PUT** /1.0/kb/subscriptions/{subscriptionId}/uncancel | Un-cancel an entitlement
*SubscriptionApi* | [**undoChangeSubscriptionPlan**](docs/Api/SubscriptionApi.md#undochangesubscriptionplan) | **PUT** /1.0/kb/subscriptions/{subscriptionId}/undoChangePlan | Undo a pending change plan on an entitlement
*SubscriptionApi* | [**updateSubscriptionBCD**](docs/Api/SubscriptionApi.md#updatesubscriptionbcd) | **PUT** /1.0/kb/subscriptions/{subscriptionId}/bcd | Update the BCD associated to a subscription
*TagApi* | [**getTagAuditLogsWithHistory**](docs/Api/TagApi.md#gettagauditlogswithhistory) | **GET** /1.0/kb/tags/{tagId}/auditLogsWithHistory | Retrieve tag audit logs with history by id
*TagApi* | [**getTags**](docs/Api/TagApi.md#gettags) | **GET** /1.0/kb/tags/pagination | List tags
*TagApi* | [**searchTags**](docs/Api/TagApi.md#searchtags) | **GET** /1.0/kb/tags/search/{searchKey} | Search tags
*TagDefinitionApi* | [**createTagDefinition**](docs/Api/TagDefinitionApi.md#createtagdefinition) | **POST** /1.0/kb/tagDefinitions | Create a tag definition
*TagDefinitionApi* | [**deleteTagDefinition**](docs/Api/TagDefinitionApi.md#deletetagdefinition) | **DELETE** /1.0/kb/tagDefinitions/{tagDefinitionId} | Delete a tag definition
*TagDefinitionApi* | [**getTagDefinition**](docs/Api/TagDefinitionApi.md#gettagdefinition) | **GET** /1.0/kb/tagDefinitions/{tagDefinitionId} | Retrieve a tag definition
*TagDefinitionApi* | [**getTagDefinitionAuditLogsWithHistory**](docs/Api/TagDefinitionApi.md#gettagdefinitionauditlogswithhistory) | **GET** /1.0/kb/tagDefinitions/{tagDefinitionId}/auditLogsWithHistory | Retrieve tag definition audit logs with history by id
*TagDefinitionApi* | [**getTagDefinitions**](docs/Api/TagDefinitionApi.md#gettagdefinitions) | **GET** /1.0/kb/tagDefinitions | List tag definitions
*TenantApi* | [**createTenant**](docs/Api/TenantApi.md#createtenant) | **POST** /1.0/kb/tenants | Create a tenant
*TenantApi* | [**deletePerTenantConfiguration**](docs/Api/TenantApi.md#deletepertenantconfiguration) | **DELETE** /1.0/kb/tenants/uploadPerTenantConfig | Delete a per tenant configuration (system properties)
*TenantApi* | [**deletePluginConfiguration**](docs/Api/TenantApi.md#deletepluginconfiguration) | **DELETE** /1.0/kb/tenants/uploadPluginConfig/{pluginName} | Delete a per tenant configuration for a plugin
*TenantApi* | [**deletePluginPaymentStateMachineConfig**](docs/Api/TenantApi.md#deletepluginpaymentstatemachineconfig) | **DELETE** /1.0/kb/tenants/uploadPluginPaymentStateMachineConfig/{pluginName} | Delete a per tenant payment state machine for a plugin
*TenantApi* | [**deletePushNotificationCallbacks**](docs/Api/TenantApi.md#deletepushnotificationcallbacks) | **DELETE** /1.0/kb/tenants/registerNotificationCallback | Delete a push notification
*TenantApi* | [**deleteUserKeyValue**](docs/Api/TenantApi.md#deleteuserkeyvalue) | **DELETE** /1.0/kb/tenants/userKeyValue/{keyName} | Delete a per tenant user key/value
*TenantApi* | [**getAllPluginConfiguration**](docs/Api/TenantApi.md#getallpluginconfiguration) | **GET** /1.0/kb/tenants/uploadPerTenantConfig/{keyPrefix}/search | Retrieve a per tenant key value based on key prefix
*TenantApi* | [**getPerTenantConfiguration**](docs/Api/TenantApi.md#getpertenantconfiguration) | **GET** /1.0/kb/tenants/uploadPerTenantConfig | Retrieve a per tenant configuration (system properties)
*TenantApi* | [**getPluginConfiguration**](docs/Api/TenantApi.md#getpluginconfiguration) | **GET** /1.0/kb/tenants/uploadPluginConfig/{pluginName} | Retrieve a per tenant configuration for a plugin
*TenantApi* | [**getPluginPaymentStateMachineConfig**](docs/Api/TenantApi.md#getpluginpaymentstatemachineconfig) | **GET** /1.0/kb/tenants/uploadPluginPaymentStateMachineConfig/{pluginName} | Retrieve a per tenant payment state machine for a plugin
*TenantApi* | [**getPushNotificationCallbacks**](docs/Api/TenantApi.md#getpushnotificationcallbacks) | **GET** /1.0/kb/tenants/registerNotificationCallback | Retrieve a push notification
*TenantApi* | [**getTenant**](docs/Api/TenantApi.md#gettenant) | **GET** /1.0/kb/tenants/{tenantId} | Retrieve a tenant by id
*TenantApi* | [**getTenantByApiKey**](docs/Api/TenantApi.md#gettenantbyapikey) | **GET** /1.0/kb/tenants | Retrieve a tenant by its API key
*TenantApi* | [**getUserKeyValue**](docs/Api/TenantApi.md#getuserkeyvalue) | **GET** /1.0/kb/tenants/userKeyValue/{keyName} | Retrieve a per tenant user key/value
*TenantApi* | [**insertUserKeyValue**](docs/Api/TenantApi.md#insertuserkeyvalue) | **POST** /1.0/kb/tenants/userKeyValue/{keyName} | Add a per tenant user key/value
*TenantApi* | [**registerPushNotificationCallback**](docs/Api/TenantApi.md#registerpushnotificationcallback) | **POST** /1.0/kb/tenants/registerNotificationCallback | Create a push notification
*TenantApi* | [**uploadPerTenantConfiguration**](docs/Api/TenantApi.md#uploadpertenantconfiguration) | **POST** /1.0/kb/tenants/uploadPerTenantConfig | Add a per tenant configuration (system properties)
*TenantApi* | [**uploadPluginConfiguration**](docs/Api/TenantApi.md#uploadpluginconfiguration) | **POST** /1.0/kb/tenants/uploadPluginConfig/{pluginName} | Add a per tenant configuration for a plugin
*TenantApi* | [**uploadPluginPaymentStateMachineConfig**](docs/Api/TenantApi.md#uploadpluginpaymentstatemachineconfig) | **POST** /1.0/kb/tenants/uploadPluginPaymentStateMachineConfig/{pluginName} | Add a per tenant payment state machine for a plugin
*UsageApi* | [**getAllUsage**](docs/Api/UsageApi.md#getallusage) | **GET** /1.0/kb/usages/{subscriptionId} | Retrieve usage for a subscription
*UsageApi* | [**getUsage**](docs/Api/UsageApi.md#getusage) | **GET** /1.0/kb/usages/{subscriptionId}/{unitType} | Retrieve usage for a subscription and unit type
*UsageApi* | [**recordUsage**](docs/Api/UsageApi.md#recordusage) | **POST** /1.0/kb/usages | Record usage for a subscription

## Documentation For Models

- [Account](docs/Model/Account.md)
- [AccountEmail](docs/Model/AccountEmail.md)
- [AccountTimeline](docs/Model/AccountTimeline.md)
- [AdminPayment](docs/Model/AdminPayment.md)
- [AuditLog](docs/Model/AuditLog.md)
- [BlockPrice](docs/Model/BlockPrice.md)
- [BlockingState](docs/Model/BlockingState.md)
- [BulkSubscriptionsBundle](docs/Model/BulkSubscriptionsBundle.md)
- [Bundle](docs/Model/Bundle.md)
- [BundleTimeline](docs/Model/BundleTimeline.md)
- [Catalog](docs/Model/Catalog.md)
- [ComboHostedPaymentPage](docs/Model/ComboHostedPaymentPage.md)
- [ComboPaymentTransaction](docs/Model/ComboPaymentTransaction.md)
- [Credit](docs/Model/Credit.md)
- [CustomField](docs/Model/CustomField.md)
- [Duration](docs/Model/Duration.md)
- [Entity](docs/Model/Entity.md)
- [EventSubscription](docs/Model/EventSubscription.md)
- [HostedPaymentPageFields](docs/Model/HostedPaymentPageFields.md)
- [HostedPaymentPageFormDescriptor](docs/Model/HostedPaymentPageFormDescriptor.md)
- [Invoice](docs/Model/Invoice.md)
- [InvoiceDryRun](docs/Model/InvoiceDryRun.md)
- [InvoiceItem](docs/Model/InvoiceItem.md)
- [InvoicePayment](docs/Model/InvoicePayment.md)
- [InvoicePaymentTransaction](docs/Model/InvoicePaymentTransaction.md)
- [Limit](docs/Model/Limit.md)
- [NodeCommand](docs/Model/NodeCommand.md)
- [NodeCommandProperty](docs/Model/NodeCommandProperty.md)
- [Overdue](docs/Model/Overdue.md)
- [OverdueCondition](docs/Model/OverdueCondition.md)
- [OverdueState](docs/Model/OverdueState.md)
- [OverdueStateConfig](docs/Model/OverdueStateConfig.md)
- [Payment](docs/Model/Payment.md)
- [PaymentAttempt](docs/Model/PaymentAttempt.md)
- [PaymentMethod](docs/Model/PaymentMethod.md)
- [PaymentMethodPluginDetail](docs/Model/PaymentMethodPluginDetail.md)
- [PaymentTransaction](docs/Model/PaymentTransaction.md)
- [Phase](docs/Model/Phase.md)
- [PhasePrice](docs/Model/PhasePrice.md)
- [Plan](docs/Model/Plan.md)
- [PlanDetail](docs/Model/PlanDetail.md)
- [PluginInfo](docs/Model/PluginInfo.md)
- [PluginProperty](docs/Model/PluginProperty.md)
- [PluginServiceInfo](docs/Model/PluginServiceInfo.md)
- [Price](docs/Model/Price.md)
- [PriceList](docs/Model/PriceList.md)
- [Product](docs/Model/Product.md)
- [RoleDefinition](docs/Model/RoleDefinition.md)
- [RolledUpUnit](docs/Model/RolledUpUnit.md)
- [RolledUpUsage](docs/Model/RolledUpUsage.md)
- [Session](docs/Model/Session.md)
- [SimplePlan](docs/Model/SimplePlan.md)
- [Subject](docs/Model/Subject.md)
- [Subscription](docs/Model/Subscription.md)
- [SubscriptionUsageRecord](docs/Model/SubscriptionUsageRecord.md)
- [Tag](docs/Model/Tag.md)
- [TagDefinition](docs/Model/TagDefinition.md)
- [Tenant](docs/Model/Tenant.md)
- [TenantKeyValue](docs/Model/TenantKeyValue.md)
- [Tier](docs/Model/Tier.md)
- [TierPrice](docs/Model/TierPrice.md)
- [TieredBlock](docs/Model/TieredBlock.md)
- [Unit](docs/Model/Unit.md)
- [UnitUsageRecord](docs/Model/UnitUsageRecord.md)
- [Usage](docs/Model/Usage.md)
- [UsagePrice](docs/Model/UsagePrice.md)
- [UsageRecord](docs/Model/UsageRecord.md)
- [UserRoles](docs/Model/UserRoles.md)

## Documentation For Authorization

## Killbill Api Key

- **Type**: API key
- **API key parameter name**: X-Killbill-ApiKey
- **Location**: HTTP header

## Killbill Api Secret

- **Type**: API key
- **API key parameter name**: X-Killbill-ApiSecret
- **Location**: HTTP header

## basicAuth

- **Type**: HTTP basic authentication

## Author