diff --git a/README.md b/README.md
index 601ffd97..b9ebde3e 100644
--- a/README.md
+++ b/README.md
@@ -32,25 +32,25 @@ Install the SDK by adding the following dependency in your project's pom.xml fil
com.maxioadvanced-billing-sdk
- 9.1.0
+ 10.0.0
```
You can also view the package at:
-https://central.sonatype.com/artifact/com.maxio/advanced-billing-sdk/9.1.0
+https://central.sonatype.com/artifact/com.maxio/advanced-billing-sdk/10.0.0
## Initialize the API Client
-**_Note:_** Documentation for the client can be found [here.](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/client.md)
+**_Note:_** Documentation for the client can be found [here.](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/client.md)
The following parameters are configurable for the API Client:
| Parameter | Type | Description |
| --- | --- | --- |
| site | `String` | The subdomain for your Advanced Billing site. *Default*: `"subdomain"` |
-| environment | [`Environment`](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/README.md#environments) | The API environment. **Default: `Environment.US`** |
-| httpClientConfig | [`Consumer`](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/http-client-configuration-builder.md) | Set up Http Client Configuration instance. |
-| basicAuthCredentials | [`BasicAuthCredentials`](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/auth/basic-authentication.md) | The Credentials Setter for Basic Authentication |
+| environment | [`Environment`](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/README.md#environments) | The API environment. **Default: `Environment.US`** |
+| httpClientConfig | [`Consumer`](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/http-client-configuration-builder.md) | Set up Http Client Configuration instance. |
+| basicAuthCredentials | [`BasicAuthCredentials`](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/auth/basic-authentication.md) | The Credentials Setter for Basic Authentication |
The API client can be initialized as follows:
@@ -93,68 +93,68 @@ The SDK can be configured to use a different environment for making API calls. A
This API uses the following authentication schemes.
-* [`BasicAuth (Basic Authentication)`](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/auth/basic-authentication.md)
+* [`BasicAuth (Basic Authentication)`](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/auth/basic-authentication.md)
## List of APIs
-* [API Exports](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/api-exports.md)
-* [Advance Invoice](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/advance-invoice.md)
-* [Billing Portal](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/billing-portal.md)
-* [Component Price Points](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/component-price-points.md)
-* [Custom Fields](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/custom-fields.md)
-* [Events-Based Billing Segments](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/events-based-billing-segments.md)
-* [Payment Profiles](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/payment-profiles.md)
-* [Product Families](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/product-families.md)
-* [Product Price Points](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/product-price-points.md)
-* [Proforma Invoices](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/proforma-invoices.md)
-* [Reason Codes](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/reason-codes.md)
-* [Referral Codes](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/referral-codes.md)
-* [Sales Commissions](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/sales-commissions.md)
-* [Subscription Components](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/subscription-components.md)
-* [Subscription Groups](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/subscription-groups.md)
-* [Subscription Group Invoice Account](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/subscription-group-invoice-account.md)
-* [Subscription Group Status](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/subscription-group-status.md)
-* [Subscription Invoice Account](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/subscription-invoice-account.md)
-* [Subscription Notes](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/subscription-notes.md)
-* [Subscription Products](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/subscription-products.md)
-* [Subscription Renewals](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/subscription-renewals.md)
-* [Subscription Status](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/subscription-status.md)
-* [Coupons](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/coupons.md)
-* [Components](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/components.md)
-* [Customers](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/customers.md)
-* [Events](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/events.md)
-* [Insights](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/insights.md)
-* [Invoices](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/invoices.md)
-* [Offers](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/offers.md)
-* [Products](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/products.md)
-* [Sites](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/sites.md)
-* [Subscriptions](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/subscriptions.md)
-* [Webhooks](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/controllers/webhooks.md)
+* [API Exports](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/api-exports.md)
+* [Advance Invoice](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/advance-invoice.md)
+* [Billing Portal](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/billing-portal.md)
+* [Component Price Points](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/component-price-points.md)
+* [Custom Fields](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/custom-fields.md)
+* [Events-Based Billing Segments](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/events-based-billing-segments.md)
+* [Payment Profiles](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/payment-profiles.md)
+* [Product Families](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/product-families.md)
+* [Product Price Points](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/product-price-points.md)
+* [Proforma Invoices](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/proforma-invoices.md)
+* [Reason Codes](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/reason-codes.md)
+* [Referral Codes](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/referral-codes.md)
+* [Sales Commissions](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/sales-commissions.md)
+* [Subscription Components](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/subscription-components.md)
+* [Subscription Groups](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/subscription-groups.md)
+* [Subscription Group Invoice Account](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/subscription-group-invoice-account.md)
+* [Subscription Group Status](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/subscription-group-status.md)
+* [Subscription Invoice Account](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/subscription-invoice-account.md)
+* [Subscription Notes](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/subscription-notes.md)
+* [Subscription Products](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/subscription-products.md)
+* [Subscription Renewals](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/subscription-renewals.md)
+* [Subscription Status](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/subscription-status.md)
+* [Coupons](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/coupons.md)
+* [Components](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/components.md)
+* [Customers](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/customers.md)
+* [Events](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/events.md)
+* [Insights](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/insights.md)
+* [Invoices](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/invoices.md)
+* [Offers](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/offers.md)
+* [Products](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/products.md)
+* [Sites](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/sites.md)
+* [Subscriptions](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/subscriptions.md)
+* [Webhooks](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/controllers/webhooks.md)
## SDK Infrastructure
### Configuration
-* [Configuration Interface](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/configuration-interface.md)
-* [HttpClientConfiguration](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/http-client-configuration.md)
-* [HttpClientConfiguration.Builder](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/http-client-configuration-builder.md)
-* [HttpProxyConfiguration](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/http-proxy-configuration.md)
-* [HttpProxyConfiguration.Builder](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/http-proxy-configuration-builder.md)
+* [Configuration Interface](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/configuration-interface.md)
+* [HttpClientConfiguration](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/http-client-configuration.md)
+* [HttpClientConfiguration.Builder](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/http-client-configuration-builder.md)
+* [HttpProxyConfiguration](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/http-proxy-configuration.md)
+* [HttpProxyConfiguration.Builder](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/http-proxy-configuration-builder.md)
### HTTP
-* [Headers](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/headers.md)
-* [HttpCallback Interface](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/http-callback-interface.md)
-* [HttpContext](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/http-context.md)
-* [HttpBodyRequest](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/http-body-request.md)
-* [HttpRequest](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/http-request.md)
-* [HttpResponse](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/http-response.md)
-* [HttpStringResponse](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/http-string-response.md)
+* [Headers](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/headers.md)
+* [HttpCallback Interface](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/http-callback-interface.md)
+* [HttpContext](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/http-context.md)
+* [HttpBodyRequest](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/http-body-request.md)
+* [HttpRequest](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/http-request.md)
+* [HttpResponse](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/http-response.md)
+* [HttpStringResponse](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/http-string-response.md)
### Utilities
-* [ApiException](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/api-exception.md)
-* [ApiHelper](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/api-helper.md)
-* [FileWrapper](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/file-wrapper.md)
-* [DateTimeHelper](https://www.github.com/maxio-com/ab-java-sdk/tree/9.1.0/doc/date-time-helper.md)
+* [ApiException](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/api-exception.md)
+* [ApiHelper](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/api-helper.md)
+* [FileWrapper](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/file-wrapper.md)
+* [DateTimeHelper](https://www.github.com/maxio-com/ab-java-sdk/tree/10.0.0/doc/date-time-helper.md)
diff --git a/doc/controllers/advance-invoice.md b/doc/controllers/advance-invoice.md
index d47d70ee..fa7082f5 100644
--- a/doc/controllers/advance-invoice.md
+++ b/doc/controllers/advance-invoice.md
@@ -17,10 +17,13 @@ AdvanceInvoiceController advanceInvoiceController = client.getAdvanceInvoiceCont
# Issue Advance Invoice
-Generate an invoice in advance for a subscription's next renewal date. [See our docs](https://maxio.zendesk.com/hc/en-us/articles/24252026404749-Issue-Invoice-In-Advance) for more information on advance invoices, including eligibility for generating one; for the most part, they function like any other invoice, except they are issued early and have special behavior upon being voided.
-A subscription may only have one advance invoice per billing period. Attempting to issue an advance invoice when one already exists will return an error.
-That said, regeneration of the invoice may be forced with the params `force: true`, which will void an advance invoice if one exists and generate a new one. If no advance invoice exists, a new one will be generated.
-We recommend using either the create or preview endpoints for proforma invoices to preview this advance invoice before using this endpoint to generate it.
+Issues an invoice in advance for a subscription's next renewal date. For the most part, advance invoices function like any other invoice, except they are issued early and have special behavior upon being voided. For more information on advance invoices, including eligibility for generating one, see [Issue Invoice In Advance](https://maxio.zendesk.com/hc/en-us/articles/24252026404749-Issue-Invoice-In-Advance).
+
+A subscription can only have one advance invoice per billing period. Attempting to issue an advance invoice when one already exists returns an error.
+
+Regeneration of the invoice can be forced with the params `force: true`, which voids an advance invoice if one exists and generates a new one. If no advance invoice exists, a new one is generated.
+
+Consider using either the create or preview endpoints for proforma invoices to preview this advance invoice before using this endpoint to generate it.
```java
Invoice issueAdvanceInvoice(
@@ -118,8 +121,11 @@ try {
# Void Advance Invoice
-Void a subscription's existing advance invoice. Once voided, it can later be regenerated if desired.
-A `reason` is required in order to void, and the invoice must have an open status. Voiding will cause any prepayments and credits that were applied to the invoice to be returned to the subscription. For a full overview of the impact of voiding, [see our help docs](../../doc/models/invoice.md).
+Voids a subscription's existing advance invoice. Once voided, it can later be regenerated if desired.
+
+A `reason` is required to void, and the invoice must have an open status. Voiding causes any prepayments and credits that were applied to the invoice to be returned to the subscription.
+
+For a full overview of the impact of voiding, see [Invoice](../../doc/models/invoice.md).
```java
Invoice voidAdvanceInvoice(
diff --git a/doc/controllers/api-exports.md b/doc/controllers/api-exports.md
index 18d6c526..2d455195 100644
--- a/doc/controllers/api-exports.md
+++ b/doc/controllers/api-exports.md
@@ -179,9 +179,7 @@ try {
# Export Proforma Invoices
-Creates a proforma invoices export and returns a batch job object.
-
-It is only available for Relationship Invoicing architecture.
+Creates a proforma invoices export and returns a batch job object. Proforma invoices are only available on Relationship Invoicing sites.
```java
BatchJobResponse exportProformaInvoices()
@@ -297,7 +295,7 @@ try {
# Read Proforma Invoices Export
-Returns a batch job object for a proforma invoices export.
+Returns a batch job object for a proforma invoices export. Proforma invoices are only available on Relationship Invoicing sites.
```java
BatchJobResponse readProformaInvoicesExport(
diff --git a/doc/controllers/billing-portal.md b/doc/controllers/billing-portal.md
index af85e8f3..7e31c452 100644
--- a/doc/controllers/billing-portal.md
+++ b/doc/controllers/billing-portal.md
@@ -20,21 +20,15 @@ BillingPortalController billingPortalController = client.getBillingPortalControl
Enables Billing Portal access for a customer, with an option to send an invitation email at the same time.
-## Billing Portal Documentation
-
-Full documentation on how the Billing Portal operates within the Advanced Billing UI can be located [here](https://maxio.zendesk.com/hc/en-us/articles/24252412965133-Billing-Portal-Overview).
-
-This documentation is focused on how to configure the Billing Portal Settings, as well as Subscriber Interaction and Merchant Management of the Billing Portal.
-
-You can use this endpoint to enable Billing Portal access for a Customer, with the option of sending the Customer an Invitation email at the same time.
-
## Billing Portal Security
-If your customer has been invited to the Billing Portal, then they will receive a link to manage their subscription (the “Management URL”) automatically at the bottom of their statements, invoices, and receipts. **This link changes periodically for security and is only valid for 65 days.**
+If your customer has been invited to the Billing Portal, they receive a link to manage their subscription (the “Management URL”) automatically at the bottom of their statements, invoices, and receipts. **This link changes periodically for security and is only valid for 65 days.**
+
+If you need to provide your customer their Management URL through other means, you can retrieve it [via the API](../../doc/controllers/billing-portal.md#read-billing-portal-link). Because the URL is cryptographically signed with a timestamp, merchants cannot generate the URL without requesting it through the API.
-If you need to provide your customer their Management URL through other means, you can retrieve it via the API. Because the URL is cryptographically signed with a timestamp, it is not possible for merchants to generate the URL without requesting it from Advanced Billing.
+To prevent abuse and overuse, request a new URL only when absolutely necessary. Management URLs are good for 65 days, so you should re-use a previously generated one as much as possible. If you use the URL frequently (such as to display on your website), **do not** make an API request every time.
-In order to prevent abuse & overuse, we ask that you request a new URL only when absolutely necessary. Management URLs are good for 65 days, so you should re-use a previously generated one as much as possible. If you use the URL frequently (such as to display on your website), **do not** make an API request to Advanced Billing every time.
+For more information configuring the Billing Portal, see [Billing Portal Overview](https://maxio.zendesk.com/hc/en-us/articles/24252412965133-Billing-Portal-Overview).
```java
CustomerResponse enableBillingPortalForCustomer(
@@ -85,13 +79,13 @@ try {
Returns the exact URL required for a subscriber to access the Billing Portal.
-## Rules for Management Link API
+## Management Link Request Rules
-+ When retrieving a management URL, multiple requests for the same customer in a short period will return the **same** URL
-+ We will not generate a new URL for 15 days
++ When retrieving a management URL, multiple requests for the same customer in a short period return the **same** URL
++ A new URL is not generated for 15 days
+ You must cache and remember this URL if you are going to need it again within 15 days
+ Only request a new URL after the `new_link_available_at` date
-+ You are limited to 15 requests for the same URL. If you make more than 15 requests before `new_link_available_at`, you will be blocked from further Management URL requests (with a response code `429`)
++ You are limited to 15 requests for the same URL. If you make more than 15 requests before `new_link_available_at`, you are blocked from further Management URL requests (with a response code `429`).
```java
PortalManagementLink readBillingPortalLink(
diff --git a/doc/controllers/component-price-points.md b/doc/controllers/component-price-points.md
index d28d6129..ef700c54 100644
--- a/doc/controllers/component-price-points.md
+++ b/doc/controllers/component-price-points.md
@@ -196,8 +196,6 @@ Lists the price points associated with a component.
You may specify the component by using either the numeric id or the `handle:gold` syntax.
-When fetching a component's price points, if you have defined multiple currencies at the site level, you can optionally pass the `?currency_prices=true` query param to include an array of currency price data in the response.
-
If the price point is set to `use_site_exchange_rate: true`, it will return pricing based on the current exchange rate. If the flag is set to false, it will return all of the defined prices for each currency.
```java
@@ -705,7 +703,7 @@ This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
| --- | --- | --- | --- |
| `componentId` | [`ReadComponentPricePointComponentId`](../../doc/models/containers/read-component-price-point-component-id.md) | Template, Required | This is a container for one-of cases. |
| `pricePointId` | [`ReadComponentPricePointPricePointId`](../../doc/models/containers/read-component-price-point-price-point-id.md) | Template, Required | This is a container for one-of cases. |
-| `currencyPrices` | `Boolean` | Query, Optional | Include an array of currency price data |
+| `currencyPrices` | `Boolean` | Query, Optional | Include an array of currency price data. |
## Response Type
diff --git a/doc/controllers/components.md b/doc/controllers/components.md
index b84eb58c..5638533a 100644
--- a/doc/controllers/components.md
+++ b/doc/controllers/components.md
@@ -32,8 +32,14 @@ Metered components are used to bill for any type of unit that resets to 0 at the
Note that this is different from recurring quantity-based components, which DO NOT reset to zero at the start of every billing period. If you want to bill for a quantity of something that does not change unless you change it, then you want quantity components, instead.
+#### Hybrid Pricing
+
+A `volume`, `tiered`, or `stairstep` metered component can combine its primary pricing with a secondary pricing model (the `overage_pricing` parameter) so both bill as a single invoice line item instead of two. This does not apply to metered components configured for event-based billing (metric, meter, or formula). See [Hybrid Pricing](page:introduction/basic-concepts/hybrid-pricing) for requirements and configuration details.
+
For more information on components, see our documentation [here](https://maxio.zendesk.com/hc/en-us/articles/24261141522189-Components-Overview).
+If you have the new [Catalog experience](page:help/announcements/2026-announcements#new-catalog-experience-and-terminology) enabled, taxable components must include a non-blank `tax_code`. Sending `"tax_code": ""` returns `422`.
+
```java
ComponentResponse createMeteredComponent(
final String productFamilyId,
@@ -155,7 +161,7 @@ try {
Creates a Quantity Based component definition under the specified product family. A Quantity Based component can then be added and “allocated” for a subscription.
-When defining a Quantity Based component, you can choose one of 2 types:
+When defining a Quantity Based component, you can choose one of two types:
#### Recurring
@@ -167,8 +173,16 @@ One-time quantity-based components are used to create ad hoc usage charges that
The allocated quantity for one-time quantity-based components immediately gets reset back to zero after the allocation is made.
+For more information, see [Components Overview](https://maxio.zendesk.com/hc/en-us/articles/24261141522189-Components-Overview).
+
+#### Hybrid Pricing
+
+A `volume`, `tiered`, or `stairstep` component can combine its primary pricing with a secondary pricing model (the `overage_pricing` parameter) so both bill as a single invoice line item instead of two. See [Hybrid Pricing](page:introduction/basic-concepts/hybrid-pricing) for requirements and configuration details.
+
For more information on components, see our documentation [here](https://maxio.zendesk.com/hc/en-us/articles/24261141522189-Components-Overview).
+If you have the new [Catalog experience](page:help/announcements/2026-announcements#new-catalog-experience-and-terminology) enabled, taxable components must include a non-blank `tax_code`. Sending `"tax_code": ""` returns `422`.
+
```java
ComponentResponse createQuantityBasedComponent(
final String productFamilyId,
@@ -292,6 +306,8 @@ On/off components are used for any flat fee, recurring add on (think $99/month f
For more information on components, see our documentation [here](https://maxio.zendesk.com/hc/en-us/articles/24261141522189-Components-Overview).
+If you have the new [Catalog experience](page:help/announcements/2026-announcements#new-catalog-experience-and-terminology) enabled, taxable components must include a non-blank `tax_code`. Sending `"tax_code": ""` returns `422`.
+
```java
ComponentResponse createOnOffComponent(
final String productFamilyId,
@@ -396,9 +412,11 @@ try {
Creates a prepaid usage component definition under the specified product family. A prepaid component can then be added and “allocated” for a subscription.
-Prepaid components allow customers to pre-purchase units that can be used up over time on their subscription. In a sense, they are the mirror image of metered components; while metered components charge at the end of the period for the amount of units used, prepaid components are charged for at the time of purchase, and we subsequently keep track of the usage against the amount purchased.
+Prepaid components allow customers to pre-purchase units that can be used up over time on their subscription. In a sense, they are the mirror image of metered components; while metered components charge at the end of the period for the amount of units used, prepaid components are charged for at the time of purchase, and usage is subsequently tracked against the amount purchased.
-For more information on components, see our documentation [here](https://maxio.zendesk.com/hc/en-us/articles/24261141522189-Components-Overview).
+For more information, see [Components Overview](https://maxio.zendesk.com/hc/en-us/articles/24261141522189-Components-Overview).
+
+If you have the new [Catalog experience](page:help/announcements/2026-announcements#new-catalog-experience-and-terminology) enabled, taxable components must include a non-blank `tax_code`; sending a blank value results in a validation error.
```java
ComponentResponse createPrepaidUsageComponent(
@@ -559,7 +577,9 @@ Event-based components are similar to other component types, in that you define
So, instead of reporting usage directly for each component (as you would with metered components), the usage is derived from analysis of your events.
-For more information on components, see our documentation [here](https://maxio.zendesk.com/hc/en-us/articles/24261141522189-Components-Overview).
+For more information, see [Components Overview](https://maxio.zendesk.com/hc/en-us/articles/24261141522189-Components-Overview).
+
+If you have the new [Catalog experience](page:help/announcements/2026-announcements#new-catalog-experience-and-terminology) enabled, taxable components must include a non-blank `tax_code`; sending a blank value results in a validation error.
```java
ComponentResponse createEventBasedComponent(
@@ -820,6 +840,8 @@ Updates a component from a specific product family.
You may read the component by either the component's id or handle. When using the handle, it must be prefixed with `handle:`.
+If you have the new [Catalog experience](page:help/announcements/2026-announcements#new-catalog-experience-and-terminology) enabled, taxable components must include a non-blank `tax_code`. Sending `"tax_code": ""` returns `422`.
+
```java
ComponentResponse updateProductFamilyComponent(
final int productFamilyId,
@@ -1135,6 +1157,8 @@ Updates a component.
You may read the component by either the component's id or handle. When using the handle, it must be prefixed with `handle:`.
+If you have the new [Catalog experience](page:help/announcements/2026-announcements#new-catalog-experience-and-terminology) enabled, taxable components must include a non-blank `tax_code`. Sending `"tax_code": ""` returns `422`.
+
```java
ComponentResponse updateComponent(
final String componentId,
diff --git a/doc/controllers/coupons.md b/doc/controllers/coupons.md
index 282fd5c0..269e5bad 100644
--- a/doc/controllers/coupons.md
+++ b/doc/controllers/coupons.md
@@ -30,11 +30,7 @@ CouponsController couponsController = client.getCouponsController();
Creates a coupon under the specified product family.
-You can create either a flat amount coupon by specifying amount_in_cents, or a percentage coupon by specifying percentage
-You can restrict a coupon to only apply to specific products / components by optionally passing in `restricted_products` and/or `restricted_components` objects in the format:
-`{ "": boolean_value }`
-
-Coupons can be administered in the Advanced Billing application or created via API. See [creating coupons](https://maxio.zendesk.com/hc/en-us/articles/24261212433165-Creating-Editing-Deleting-Coupons) for more information.
+You can create either a flat amount coupon, by specifying `amount_in_cents`, or percentage coupon by specifying `percentage`.
See [Apply Coupons to Subscriptions](https://maxio.zendesk.com/hc/en-us/articles/24261259337101-Coupons-and-Subscriptions) for information on applying a coupon to a subscription in the Advanced Billing UI.
@@ -261,9 +257,9 @@ try {
# Find Coupon
-Searches for a coupon by code, returning a 404 if no coupon is found. By passing a code parameter, the find will attempt to locate a coupon that matches that code.
+Searches for a coupon by code.
-If you have more than one product family and if the coupon you are trying to find does not belong to the default product family in your site, then you will need to specify (either in the url or as a query string param) the product family id.
+If you have more than one product family and if the coupon you are trying to find does not belong to the default product family in your site, you need to specify (either in the URL or as a query string param) the `product_family_id`.
```java
CouponResponse findCoupon(
@@ -282,7 +278,7 @@ This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
| --- | --- | --- | --- |
| `productFamilyId` | `Integer` | Query, Optional | The Advanced Billing id of the product family to which the coupon belongs |
| `code` | `String` | Query, Optional | The code of the coupon |
-| `currencyPrices` | `Boolean` | Query, Optional | When fetching coupons, if you have defined multiple currencies at the site level, you can optionally pass the `?currency_prices=true` query param to include an array of currency price data in the response. |
+| `currencyPrices` | `Boolean` | Query, Optional | (Optional) If you have defined multiple currencies at the site level, you can pass `?currency_prices=true` to include an array of currency price data in the response. |
## Response Type
@@ -306,12 +302,11 @@ try {
# Read Coupon
-Returns a coupon by its Advanced Billing-assigned ID. You must identify the Coupon in this call by the ID parameter that Advanced Billing assigns.
-If instead you would like to find a Coupon using a Coupon code, see the Coupon Find method.
+Returns a coupon by its system-assigned ID. You must identify the Coupon in this call by the ID parameter assigned to it.
-When fetching a coupon, if you have defined multiple currencies at the site level, you can optionally pass the `?currency_prices=true` query param to include an array of currency price data in the response.
+If instead you would like to find a Coupon using a Coupon code, use the [Find Coupon](../../doc/controllers/coupons.md#find-coupon) endpoint.
-If the coupon is set to `use_site_exchange_rate: true`, it will return pricing based on the current exchange rate. If the flag is set to false, it will return all of the defined prices for each currency.
+If the coupon is set to `use_site_exchange_rate: true`, it returns pricing based on the current exchange rate. If the flag is set to false, it returns all of the defined prices for each currency.
```java
CouponResponse readCoupon(
@@ -330,7 +325,7 @@ This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
| --- | --- | --- | --- |
| `productFamilyId` | `int` | Template, Required | The Advanced Billing id of the product family to which the coupon belongs |
| `couponId` | `int` | Template, Required | The Advanced Billing id of the coupon |
-| `currencyPrices` | `Boolean` | Query, Optional | When fetching coupons, if you have defined multiple currencies at the site level, you can optionally pass the `?currency_prices=true` query param to include an array of currency price data in the response. |
+| `currencyPrices` | `Boolean` | Query, Optional | (Optional) If you have defined multiple currencies at the site level, you can pass `?currency_prices=true` to include an array of currency price data in the response. |
## Response Type
@@ -747,23 +742,17 @@ try {
# Validate Coupon
-Verifies whether a specific coupon code is valid. This method is useful for validating coupon codes that are entered by a customer. If the coupon is found and is valid, the coupon will be returned with a 200 status code.
-
-If the coupon is invalid, the status code will be 404 and the response will say why it is invalid. If the coupon is valid, the status code will be 200 and the coupon will be returned. The following reasons for invalidity are supported:
-
-+ Coupon not found
-+ Coupon is invalid
-+ Coupon expired
+Verifies whether a specific coupon code is valid. This method is useful for validating coupon codes that are entered by a customer.
-If you have more than one product family and if the coupon you are validating does not belong to the first product family in your site, then you will need to specify the product family, either in the url or as a query string param. This can be done by supplying the id or the handle in the `handle:my-family` format.
+If you have more than one product family and if the coupon you are validating does not belong to the first product family in your site, you need to specify the product family, either in the URL or as a query string param. This can be done by supplying the id or the handle in the `handle:my-family` format.
-Eg.
+Supplying the `product_family_handle` in the URL:
```
https://.chargify.com/product_families/handle:/coupons/validate.?code=
```
-Or:
+Supplying the `product_family_id` as a query parameter:
```
https://.chargify.com/coupons/validate.?code=&product_family_id=
@@ -913,8 +902,6 @@ try {
Creates subcodes for an existing coupon.
-## Coupon Subcodes Intro
-
Coupon Subcodes allow you to create a set of unique codes that allow you to expand the use of one coupon.
For example:
@@ -929,21 +916,9 @@ Coupon Subcodes:
+ DP80302
+ SPRINGBALTIMORE
-Coupon subcodes can be administered in the Admin Interface or via the API.
-
-When creating a coupon subcode, you must specify a coupon to attach it to using the coupon_id. Valid coupon subcodes are all capital letters, contain only letters and numbers, and do not have any spaces. Lowercase letters will be capitalized before the subcode is created.
-
-## Coupon Subcodes Documentation
+When creating a coupon subcode, you must specify a coupon to attach it to using the coupon_id. Valid coupon subcodes are all capital letters, contain only letters and numbers, and do not have any spaces. Lowercase letters are capitalized before the subcode is created.
-Full documentation on how to create coupon subcodes in the Advanced Billing UI can be located [here](https://maxio.zendesk.com/hc/en-us/articles/24261208729229-Coupon-Codes).
-
-Additionally, for documentation on how to apply a coupon to a Subscription within the Advanced Billing UI, see our documentation [here](https://maxio.zendesk.com/hc/en-us/articles/24261259337101-Coupons-and-Subscriptions).
-
-## Create Coupon Subcode
-
-This request allows you to create specific subcodes underneath an existing coupon code.
-
-*Note*: If you are using any of the allowed special characters ("%", "@", "+", "-", "_", and "."), you must encode them for use in the URL.
+Note: If you are using any of the allowed special characters ("%", "@", "+", "-", "_", and "."), you must encode them for use in the URL.
% to %25
@ to %40
@@ -952,7 +927,9 @@ This request allows you to create specific subcodes underneath an existing coupo
_ to %5F
. to %2E
-So, if the coupon subcode is `20%OFF`, the URL to delete this coupon subcode would be: `https://.chargify.com/coupons/567/codes/20%25OFF.`
+So, if the coupon subcode is `20%OFF`, the URL to delete this coupon subcode would be: `https://.chargify.com/coupons/567/codes/20%25OFF.`.
+
+For more information on coupon codes and applying coupons to subscriptions, see [Coupon Codes](https://maxio.zendesk.com/hc/en-us/articles/24261208729229-Coupon-Codes) and [Coupons and Subscriptions](https://maxio.zendesk.com/hc/en-us/articles/24261259337101-Coupons-and-Subscriptions).
```java
CouponSubcodesResponse createCouponSubcodes(
@@ -1166,7 +1143,7 @@ Note: If you are using any of the allowed special characters (“%”, “@”,
## Percent Encoding Example
-Or if the coupon subcode is 20%OFF, the URL to delete this coupon subcode would be: @https://.chargify.com/coupons/567/codes/20%25OFF.
+Or if the coupon subcode is 20%OFF, the URL to delete this coupon subcode would be: @https://.chargify.com/coupons/567/codes/20%25OFF..
```java
Void deleteCouponSubcode(
diff --git a/doc/controllers/customers.md b/doc/controllers/customers.md
index 550f1771..6f7d7585 100644
--- a/doc/controllers/customers.md
+++ b/doc/controllers/customers.md
@@ -21,30 +21,29 @@ CustomersController customersController = client.getCustomersController();
# Create Customer
-Creates a new customer; can also be created alongside a new subscription. The only validation restriction is that you may only create one customer for a given reference value.
+Creates a new customer; can also be created alongside a new subscription. The only validation restriction is that you can only create one customer for a given reference value.
-If provided, the `reference` value must be unique. It represents a unique identifier for the customer from your own app, i.e. the customer’s ID. This allows you to retrieve a given customer via a piece of shared information. Alternatively, you may choose to leave `reference` blank, and store Advanced Billing’s unique ID for the customer, which is in the `id` attribute.
+If provided, the `reference` value must be unique. It represents a unique identifier for the customer from your own app, i.e. the customer’s ID. This allows you to retrieve a given customer via a piece of shared information. Alternatively, you can choose to leave `reference` blank, and store the system-assigned unique ID for the customer, which is in the `id` attribute.
-Full documentation on how to locate, create and edit Customers in the Advanced Billing UI can be located [here](https://maxio.zendesk.com/hc/en-us/articles/24252190590093-Customer-Details).
+For more information, see [Customer Details](https://maxio.zendesk.com/hc/en-us/articles/24252190590093-Customer-Details).
## Required Country Format
-Advanced Billing requires that you use the ISO Standard Country codes when formatting country attribute of the customer.
+Format the country attribute of the customer using the ISO Standard Country codes.
-Countries should be formatted as 2 characters. For more information, see the following wikipedia article on [ISO_3166-1.](http://en.wikipedia.org/wiki/ISO_3166-1#Current_codes)
+Countries should be formatted as two characters. For more information, see [ISO 3166-1](http://en.wikipedia.org/wiki/ISO_3166-1#Current_codes).
## Required State Format
-Advanced Billing requires that you use the ISO Standard State codes when formatting state attribute of the customer.
+Format the state attribute of the customer using the ISO Standard State codes.
-+ US States (2 characters): [ISO_3166-2](https://en.wikipedia.org/wiki/ISO_3166-2:US)
++ US States (two characters): see [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2:US).
-+ States Outside the US (2-3 characters): To find the correct state codes outside of the US, go to [ISO_3166-1](http://en.wikipedia.org/wiki/ISO_3166-1#Current_codes) and click on the link in the “ISO 3166-2 codes” column next to country you wish to populate.
++ States Outside the US (two to three characters): To find the correct state codes outside the US, go to [ISO 3166-1](http://en.wikipedia.org/wiki/ISO_3166-1#Current_codes) and click on the link in the “ISO 3166-2 codes” column next to the country you wish to populate.
## Locale
-Advanced Billing allows you to attribute a language/region to your customer to deliver invoices in any required language.
-For more: [Customer Locale](https://maxio.zendesk.com/hc/en-us/articles/24286672013709-Customer-Locale)
+You can attribute a language/region to the customer to deliver invoices in any required language. For more information, see [Customer Locale](https://maxio.zendesk.com/hc/en-us/articles/24286672013709-Customer-Locale).
```java
CustomerResponse createCustomer(
@@ -129,6 +128,7 @@ try {
"portal_invite_last_sent_at": null,
"portal_invite_last_accepted_at": null,
"tax_exempt": false,
+ "surcharging": false,
"vat_number": null,
"parent_id": null,
"locale": "en-US"
@@ -225,7 +225,8 @@ try {
"portal_customer_created_at": "2016-10-04T15:22:29-04:00",
"portal_invite_last_sent_at": "2016-10-04T15:22:30-04:00",
"portal_invite_last_accepted_at": null,
- "tax_exempt": false
+ "tax_exempt": false,
+ "surcharging": false
}
},
{
@@ -251,6 +252,7 @@ try {
"portal_invite_last_sent_at": "2016-10-13T16:52:54-04:00",
"portal_invite_last_accepted_at": null,
"tax_exempt": false,
+ "surcharging": true,
"parent_id": 123
}
},
@@ -277,6 +279,7 @@ try {
"portal_invite_last_sent_at": "2016-10-19T10:49:19-04:00",
"portal_invite_last_accepted_at": null,
"tax_exempt": false,
+ "surcharging": false,
"parent_id": null
}
}
@@ -350,6 +353,7 @@ try {
"portal_invite_last_sent_at": null,
"portal_invite_last_accepted_at": null,
"tax_exempt": false,
+ "surcharging": false,
"vat_number": null,
"parent_id": null,
"locale": "es-MX",
@@ -436,6 +440,7 @@ try {
"portal_invite_last_sent_at": null,
"portal_invite_last_accepted_at": null,
"tax_exempt": false,
+ "surcharging": false,
"vat_number": "012345678"
}
}
@@ -530,6 +535,8 @@ try {
Lists all subscriptions that belong to a customer.
+If you have the new [Catalog experience](page:help/announcements/2026-announcements#new-catalog-experience-and-terminology) enabled, subscriptions no longer require an associated product. For subscriptions without an associated product, 'product', 'product_price_point_id', and 'product_price_point_type' are returned as 'null'.
+
```java
List listCustomerSubscriptions(
final int customerId)
diff --git a/doc/controllers/events-based-billing-segments.md b/doc/controllers/events-based-billing-segments.md
index d9c37b4e..ae450af3 100644
--- a/doc/controllers/events-based-billing-segments.md
+++ b/doc/controllers/events-based-billing-segments.md
@@ -166,9 +166,9 @@ try {
# Update Segment
-Updates a single segment for a component with a segmented metric. It allows you to update the pricing for the segment.
+Updates a single segment for a component with a segmented metric. You can also update the pricing for the segment.
-You may specify component and/or price point by using either the numeric ID or the `handle:gold` syntax.
+You can specify component and/or price point by using either the numeric ID or the `handle:gold` syntax.
```java
SegmentResponse updateSegment(
diff --git a/doc/controllers/events.md b/doc/controllers/events.md
index 7a238ea4..45176da8 100644
--- a/doc/controllers/events.md
+++ b/doc/controllers/events.md
@@ -19,15 +19,11 @@ EventsController eventsController = client.getEventsController();
Lists events for a site.
-## Events Intro
+Events include various activity that happens around a Site. This information is **especially** useful to track down issues that arise when subscriptions are not created due to errors.
-Advanced Billing Events include various activity that happens around a Site. This information is **especially** useful to track down issues that arise when subscriptions are not created due to errors.
+Within the UI, Events are referred to as Site Activity. For more information, see [Site Activity](https://maxio.zendesk.com/hc/en-us/articles/24250671733517-Site-Activity).
-Within the Advanced Billing UI, "Events" are referred to as "Site Activity". Full documentation on how to view Events / Site Activity in the Advanced Billing UI can be located [here](https://maxio.zendesk.com/hc/en-us/articles/24250671733517-Site-Activity).
-
-## List Events for a Site
-
-This method will retrieve a list of events for a site. Use query string filters to narrow down results. You may use the `key` filter as part of your query string to narrow down results.
+Use query string filters to narrow down results. You can use the `filter` parameter to filter by event key.
### Legacy Filters
@@ -42,7 +38,7 @@ The following keys are no longer supported.
## Event Key
-The event type is identified by the key property. You can check supported keys [here](../../doc/models/event-key.md).
+The event type is identified by the key property. See [Event Key](../../doc/models/event-key.md) for a complete list of supported keys.
## Event Specific Data
@@ -59,7 +55,7 @@ Here’s an example event for the `subscription_product_change` event:
"event": {
"id": 351,
"key": "subscription_product_change",
- "message": "Product changed on Marky Mark's subscription from 'Basic' to 'Pro'",
+ "message": "Product changed on Mark Alan's subscription from 'Basic' to 'Pro'",
"subscription_id": 205,
"event_specific_data": {
"new_product_id": 3,
@@ -77,7 +73,7 @@ Here’s an example event for the `subscription_state_change` event:
"event": {
"id": 353,
"key": "subscription_state_change",
- "message": "State changed on Marky Mark's subscription to Pro from trialing to active",
+ "message": "State changed on Mark Alan's subscription to Pro from trialing to active",
"subscription_id": 205,
"event_specific_data": {
"new_subscription_state": "active",
@@ -88,6 +84,22 @@ Here’s an example event for the `subscription_state_change` event:
}
```
+## Enhanced Catalog Experience
+
+If you’re using the [enhanced Catalog experience](page:help/announcements/2026-announcements#new-catalog-experience-and-terminology), you’ll see updated naming in webhook events and messages.
+
+Event name changes:
+
+- subscription_product_change → subscription_plan_change
+- component_allocation_change → allocation_change
+- component_billing_date_change → product_billing_date_change
+
+Message updates:
+
+- “Plan changed on Subscription from previous plan to new plan”
+- “Successful payment for allocation changes to Product on Subscription”
+- “Failed payment for allocation changes to Product on Subscription”
+
```java
List listEvents(
final ListEventsInput input)
@@ -200,7 +212,7 @@ Lists events for a subscription.
## Event Key
-The event type is identified by the key property. You can check supported keys [here](../../doc/models/event-key.md).
+The event type is identified by the key property. See [Event Key](../../doc/models/event-key.md) for a complete list of supported keys.
## Event Specific Data
@@ -208,6 +220,22 @@ Different event types may include additional data in `event_specific_data` prope
While some events share the same schema for `event_specific_data`, others may not include it at all.
For precise mappings from key to event_specific_data, refer to [Event](../../doc/models/event.md).
+## Enhanced Catalog Experience
+
+If you’re using the [enhanced Catalog experience](page:help/announcements/2026-announcements#new-catalog-experience-and-terminology), you’ll see updated naming in webhook events and messages.
+
+Event name changes:
+
+- subscription_product_change → subscription_plan_change
+- component_allocation_change → allocation_change
+- component_billing_date_change → product_billing_date_change
+
+Message updates:
+
+- “Successful payment for allocation changes to Product on Subscription”
+- “Failed payment for allocation changes to Product on Subscription”
+- “Plan changed on Subscription from previous plan to new plan”
+
```java
List listSubscriptionEvents(
final ListSubscriptionEventsInput input)
@@ -300,6 +328,20 @@ try {
Returns the total count of events for a given site.
+If you’re using the [enhanced Catalog experience](page:help/announcements/2026-announcements#new-catalog-experience-and-terminology), you’ll see updated naming in webhook events and messages.
+
+Event name changes:
+
+- subscription_product_change → subscription_plan_change
+- component_allocation_change → allocation_change
+- component_billing_date_change → product_billing_date_change
+
+Message updates:
+
+- “Successful payment for allocation changes to Product on Subscription”
+- “Failed payment for allocation changes to Product on Subscription”
+- “Plan changed on Subscription from previous plan to new plan”
+
```java
CountResponse readEventsCount(
final ReadEventsCountInput input)
diff --git a/doc/controllers/insights.md b/doc/controllers/insights.md
index 8c9868fe..e929f173 100644
--- a/doc/controllers/insights.md
+++ b/doc/controllers/insights.md
@@ -93,8 +93,8 @@ This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
-| `atTime` | `ZonedDateTime` | Query, Optional | submit a timestamp in ISO8601 format to request MRR for a historic time |
-| `subscriptionId` | `Integer` | Query, Optional | submit the id of a subscription in order to limit results |
+| `atTime` | `ZonedDateTime` | Query, Optional | submit a timestamp in ISO8601 format to request MRR for a historic time. |
+| `subscriptionId` | `Integer` | Query, Optional | submit the id of a subscription in order to limit results. |
## Response Type
@@ -257,7 +257,7 @@ try {
**This endpoint is deprecated.**
-This endpoint returns your site's current MRR, including plan and usage breakouts split per subscription.
+Lists your site's current MRR, including plan and usage breakouts split per subscription.
```java
SubscriptionMRRResponse listMrrPerSubscription(
diff --git a/doc/controllers/invoices.md b/doc/controllers/invoices.md
index cd45fb44..92868023 100644
--- a/doc/controllers/invoices.md
+++ b/doc/controllers/invoices.md
@@ -23,6 +23,8 @@ InvoicesController invoicesController = client.getInvoicesController();
* [Void Invoice](../../doc/controllers/invoices.md#void-invoice)
* [List Consolidated Invoice Segments](../../doc/controllers/invoices.md#list-consolidated-invoice-segments)
* [Create Invoice](../../doc/controllers/invoices.md#create-invoice)
+* [Update Invoice](../../doc/controllers/invoices.md#update-invoice)
+* [Delete Invoice](../../doc/controllers/invoices.md#delete-invoice)
* [Send Invoice](../../doc/controllers/invoices.md#send-invoice)
* [Preview Customer Information Changes](../../doc/controllers/invoices.md#preview-customer-information-changes)
* [Update Customer Information](../../doc/controllers/invoices.md#update-customer-information)
@@ -31,7 +33,7 @@ InvoicesController invoicesController = client.getInvoicesController();
# Refund Invoice
-Refund an invoice, segment, or consolidated invoice.
+Refunds an invoice, segment, or consolidated invoice.
## Partial Refund for Consolidated Invoice
@@ -100,7 +102,7 @@ try {
# List Invoices
-By default, invoices returned on the index will only include totals, not detailed breakdowns for `line_items`, `discounts`, `taxes`, `credits`, `payments`, `custom_fields`, or `refunds`. To include breakdowns, pass the specific field as a key in the query with a value set to `true`.
+Lists invoices for a site. By default, invoices returned on the index will only include totals, not detailed breakdowns for `line_items`, `discounts`, `taxes`, `credits`, `payments`, `custom_fields`, or `refunds`. To include breakdowns, pass the specific field as a key in the query with a value set to `true`.
```java
ListInvoicesResponse listInvoices(
@@ -438,7 +440,7 @@ try {
# Read Invoice
-Use this endpoint to retrieve the details for an invoice.
+Returns the details for an invoice.
## PDF Invoice retrieval
@@ -600,7 +602,7 @@ try {
# List Invoice Events
-This endpoint returns a list of invoice events. Each event contains event "data" (such as an applied payment) as well as a snapshot of the `invoice` at the time of event completion.
+Lists invoice events for a site. Each event contains event "data" (such as an applied payment) as well as a snapshot of the `invoice` at the time of event completion.
Exposed event types are:
@@ -1052,7 +1054,7 @@ try {
# Record Payment for Invoice
-Applies a payment of a given type against a specific invoice. If you would like to apply a payment across multiple invoices, you can use the Bulk Payment endpoint.
+Applies a payment of a given type against a specific invoice. If you would like to apply a payment across multiple invoices, you can use the [Record Payment for Multiple Invoices](../../doc/controllers/invoices.md#record-payment-for-multiple-invoices) endpoint.
```java
Invoice recordPaymentForInvoice(
@@ -1112,31 +1114,10 @@ try {
# Record Payment for Multiple Invoices
-This API call should be used when you want to record an external payment against multiple invoices.
+Records an external payment against multiple invoices.
To apply a payment to multiple invoices, at minimum, specify the `amount` and `applications` (i.e., `invoice_uid` and `amount`) details.
-```
-{
- "payment": {
- "memo": "to pay the bills",
- "details": "check number 8675309",
- "method": "check",
- "amount": "250.00",
- "applications": [
- {
- "invoice_uid": "inv_8gk5bwkct3gqt",
- "amount": "100.00"
- },
- {
- "invoice_uid": "inv_7bc6bwkct3lyt",
- "amount": "150.00"
- }
- ]
- }
-}
-```
-
Note that the invoice payment amounts must be greater than 0. Total amount must be greater or equal to invoices payment amount sum.
```java
@@ -1231,7 +1212,7 @@ try {
# List Credit Notes
-Credit Notes are like inverse invoices. They reduce the amount a customer owes.
+Lists credit notes for a site. Credit Notes are like inverse invoices. They reduce the amount a customer owes.
By default, the credit notes returned by this endpoint will exclude the arrays of `line_items`, `discounts`, `taxes`, `applications`, or `refunds`. To include these arrays, pass the specific field as a key in the query with a value set to `true`.
@@ -1587,7 +1568,7 @@ try {
# Read Credit Note
-Use this endpoint to retrieve the details for a credit note.
+Returns the details for a credit note.
```java
CreditNote readCreditNote(
@@ -1941,7 +1922,7 @@ try {
# Record Payment for Subscription
-Record an external payment made against a subscription that will pay partially or in full one or more invoices.
+Records an external payment made against a subscription that will pay partially or in full one or more invoices.
Payment will be applied starting with the oldest open invoice and then next oldest, and so on until the amount of the payment is fully consumed.
@@ -2028,7 +2009,7 @@ try {
# Reopen Invoice
-This endpoint allows you to reopen any invoice with the "canceled" status. Invoices enter "canceled" status if they were open at the time the subscription was canceled (whether through dunning or an intentional cancellation).
+Reopens any invoice with the "canceled" status. Invoices enter "canceled" status if they were open at the time the subscription was canceled (whether through dunning or an intentional cancellation).
Invoices with "canceled" status are no longer considered to be due. Once reopened, they are considered due for payment. Payment may then be captured in one of the following ways:
@@ -2087,7 +2068,7 @@ try {
# Void Invoice
-This endpoint allows you to void any invoice with the "open" or "canceled" status. It will also allow voiding of an invoice with the "pending" status if it is not a consolidated invoice.
+Voids any invoice with the "open" or "canceled" status. It will also allow voiding of an invoice with the "pending" status if it is not a consolidated invoice.
```java
Invoice voidInvoice(
@@ -2144,7 +2125,7 @@ try {
# List Consolidated Invoice Segments
-Invoice segments returned on the index will only include totals, not detailed breakdowns for `line_items`, `discounts`, `taxes`, `credits`, `payments`, or `custom_fields`.
+Lists segments for a consolidated invoice. Invoice segments returned on the index will only include totals, not detailed breakdowns for `line_items`, `discounts`, `taxes`, `credits`, `payments`, or `custom_fields`.
```java
ConsolidatedInvoice listConsolidatedInvoiceSegments(
@@ -2462,7 +2443,7 @@ try {
# Create Invoice
-This endpoint will allow you to create an ad hoc invoice.
+Creates an ad hoc invoice.
### Basic Behavior
@@ -2829,9 +2810,165 @@ try {
| 422 | Unprocessable Entity (WebDAV) | [`ErrorArrayMapResponseException`](../../doc/models/error-array-map-response-exception.md) |
+# Update Invoice
+
+Updates an ad hoc invoice while it is in the `draft` state.
+
+**Important: only invoices with the `adhoc` role and `draft` status can be updated.** Any other invoice — issued, or with a different role (e.g. `renewal`, `signup`) — cannot be updated through this endpoint and the request returns a `422` error. If the invoice does not belong to the provided subscription, a `404` error is returned.
+
+Only the attributes submitted in the request are changed — omitted attributes keep their current values.
+
+### Line Items
+
+The `line_items` array describes changes to the invoice's line items. Line items not referenced in the array remain unchanged.
+
+#### Adding a line item
+
+A line item without a `uid` is added to the invoice. The same line item types and options as on invoice creation are supported (custom items, `product_id`, `component_id`, price points, period date ranges, taxes).
+
+#### Updating a line item
+
+A line item with the `uid` of an existing line item updates that line item with the submitted attributes. Amounts and taxes are recalculated.
+
+#### Removing a line item
+
+A line item with a `uid` and `"_destroy": true` is removed from the invoice. Other line items remain unchanged.
+
+Referencing a `uid` which does not exist on the invoice returns a `422` error.
+
+### Coupons
+
+When the `coupons` key is present, the submitted coupons replace all discounts currently applied to the invoice. Send an empty array to remove all discounts. Coupon options are the same as on invoice creation.
+
+### Invoice Options
+
+#### Issue Date and Net Terms
+
+The `issue_date` parameter can be sent to change the invoice's issue date. Only today or dates in the past are accepted. The date is interpreted and validated in your site's time zone, using the `YYYY-MM-DD` format. The `net_terms` parameter indicates the number of days after the issue date on which the invoice is due. The due date is recalculated whenever the issue date or net terms change.
+
+#### Addresses
+
+The seller, shipping and billing addresses can be sent to replace the addresses on the invoice. Each address requires to send a `first_name` at a minimum in order to work. Taxes are recalculated after an address change.
+
+#### Memo and Payment Instructions
+
+A custom memo can be sent with the `memo` parameter. Likewise, custom payment instructions can be sent with the `payment_instructions` parameter.
+
+```java
+InvoiceResponse updateInvoice(
+ final int subscriptionId,
+ final String uid,
+ final UpdateInvoiceRequest body)
+```
+
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
+## Parameters
+
+| Parameter | Type | Tags | Description |
+| --- | --- | --- | --- |
+| `subscriptionId` | `int` | Template, Required | The Chargify id of the subscription. |
+| `uid` | `String` | Template, Required | The unique identifier for the invoice, this does not refer to the public facing invoice number. |
+| `body` | [`UpdateInvoiceRequest`](../../doc/models/update-invoice-request.md) | Body, Optional | Request payload for updating a draft ad hoc invoice. |
+
+## Response Type
+
+**200**: OK
+
+[`InvoiceResponse`](../../doc/models/invoice-response.md)
+
+## Example Usage
+
+```java
+int subscriptionId = 222;
+String uid = "uid0";
+UpdateInvoiceRequest body = new UpdateInvoiceRequest.Builder(
+ new UpdateInvoice.Builder()
+ .netTerms(30)
+ .memo("Updated memo")
+ .build()
+)
+.build();
+
+try {
+ InvoiceResponse result = invoicesController.updateInvoice(subscriptionId, uid, body);
+ System.out.println(result);
+} catch (ErrorListResponseException e) {
+ e.printStackTrace();
+} catch (ErrorArrayMapResponseException e) {
+ e.printStackTrace();
+} catch (ApiException e) {
+ e.printStackTrace();
+}
+```
+
+## Errors
+
+| HTTP Status Code | Error Description | Exception Class |
+| --- | --- | --- |
+| 404 | Not Found | [`ErrorListResponseException`](../../doc/models/error-list-response-exception.md) |
+| 422 | Unprocessable Entity (WebDAV) | [`ErrorArrayMapResponseException`](../../doc/models/error-array-map-response-exception.md) |
+
+
+# Delete Invoice
+
+Deletes an ad hoc invoice while it is in the `draft` state.
+
+**Important: only invoices with the `adhoc` role and `draft` status can be deleted.** Any other invoice — issued, or with a different role (e.g. `renewal`, `signup`) — cannot be deleted through this endpoint and the request returns a `422` error. Issued invoices should be voided instead. If the invoice does not belong to the provided subscription, a `404` error is returned.
+
+A successful deletion returns a `204 No Content` response and the invoice is permanently removed.
+
+```java
+Void deleteInvoice(
+ final int subscriptionId,
+ final String uid)
+```
+
+## Authentication
+
+This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
+
+## Parameters
+
+| Parameter | Type | Tags | Description |
+| --- | --- | --- | --- |
+| `subscriptionId` | `int` | Template, Required | The Chargify id of the subscription. |
+| `uid` | `String` | Template, Required | The unique identifier for the invoice, this does not refer to the public facing invoice number. |
+
+## Response Type
+
+**204**: No Content
+
+`void`
+
+## Example Usage
+
+```java
+int subscriptionId = 222;
+String uid = "uid0";
+
+try {
+ invoicesController.deleteInvoice(subscriptionId, uid);
+} catch (ErrorListResponseException e) {
+ e.printStackTrace();
+} catch (ApiException e) {
+ e.printStackTrace();
+}
+```
+
+## Errors
+
+| HTTP Status Code | Error Description | Exception Class |
+| --- | --- | --- |
+| 404 | Not Found | [`ErrorListResponseException`](../../doc/models/error-list-response-exception.md) |
+| 422 | Unprocessable Entity (WebDAV) | [`ErrorListResponseException`](../../doc/models/error-list-response-exception.md) |
+
+
# Send Invoice
-This endpoint allows for invoices to be programmatically delivered via email. This endpoint supports the delivery of both ad-hoc and automatically generated invoices. Additionally, this endpoint supports email delivery to direct recipients, carbon-copy (cc) recipients, and blind carbon-copy (bcc) recipients.
+Sends an invoice to the customer via email. This endpoint supports the delivery of both ad-hoc and automatically generated invoices. Additionally, this endpoint supports email delivery to direct recipients, carbon-copy (cc) recipients, and blind carbon-copy (bcc) recipients.
**File Attachments**: You can attach files to invoice emails using `attachment_urls[]` parameter by providing URLs to the files you want to attach. When using attachments, the request must use `multipart/form-data` content type. Max 10 files, 10MB per file.
@@ -2896,7 +3033,7 @@ try {
# Preview Customer Information Changes
-Customer information may change after an invoice is issued, which may lead to a mismatch between customer information that is present on an open invoice and actual customer information. This endpoint allows you to preview these differences, if any.
+Previews the effect of customer information changes on an open invoice. Customer information may change after an invoice is issued, which may lead to a mismatch between customer information that is present on an open invoice and actual customer information. This endpoint allows you to preview these differences, if any.
The endpoint doesn't accept a request body. Customer information differences are calculated on the application side.
@@ -2999,7 +3136,7 @@ try {
# Update Customer Information
-This endpoint updates customer information on an open invoice and returns the updated invoice. If you would like to preview changes that will be applied, use the `/invoices/{uid}/customer_information/preview.json` endpoint first.
+Updates customer information on an open invoice and returns the updated invoice. If you would like to preview changes that will be applied, use the `/invoices/{uid}/customer_information/preview.json` endpoint first.
The endpoint doesn't accept a request body. Customer information differences are calculated on the application side.
@@ -3237,7 +3374,7 @@ try {
# Issue Invoice
-This endpoint allows you to issue an invoice that is in "pending" or "draft" status. For example, you can issue an invoice that was created when allocating new quantity on a component and using "accrue charges" option.
+Issues an invoice that is in "pending" or "draft" status. For example, you can issue an invoice that was created when allocating new quantity on a component and using "accrue charges" option.
You cannot issue a pending child invoice that was created for a member subscription in a group.
diff --git a/doc/controllers/offers.md b/doc/controllers/offers.md
index 9a97e2c3..14d963b3 100644
--- a/doc/controllers/offers.md
+++ b/doc/controllers/offers.md
@@ -19,15 +19,13 @@ OffersController offersController = client.getOffersController();
# Create Offer
-Creates an offer within your Advanced Billing site.
-
-## Documentation
+Creates an offer within your site.
Offers allow you to package complicated combinations of products, components and coupons into a convenient package which can then be subscribed to just like products.
Once an offer is defined it can be used as an alternative to the product when creating subscriptions.
-Full documentation on how to use offers in the Advanced Billing UI can be located [here](https://maxio.zendesk.com/hc/en-us/articles/24261295098637-Offers-Overview).
+For more information, see [Offers](https://maxio.zendesk.com/hc/en-us/articles/24261295098637-Offers-Overview) in the product documentation.
## Using a Product Price Point
diff --git a/doc/controllers/payment-profiles.md b/doc/controllers/payment-profiles.md
index 59d3f33a..1ff7123d 100644
--- a/doc/controllers/payment-profiles.md
+++ b/doc/controllers/payment-profiles.md
@@ -141,7 +141,7 @@ try {
# List Payment Profiles
-Returns all active payment profiles for a site, or for one customer within a site. If no payment profiles are found, this endpoint will return an empty array, not a 404.
+Lists all active payment profiles for a site, or for one customer within a site. If no payment profiles are found, this endpoint returns an empty array.
```java
List listPaymentProfiles(
@@ -477,7 +477,7 @@ try {
Deletes an unused payment profile.
-If the payment profile is in use by one or more subscriptions or groups, a 422 and error message will be returned.
+If the payment profile is in use by one or more subscriptions or groups, an error message is returned.
```java
Void deleteUnusedPaymentProfile(
@@ -526,9 +526,9 @@ try {
Deletes a payment profile belonging to the customer on the subscription.
-+ If the customer has multiple subscriptions, the payment profile will be removed from all of them.
+If the customer has multiple subscriptions, the payment profile is removed from all of them.
-+ If you delete the default payment profile for a subscription, you will need to specify another payment profile to be the default through the api, or either prompt the user to enter a card in the billing portal or on the self-service page, or visit the Payment Details tab on the subscription in the Admin UI and use the “Add New Credit Card” or “Make Active Payment Method” link, (depending on whether there are other cards present).
+If you delete the default payment profile for a subscription, you need to specify another payment profile to be the default through the API, or either prompt the user to enter a card in the billing portal or on the self-service page, or visit the Payment Details tab on the subscription in the Admin UI and use the “Add New Credit Card” or “Make Active Payment Method” link, (depending on whether there are other cards present).
```java
Void deleteSubscriptionsPaymentProfile(
@@ -779,7 +779,7 @@ try {
# Change Subscription Group Default Payment Profile
-This will change the default payment profile on the subscription group to the existing payment profile with the id specified.
+Changes the default payment profile on the subscription group to the existing payment profile with the specified ID.
You must elect to change the existing payment profile to a new payment profile ID in order to receive a satisfactory response from this endpoint.
@@ -862,7 +862,7 @@ try {
# Read One Time Token
-One Time Tokens aka Advanced Billing Tokens house the credit card or ACH (Authorize.Net or Stripe only) data for a customer.
+Returns the one-time token data, including credit card or ACH details, associated with the provided token ID. One Time Tokens aka Advanced Billing Tokens house the credit card or ACH (Authorize.Net or Stripe only) data for a customer.
You can use One Time Tokens while creating a subscription or payment profile instead of passing all bank account or credit card data directly to a given API endpoint.
@@ -913,7 +913,7 @@ try {
# Send Request Update Payment Email
-You can send a "request payment update" email to the customer associated with the subscription.
+Sends a "request payment update" email to the customer associated with the subscription.
If you attempt to send a "request payment update" email more than five times within a 30-minute period, you will receive a `422` response with an error message in the body. This error message will indicate that the request has been rejected due to excessive attempts, and will provide instructions on how to resubmit the request.
diff --git a/doc/controllers/product-families.md b/doc/controllers/product-families.md
index 3654599b..ca901efa 100644
--- a/doc/controllers/product-families.md
+++ b/doc/controllers/product-families.md
@@ -176,7 +176,7 @@ try {
# Create Product Family
-Creates a Product Family within your Advanced Billing site. Create a Product Family to act as a container for your products, components, and coupons.
+Creates a Product Family within your site. Create a Product Family to act as a container for your products, components, and coupons.
Full documentation on how Product Families operate within the Advanced Billing UI can be located [here](https://maxio.zendesk.com/hc/en-us/articles/24261098936205-Product-Families).
@@ -209,6 +209,7 @@ CreateProductFamilyRequest body = new CreateProductFamilyRequest.Builder(
"Acme Projects"
)
.description("Amazing project management tool")
+ .surcharging(false)
.build()
)
.build();
@@ -232,7 +233,8 @@ try {
"name": "Acme Projects",
"description": "Amazing project management tool",
"handle": "acme-projects",
- "accounting_code": null
+ "accounting_code": null,
+ "surcharging": false
}
}
```
@@ -246,7 +248,7 @@ try {
# List Product Families
-Returns a list of Product Families for a site.
+Lists Product Families for a site.
```java
List listProductFamilies(
@@ -295,6 +297,7 @@ try {
"description": null,
"handle": "acme-projects",
"accounting_code": null,
+ "surcharging": false,
"created_at": "2013-02-20T15:05:51-07:00",
"updated_at": "2013-02-20T15:05:51-07:00",
"archived_at": null
@@ -307,6 +310,7 @@ try {
"description": "Another family.",
"handle": "bat-family",
"accounting_code": null,
+ "surcharging": true,
"created_at": "2014-04-16T12:41:13-06:00",
"updated_at": "2014-04-16T12:41:13-06:00",
"archived_at": "2024-11-05T09:30:00-07:00"
@@ -366,6 +370,7 @@ try {
"description": "",
"handle": "billing-plans",
"accounting_code": null,
+ "surcharging": false,
"archived_at": null
}
}
diff --git a/doc/controllers/product-price-points.md b/doc/controllers/product-price-points.md
index be0503e3..f3f124c0 100644
--- a/doc/controllers/product-price-points.md
+++ b/doc/controllers/product-price-points.md
@@ -301,7 +301,7 @@ This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
| --- | --- | --- | --- |
| `productId` | [`ReadProductPricePointProductId`](../../doc/models/containers/read-product-price-point-product-id.md) | Template, Required | This is a container for one-of cases. |
| `pricePointId` | [`ReadProductPricePointPricePointId`](../../doc/models/containers/read-product-price-point-price-point-id.md) | Template, Required | This is a container for one-of cases. |
-| `currencyPrices` | `Boolean` | Query, Optional | When fetching a product's price points, if you have defined multiple currencies at the site level, you can optionally pass the ?currency_prices=true query param to include an array of currency price data in the response. If the product price point is set to use_site_exchange_rate: true, it will return pricing based on the current exchange rate. If the flag is set to false, it will return all of the defined prices for each currency. |
+| `currencyPrices` | `Boolean` | Query, Optional | (Optional) If you have defined multiple currencies at the site level, you can pass ?currency_prices=true to include an array of currency price data in the response. If the product price point is set to use_site_exchange_rate: true, it will return pricing based on the current exchange rate. If the flag is set to false, it will return all of the defined prices for each currency. |
## Response Type
diff --git a/doc/controllers/products.md b/doc/controllers/products.md
index 6ef2d76e..9cff91a0 100644
--- a/doc/controllers/products.md
+++ b/doc/controllers/products.md
@@ -20,11 +20,13 @@ ProductsController productsController = client.getProductsController();
# Create Product
-Creates a product in your Advanced Billing site.
+Creates a product in your site.
-See the following product documentation for more information:
+If you have the new [Catalog experience](page:help/announcements/2026-announcements#new-catalog-experience-and-terminology) enabled, the `auto_create_signup_page` parameter is not supported. If `auto_create_signup_page` is included (with any value) an error is returned.
-+ [Products Documentation](https://maxio.zendesk.com/hc/en-us/articles/24261090117645-Products-Overview)
+For more information, see:
+
++ [Products Overview](https://maxio.zendesk.com/hc/en-us/articles/24261090117645-Products-Overview)
+ [Changing a Subscription's Product](https://maxio.zendesk.com/hc/en-us/articles/24252069837581-Product-Changes-and-Migrations)
```java
diff --git a/doc/controllers/proforma-invoices.md b/doc/controllers/proforma-invoices.md
index 92e9a016..7b416af0 100644
--- a/doc/controllers/proforma-invoices.md
+++ b/doc/controllers/proforma-invoices.md
@@ -24,7 +24,7 @@ ProformaInvoicesController proformaInvoicesController = client.getProformaInvoic
# Create Consolidated Proforma Invoice
-Creates a consolidated proforma invoice asynchronously. It will return a 201 with no message, or a 422 with any errors. To find and view the new consolidated proforma invoice, you may poll the subscription group listing for proforma invoices; only one consolidated proforma invoice may be created per group at a time.
+Creates a consolidated proforma invoice asynchronously. To find and view the new consolidated proforma invoice, you can poll the subscription group listing for proforma invoices; only one consolidated proforma invoice can be created per group at a time.
If the information becomes outdated, simply void the old consolidated proforma invoice and generate a new one.
@@ -408,7 +408,7 @@ try {
# Preview Proforma Invoice
-Returns a preview of the data that will be included on a given subscription's proforma invoice if one were to be generated. It will have similar line items and totals as a renewal preview, but the response will be presented in the format of a proforma invoice. Consequently it will include additional information such as the name and addresses that will appear on the proforma invoice.
+Previews the data that will be included on a given subscription's proforma invoice if one were to be generated. It will have similar line items and totals as a renewal preview, but the response will be presented in the format of a proforma invoice. Consequently it will include additional information such as the name and addresses that will appear on the proforma invoice.
The preview endpoint is subject to all the same conditions as the proforma invoice endpoint. For example, previews are only available on the Relationship Invoicing architecture, and previews cannot be made for end-of-life subscriptions.
diff --git a/doc/controllers/reason-codes.md b/doc/controllers/reason-codes.md
index 453e589e..37633322 100644
--- a/doc/controllers/reason-codes.md
+++ b/doc/controllers/reason-codes.md
@@ -21,21 +21,11 @@ ReasonCodesController reasonCodesController = client.getReasonCodesController();
Creates a reason code for a given site.
-# Reason Codes Intro
-
Reason Codes are a way to gain a high-level view of why your customers are cancelling the subscription to your product or service.
Add a set of churn reason codes to be displayed in-app and/or the Maxio Billing Portal. As your subscribers decide to cancel their subscription, learn why they decided to cancel.
-## Reason Code Documentation
-
-Full documentation on how Reason Codes operate within Advanced Billing can be located under the following links.
-
-[Churn Reason Codes](https://maxio.zendesk.com/hc/en-us/articles/24286647554701-Churn-Reason-Codes)
-
-## Create Reason Code
-
-This method gives a merchant the option to create reason codes for a given site.
+For more information, see [Churn Reason Codes](https://maxio.zendesk.com/hc/en-us/articles/24286647554701-Churn-Reason-Codes).
```java
ReasonCodeResponse createReasonCode(
diff --git a/doc/controllers/referral-codes.md b/doc/controllers/referral-codes.md
index b6118587..9c03dc9b 100644
--- a/doc/controllers/referral-codes.md
+++ b/doc/controllers/referral-codes.md
@@ -13,13 +13,7 @@ ReferralCodesController referralCodesController = client.getReferralCodesControl
Validates whether a referral code is valid and applicable within your site. This method is useful for validating referral codes that are entered by a customer.
-## Referrals Documentation
-
-Full documentation on how to use the referrals feature in the Advanced Billing UI can be located [here](https://maxio.zendesk.com/hc/en-us/sections/24286965611405-Referrals).
-
-## Server Response
-
-If the referral code is valid the status code will be `200` and the referral code will be returned. If the referral code is invalid, a `404` response will be returned.
+For more information, see [Understanding Referrals](https://docs.maxio.com/hc/en-us/articles/24286981223693-Understanding-Referrals) in the product documentation.
```java
ReferralValidationResponse validateReferralCode(
diff --git a/doc/controllers/sales-commissions.md b/doc/controllers/sales-commissions.md
index d1c78cd8..58919c27 100644
--- a/doc/controllers/sales-commissions.md
+++ b/doc/controllers/sales-commissions.md
@@ -25,7 +25,7 @@ The Sales Commission API differs from other Chargify API endpoints. This resourc
Access to the Sales Commission API endpoints is available to users with financial access, where the seller has the Advanced Analytics component enabled. For further information on getting access to Advanced Analytics contact Maxio support.
-> Note: The request is at seller level, it means `<>` variable will be replaced by `app`
+> Note: The request is at seller level, it means `<>` variable will be replaced by `app`.
```java
List listSalesCommissionSettings(
@@ -104,7 +104,7 @@ try {
# List Sales Reps
-Returns a sales rep list with details.
+Lists sales reps with details.
## Modified Authentication Process
@@ -112,7 +112,7 @@ The Sales Commission API differs from other Chargify API endpoints. This resourc
Access to the Sales Commission API endpoints is available to users with financial access, where the seller has the Advanced Analytics component enabled. For further information on getting access to Advanced Analytics contact Maxio support.
-> Note: The request is at seller level, it means `<>` variable will be replaced by `app`
+> Note: The request is at seller level, it means `<>` variable will be replaced by `app`.
```java
List listSalesReps(
@@ -248,7 +248,7 @@ The Sales Commission API differs from other Chargify API endpoints. This resourc
Access to the Sales Commission API endpoints is available to users with financial access, where the seller has the Advanced Analytics component enabled. For further information on getting access to Advanced Analytics contact Maxio support.
-> Note: The request is at seller level, it means `<>` variable will be replaced by `app`
+> Note: The request is at seller level, it means `<>` variable will be replaced by `app`.
```java
SaleRep readSalesRep(
diff --git a/doc/controllers/sites.md b/doc/controllers/sites.md
index 7f76bff0..d69b7adc 100644
--- a/doc/controllers/sites.md
+++ b/doc/controllers/sites.md
@@ -19,20 +19,19 @@ SitesController sitesController = client.getSitesController();
Retrieves site data.
-Full documentation on Sites in the Advanced Billing UI can be located [here](https://maxio.zendesk.com/hc/en-us/sections/24250550707085-Sites).
-
-Specifically, the [Clearing Site Data](https://maxio.zendesk.com/hc/en-us/articles/24250617028365-Clearing-Site-Data) section is relevant to this endpoint documentation.
+For more information, see [Sites](https://maxio.zendesk.com/hc/en-us/sections/24250550707085-Sites) in the product documentation. Specifically, the [Clearing Site Data](https://maxio.zendesk.com/hc/en-us/articles/24250617028365-Clearing-Site-Data) section is relevant to this endpoint.
#### Relationship invoicing enabled
-If the site has RI enabled then you will see more settings like:
+If the site has Relationship invoicing enabled, additional properties are returned in the response:
- "customer_hierarchy_enabled": true,
- "whopays_enabled": true,
- "whopays_default_payer": "self"
+```
+"customer_hierarchy_enabled": true,
+"whopays_enabled": true,
+"whopays_default_payer": "self"
+```
-You can read more about these settings here:
-[Who Pays & Customer Hierarchy](https://maxio.zendesk.com/hc/en-us/articles/24252185211533-Customer-Hierarchies-WhoPays)
+For more information, see [Who Pays & Customer Hierarchy](https://maxio.zendesk.com/hc/en-us/articles/24252185211533-Customer-Hierarchies-WhoPays).
```java
SiteResponse readSite()
@@ -153,7 +152,7 @@ try {
# List Chargify Js Public Keys
-Returns public keys used for Maxio.js (formerly Chargify.js).
+Lists public keys used for Maxio.js (formerly Chargify.js).
```java
ListPublicKeysResponse listChargifyJsPublicKeys(
diff --git a/doc/controllers/subscription-components.md b/doc/controllers/subscription-components.md
index 3dcaeea7..8d21e6f6 100644
--- a/doc/controllers/subscription-components.md
+++ b/doc/controllers/subscription-components.md
@@ -588,7 +588,7 @@ try {
# List Allocations
-Returns the 50 most recent Allocations, ordered by most recent first.
+Lists the 50 most recent Allocations, ordered by most recent first.
## On/Off Components
@@ -1265,7 +1265,7 @@ try {
# List Usages
-Returns a list of usages associated with a subscription for a particular metered component. This will display the previously recorded components for a subscription.
+Lists usages associated with a subscription for a particular metered component. This will display the previously recorded components for a subscription.
This endpoint is not compatible with quantity-based components.
@@ -1361,13 +1361,13 @@ try {
Activates an event-based component for a single subscription.
-In order to bill your subscribers on your Events data under the Events-Based Billing feature, the components must be activated for the subscriber.
+To bill your subscribers on your Events data under the Events-Based Billing feature, the components must be activated for the subscriber.
-Learn more about the role of activation in the [Events-Based Billing docs](https://maxio.zendesk.com/hc/en-us/articles/24260323329805-Events-Based-Billing-Overview).
+For more information, see [Design Your Catalog](https://docs.maxio.com/hc/en-us/articles/24181036583053-Design-Your-Catalog?method=componenttypes).
-Use this endpoint to activate an event-based component for a single subscription. Activating an event-based component causes Advanced Billing to bill for events when the subscription is renewed.
+Use this endpoint to activate an event-based component for a single subscription. Activating an event-based component causes billing for events when the subscription is renewed.
-*Note: it is possible to stream events for a subscription at any time, regardless of component activation status. The activation status only determines if the subscription should be billed for event-based component usage at renewal.*
+Note: it is possible to stream events for a subscription at any time, regardless of component activation status. The activation status only determines if the subscription should be billed for event-based component usage at renewal.
```java
Void activateEventBasedComponent(
@@ -1478,21 +1478,15 @@ try {
Records a single event for Events-Based Billing.
-## Documentation
-
Events-Based Billing is an evolved form of metered billing that is based on data-rich events streamed in real-time from your system to Advanced Billing.
These events can then be transformed, enriched, or analyzed to form the computed totals of usage charges billed to your customers.
This API allows you to stream events into the Advanced Billing data ingestion engine.
-Learn more about the feature in general in the [Events-Based Billing help docs](https://maxio.zendesk.com/hc/en-us/articles/24260323329805-Events-Based-Billing-Overview).
-
-## Record Event
-
-Use this endpoint to record a single event.
+For more information, see [Design Your Catalog](https://docs.maxio.com/hc/en-us/articles/24181036583053-Design-Your-Catalog?method=componenttypes).
-*Note: this endpoint differs from the standard Chargify API endpoints in that the URL subdomain will be `events` and your site subdomain will be included in the URL path. For example:*
+Note: this endpoint differs from the standard URL for this API in that `events` and your site subdomain are included in the path. For example:
```
https://events.chargify.com/my-site-subdomain/events/my-stream-api-handle
@@ -1514,7 +1508,7 @@ This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `apiHandle` | `String` | Template, Required | Identifies the Stream for which the event should be published. |
-| `storeUid` | `String` | Query, Optional | If you've attached your own Keen project as an Advanced Billing event data-store, use this parameter to indicate the data-store. |
+| `storeUid` | `String` | Query, Optional | If you've attached your own Keen project as an Advanced Billing event data-store, use this parameter to indicate the data-store. This applies to Legacy Metering sites only — it has no effect on Maxio Metering sites. |
| `body` | [`EBBEvent`](../../doc/models/ebb-event.md) | Body, Optional | - |
## Server
@@ -1550,7 +1544,7 @@ try {
Records a collection of events.
-*Note: this endpoint differs from the standard Chargify API endpoints in that the subdomain will be `events` and your site subdomain will be included in the URL path.*
+Note: this endpoint differs from the standard URL for this API in that `events` and your site subdomain are included in the path.
A maximum of 1000 events can be published in a single request. A 422 will be returned if this limit is exceeded.
@@ -1570,7 +1564,7 @@ This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `apiHandle` | `String` | Template, Required | Identifies the Stream for which the events should be published. |
-| `storeUid` | `String` | Query, Optional | If you've attached your own Keen project as an Advanced Billing event data-store, use this parameter to indicate the data-store. |
+| `storeUid` | `String` | Query, Optional | If you've attached your own Keen project as an Advanced Billing event data-store, use this parameter to indicate the data-store. This applies to Legacy Metering sites only — it has no effect on Maxio Metering sites. |
| `body` | [`List`](../../doc/models/ebb-event.md) | Body, Optional | - |
## Server
diff --git a/doc/controllers/subscription-groups.md b/doc/controllers/subscription-groups.md
index a8ae77e4..b930ef42 100644
--- a/doc/controllers/subscription-groups.md
+++ b/doc/controllers/subscription-groups.md
@@ -180,7 +180,7 @@ try {
# List Subscription Groups
-Returns an array of subscription groups for the site. The response is paginated and will return a `meta` key with pagination information.
+Lists subscription groups for the site. The response is paginated and will return a `meta` key with pagination information.
#### Account Balance Information
@@ -332,9 +332,9 @@ try {
"current_billing_amount_in_cents": 11500,
"customer": {
"first_name": "Mark",
- "last_name": "Wannabewahlberg",
- "organization": "The Funky Bunch",
- "email": "markymark@example.com",
+ "last_name": "Smith",
+ "organization": "Acme Inc.",
+ "email": "smith@example.com",
"reference": "4c92223b-bc16-4d0d-87ff-b177a89a2655"
},
"account_balances": {
@@ -495,7 +495,7 @@ try {
Finds the subscription group associated with a subscription.
-If the subscription is not in a group, the endpoint will return a 404 code.
+If the subscription is not in a group, this endpoint returns an error.
```java
FullSubscriptionGroupResponse findSubscriptionGroup(
@@ -550,9 +550,9 @@ try {
"cancel_at_end_of_period": false,
"customer": {
"first_name": "Mark",
- "last_name": "Wannabewahlberg",
- "organization": "The Funky Bunch",
- "email": "markymark@example.com",
+ "last_name": "Smith",
+ "organization": "Acme Inc.",
+ "email": "smith@example.com",
"reference": "4c92223b-bc16-4d0d-87ff-b177a89a2655"
},
"account_balances": {
@@ -581,7 +581,7 @@ try {
# Add Subscription to Group
-For sites making use of the [Relationship Billing](https://maxio.zendesk.com/hc/en-us/articles/24252287829645-Advanced-Billing-Invoices-Overview) and [Customer Hierarchy](https://maxio.zendesk.com/hc/en-us/articles/24252185211533-Customer-Hierarchies-WhoPays#customer-hierarchies) features, it is possible to add existing subscriptions to subscription groups.
+Adds an existing subscription to a subscription group. For sites making use of the [Relationship Billing](https://maxio.zendesk.com/hc/en-us/articles/24252287829645-Advanced-Billing-Invoices-Overview) and [Customer Hierarchy](https://maxio.zendesk.com/hc/en-us/articles/24252185211533-Customer-Hierarchies-WhoPays#customer-hierarchies) features, it is possible to add existing subscriptions to subscription groups.
Passing `group` parameters with a `target` containing a `type` and optional `id` is all that's needed. When the `target` parameter specifies a `"customer"` or `"subscription"` that is already part of a hierarchy, the subscription will become a member of the customer's subscription group. If the target customer or subscription is not part of a subscription group, a new group will be created and the subscription will become part of the group with the specified target customer set as the responsible payer for the group's subscriptions.
@@ -672,7 +672,7 @@ try {
# Remove Subscription from Group
-For sites making use of the [Relationship Billing](https://maxio.zendesk.com/hc/en-us/articles/24252287829645-Advanced-Billing-Invoices-Overview) and [Customer Hierarchy](https://maxio.zendesk.com/hc/en-us/articles/24252185211533-Customer-Hierarchies-WhoPays#customer-hierarchies) features, it is possible to remove an existing subscription from a subscription group.
+Removes an existing subscription from a subscription group. For sites making use of the [Relationship Billing](https://maxio.zendesk.com/hc/en-us/articles/24252287829645-Advanced-Billing-Invoices-Overview) and [Customer Hierarchy](https://maxio.zendesk.com/hc/en-us/articles/24252185211533-Customer-Hierarchies-WhoPays#customer-hierarchies) features, it is possible to remove an existing subscription from a subscription group.
```java
Void removeSubscriptionFromGroup(
diff --git a/doc/controllers/subscription-notes.md b/doc/controllers/subscription-notes.md
index 49d1fdf7..db202492 100644
--- a/doc/controllers/subscription-notes.md
+++ b/doc/controllers/subscription-notes.md
@@ -21,13 +21,11 @@ SubscriptionNotesController subscriptionNotesController = client.getSubscription
Creates a note for a subscription.
-## How to Use Subscription Notes
-
Notes allow you to record information about a particular Subscription in a free text format.
-If you have structured data such as birth date, color, etc., consider using Metadata instead.
+If you have structured data such as birth date, color, etc., consider using [Metadata](../../doc/controllers/custom-fields.md#create-metadata) instead.
-Full documentation on how to use Notes in the Advanced Billing UI can be located [here](https://maxio.zendesk.com/hc/en-us/articles/24251712214413-Subscription-Summary-Overview).
+For more information, see [Adding Notes](https://docs.maxio.com/hc/en-us/articles/24251654953997-Understanding-the-Subscription-Summary-Page#billing-portal-status:~:text=documentation%20for%20more.-,Adding%20Notes,-Notes%20are%20optional) in the product documentation.
```java
SubscriptionNoteResponse createSubscriptionNote(
diff --git a/doc/controllers/subscription-products.md b/doc/controllers/subscription-products.md
index d3d1d536..8199166f 100644
--- a/doc/controllers/subscription-products.md
+++ b/doc/controllers/subscription-products.md
@@ -18,17 +18,15 @@ SubscriptionProductsController subscriptionProductsController = client.getSubscr
Migrates a subscription to a different product.
-In order to create a migration, you must pass the `product_id` or `product_handle` in the object when you send a POST request. You may also pass either a `product_price_point_id` or `product_price_point_handle` to choose which price point the subscription is moved to. If no price point identifier is passed the subscription will be moved to the products default price point. The response will be the updated subscription.
+To create a migration, you must pass the `product_id` or `product_handle` in the object when you send a POST request. You can also pass either a `product_price_point_id` or `product_price_point_handle` to choose which price point the subscription is moved to. If no price point identifier is passed, the subscription is moved to the product's default price point. The response is the updated subscription.
## Valid Subscriptions
-Subscriptions should be in the `active` or `trialing` state in order to be migrated.
+Subscriptions should be in the `active` or `trialing` state to be migrated.
(For backwards compatibility reasons, it is possible to migrate a subscription that is in the `trial_ended` state via the API, however this is not recommended. Since `trial_ended` is an end-of-life state, the subscription should be canceled, the product changed, and then the subscription can be reactivated.)
-## Migrations Documentation
-
-Full documentation on how to record Migrations in the Advanced Billing UI can be located [here](https://maxio.zendesk.com/hc/en-us/articles/24181589372429-Data-Migration-to-Advanced-Billing).
+For more information, see [Product Changes and Migrations](https://docs.maxio.com/hc/en-us/articles/24252069837581-Product-Changes-and-Migrations).
## Failed Migrations
diff --git a/doc/controllers/subscription-renewals.md b/doc/controllers/subscription-renewals.md
index 9e1888ec..55093424 100644
--- a/doc/controllers/subscription-renewals.md
+++ b/doc/controllers/subscription-renewals.md
@@ -591,7 +591,7 @@ try {
# Unpublish Scheduled Renewal Configuration
-Returns a scheduled renewal configuration to an editable state.
+Restores a scheduled renewal configuration to an editable state.
```java
ScheduledRenewalConfigurationResponse unpublishScheduledRenewalConfiguration(
@@ -761,6 +761,8 @@ try {
Adds product and component line items to the scheduled renewal.
+If your site has list vs sales pricing enabled, accepts renewal_configuration_item.custom_price.list_price_point_id, validates and persists it; omitted value follows existing/default behavior; with list vs sales pricing disabled, parameter is ignored (no validation/behavioral impact). This functionality is supported in the API, but is not currently supported in SDKs.
+
```java
ScheduledRenewalConfigurationItemResponse createScheduledRenewalConfigurationItem(
final int subscriptionId,
@@ -860,6 +862,8 @@ try {
Updates an existing configuration item’s pricing and quantity.
+If you site has list vs sales pricing enabled, accepts renewal_configuration_item.custom_price.list_price_point_id, validates and persists it; omitted value follows existing/default behavior; with list vs sales pricing disabled, parameter is ignored (no validation/behavioral impact). This functionality is supported in the API, but is not currently supported in SDKs.
+
```java
ScheduledRenewalConfigurationItemResponse updateScheduledRenewalConfigurationItem(
final int subscriptionId,
diff --git a/doc/controllers/subscription-status.md b/doc/controllers/subscription-status.md
index 3fb2446d..e64d5647 100644
--- a/doc/controllers/subscription-status.md
+++ b/doc/controllers/subscription-status.md
@@ -576,7 +576,7 @@ This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `subscriptionId` | `int` | Template, Required | The Chargify id of the subscription. |
-| `body` | [`PauseRequest`](../../doc/models/pause-request.md) | Body, Optional | Allows to pause a Subscription |
+| `body` | [`PauseRequest`](../../doc/models/pause-request.md) | Body, Optional | Allows you to pause a Subscription. |
## Response Type
@@ -745,7 +745,7 @@ This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `subscriptionId` | `int` | Template, Required | The Chargify id of the subscription. |
-| `body` | [`PauseRequest`](../../doc/models/pause-request.md) | Body, Optional | Allows to pause a Subscription |
+| `body` | [`PauseRequest`](../../doc/models/pause-request.md) | Body, Optional | Allows you to pause a Subscription. |
## Response Type
@@ -1391,26 +1391,26 @@ try {
Previews a subscription’s next renewal assessment. Renewal Preview is an object representing a subscription’s next assessment. You can retrieve it to see a snapshot of how much your customer will be charged on their next renewal.
-The "Next Billing" amount and "Next Billing" date are already represented in the UI on each Subscriber's Summary. For more information, see our documentation [here](https://maxio.zendesk.com/hc/en-us/articles/24252493695757-Subscriber-Interface-Overview).
+The "Next Billing" amount and "Next Billing" date are already represented in the UI on each Subscriber's Summary. For more information, see [Subscriber Interface Overview](https://maxio.zendesk.com/hc/en-us/articles/24252493695757-Subscriber-Interface-Overview).
## Optional Component Fields
-This endpoint is particularly useful due to the fact that it will return the computed billing amount for the base product and the components which are in use by a subscriber.
+This endpoint is particularly useful because it returns the computed billing amount for the base product and the components which are in use by a subscriber.
-By default, the preview will include billing details for all components _at their **current** quantities_. This means:
+By default, the preview includes billing details for all components _at their **current** quantities_. This means:
* Current `allocated_quantity` for quantity-based components
* Current enabled/disabled status for on/off components
* Current metered usage `unit_balance` for metered components
* Current metric quantity value for events recorded thus far for events-based components
-In the above statements, "current" means the quantity or value as of the call to the renewal preview endpoint. We do not predict end-of-period values for components, so metered or events-based usage may be less than it will eventually be at the end of the period.
+In the above statements, "current" means the quantity or value as of the call to the renewal preview endpoint. End-of-period values for components are not predicted, so metered or events-based usage may be less than it will eventually be at the end of the period.
-Optionally, **you may provide your own custom quantities** for any component to see a billing preview for non-current quantities. This is accomplished by sending a request body with data under the `components` key. See the request body documentation below.
+Optionally, **you can provide your own custom quantities** for any component to see a billing preview for non-current quantities. This is accomplished by sending a request body with data under the `components` key. See the request body documentation below.
-## Subscription Side Effects
+## Preview Behavior
-You can request a `POST` to obtain this data from the endpoint without any side effects. This method allows you to preview data, but does not log any changes against a subscription.
+Sending a `POST` request to this endpoint returns preview data without modifying the subscription. This method previews data, but does not log any changes against a subscription.
```java
RenewalPreviewResponse previewRenewal(
diff --git a/doc/controllers/subscriptions.md b/doc/controllers/subscriptions.md
index 0422b94f..37e59088 100644
--- a/doc/controllers/subscriptions.md
+++ b/doc/controllers/subscriptions.md
@@ -34,6 +34,48 @@ Identify an existing customer with `customer_id` or `customer_reference`. Option
Select an option from the **Request Examples** drop-down on the right side of the portal to see examples of common scenarios for creating subscriptions.
+## List vs Sales Pricing
+
+When a subscription uses custom pricing as the sales price, you can optionally provide a list price for any item. If omitted, the list price defaults to the sales price. The difference between the list price and sales price is used to calculate implicit discounts, which appear on Invoices and in reporting. List price can also support revenue allocations in [Advanced Revenue](https://docs.maxio.com/hc/en-us/articles/24177001342861-Create-and-Configure-RevenueBooks).
+
+If your site has list pricing enabled, the API accepts `custom_price.list_price_point_id` for custom pricing, validates and persists it, and returns list price metadata in subscription responses. If list pricing is disabled, this input is ignored and related response fields are omitted.
+
+When list pricing is enabled:
+
+- Subscription → Product `product_price_point_list_price_point_id` (integer)
+- `product_price_point_list_price_point_handle` (string)
+- Subscription Components (when components are included in the response, such as with subscriptions built from components or component serialization paths) `component_id` (integer)
+- `price_point_id` (integer)
+- `list_price_point_id` (integer)
+
+When list pricing is disabled:
+
+- Subscription → Product `product_price_point_list_price_point_id`: omitted
+- `product_price_point_list_price_point_handle`: omitted
+- Subscription Components `list_price_point_id`: omitted
+
+This functionality is supported in the API, but is not currently supported in SDKs.
+
+## Subscriptions can now work independently from the catalog
+
+If you have the new [Catalog experience](page:help/announcements/2026-announcements#new-catalog-experience-and-terminology) enabled, you can create subscriptions without a `product_id` or `product_handle` using POST /subscriptions, building them entirely from components.
+
+A valid subscription must include at least one active component with:
+
+- a positive `allocated_quantity`,
+- a positive `unit_balance`, or
+- 'enabled: true' (for on/off components)
+- a configured metered component
+
+`component_id` can be provided as a numeric ID or in handle: format. If `trial_interval` and `trial_interval_unit` are included, they are applied at creation.
+
+In the response, product and product price point fields are null, and component details are returned instead.
+
+This functionality is supported in the API, but is not currently supported in SDKs.
+
+## Payment information
+
+Payment information may be required to create a subscription, depending on the options for the Product being subscribed. See [product options](https://docs.maxio.com/hc/en-us/articles/24261076617869-Edit-Products) for more information. See the [Payments Profile](../../doc/controllers/payment-profiles.md#create-payment-profile) endpoint for details on payment parameters.
See the [Subscription Signups](page:introduction/basic-concepts/subscription-signup) article for more information on working with subscriptions in Advanced Billing.
## Payment information
@@ -254,7 +296,9 @@ try {
# List Subscriptions
-Returns an array of subscriptions from a Site. Pay close attention to query string filters and pagination in order to control responses from the server.
+Lists subscriptions for a site. Use the query string filters and pagination to control responses from the server.
+
+If you have the new [Catalog experience](page:help/announcements/2026-announcements#new-catalog-experience-and-terminology) enabled, some subscriptions may not have an associated product. For subscriptions without an associated product, 'product', 'product_price_point_id', and 'product_price_point_type' are returned as 'null'.
## Search for a subscription
@@ -291,10 +335,6 @@ This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
ListSubscriptionsInput listSubscriptionsInput = new ListSubscriptionsInput.Builder()
.page(1)
.perPage(50)
- .startDate(DateTimeHelper.fromSimpleDate("2022-07-01"))
- .endDate(DateTimeHelper.fromSimpleDate("2022-08-01"))
- .startDatetime(DateTimeHelper.fromRfc8601DateTime("2022-07-01 09:00:05"))
- .endDatetime(DateTimeHelper.fromRfc8601DateTime("2022-08-01 10:00:05"))
.sort(SubscriptionSort.SIGNUP_DATE)
.include(Arrays.asList(
SubscriptionListInclude.SELF_SERVICE_PAGE_TOKEN
@@ -360,7 +400,9 @@ The server response will not return data under the key/value pair of `next_billi
For a subscription using Calendar Billing, setting the next billing date is a bit different. Send the `snap_day` attribute to change the calendar billing date for **a subscription using a product eligible for calendar billing**.
-> Note: If you change the product associated with a subscription that contains a `snap_day` and immediately `READ/GET` the subscription data, it will still contain original `snap_day`. The `snap_day` will reset to null on the next billing cycle. This is because a product change is instantaneous and only affects the product associated with a subscription.
+> Note: If you change the product associated with a subscription that contains a `snap_day` and immediately READ/GET the subscription data, it will still contain the original `snap_day`. The `snap_day` will be reset to `null` on the next billing cycle. This is because a product change is instantaneous and only affects the product associated with a subscription.
+
+If you have the new [Catalog experience](page:help/announcements/2026-announcements#new-catalog-experience-and-terminology) enabled, some subscriptions may not have an associated product. For subscriptions without an associated product, `product`, `product_price_point_id`, and `product_price_point_type` are returned as `null`.
```java
SubscriptionResponse updateSubscription(
@@ -528,6 +570,8 @@ try {
Retrieves subscription details.
+If you have the new [Catalog experience](page:help/announcements/2026-announcements#new-catalog-experience-and-terminology) enabled, some subscriptions may not have an associated product. For subscriptions without an associated product, 'product', 'product_price_point_id', and 'product_price_point_type' are returned as 'null'.
+
## Self-Service Page token
Self-Service Page token for the subscription is not returned by default. If this information is desired, the include[]=self_service_page_token parameter must be provided with the request.
@@ -834,7 +878,7 @@ try {
Purges an individual subscription for sites in test mode.
-Provide the subscription ID in the url. To confirm, supply the customer ID in the query string `ack` parameter. You may also delete the customer record and/or payment profiles by passing `cascade` parameters. For example, to delete just the customer record, the query params would be: `?ack={customer_id}&cascade[]=customer`
+Provide the subscription ID in the URL. To confirm, supply the customer ID in the query string `ack` parameter. You may also delete the customer record and/or payment profiles by passing `cascade` parameters. For example, to delete just the customer record, the query params would be: `?ack={customer_id}&cascade[]=customer`
If you need to remove subscriptions from a live site, contact support to discuss your use case.
@@ -970,27 +1014,43 @@ Previews a subscription by POSTing the same JSON or XML as for a subscription cr
The "Next Billing" amount and "Next Billing" date are represented in each Subscriber's Summary.
-A subscription will not be created by utilizing this endpoint; it is meant to serve as a prediction.
+This endpoint does not create a subscription; it is meant to serve as a prediction.
+
+For more information, see [Subscriber Interface Overview](https://maxio.zendesk.com/hc/en-us/articles/24252493695757-Subscriber-Interface-Overview).
-For more information, see our documentation [here](https://maxio.zendesk.com/hc/en-us/articles/24252493695757-Subscriber-Interface-Overview).
+## Subscriptions can now work independently from the catalog
+
+If you have the new [Catalog experience](page:help/announcements/2026-announcements#new-catalog-experience-and-terminology) enabled, you can create subscriptions without a `product_id` or `product_handle` using POST /subscriptions, building them entirely from components.
+
+A valid subscription must include at least one active component with:
+
+- a positive `allocated_quantity`,
+- a positive `unit_balance`, or
+- 'enabled: true' (for on/off components)
+
+`component_id` can be provided as a numeric ID or in handle: format. If `trial_interval` and `trial_interval_unit` are included, they are applied at creation.
+
+In the response, product and product price point fields are null, and component details are returned instead.
+
+This functionality is supported in the API, but is not currently supported in SDKs.
## Taxable Subscriptions
-This endpoint will preview taxes applicable to a purchase. In order for taxes to be previewed, the following conditions must be met:
+This endpoint previews taxes applicable to a purchase. For taxes to be previewed, the following conditions must be met:
+ Taxes must be configured on the subscription
+ The preview must be for the purchase of a taxable product or component, or combination of the two.
-+ The subscription payload must contain a full billing or shipping address in order to calculate tax
++ The subscription payload must contain a full billing or shipping address to calculate tax
-For more information about creating taxable previews, see our documentation guide on how to create [taxable subscriptions.](https://maxio.zendesk.com/hc/en-us/sections/24287012349325-Taxes)
+For more information about creating taxable previews, see [Taxes](https://maxio.zendesk.com/hc/en-us/sections/24287012349325-Taxes).
-You do **not** need to include a card number to generate tax information when you are previewing a subscription. However, when you actually want to create the subscription, you must include the credit card information if you want the billing address to be stored in Advanced Billing. The billing address and the credit card information are stored together within the payment profile object. Also, you may not send a billing address to Advanced Billing without payment profile information, as the address is stored on the card.
+You do **not** need to include a card number to generate tax information when you are previewing a subscription. However, when you actually want to create the subscription, you must include the credit card information if you want the billing address to be stored. The billing address and the credit card information are stored together within the payment profile object. Also, you cannot send a billing address without payment profile information, as the address is stored on the card.
You can pass shipping and billing addresses and still decide not to calculate taxes. To do that, pass `skip_billing_manifest_taxes: true` attribute.
## Non-taxable Subscriptions
-If you'd like to calculate subscriptions that do not include tax you may leave off the billing information.
+If you'd like to calculate subscriptions that do not include tax, you can leave off the billing information.
```java
SubscriptionPreviewResponse previewSubscription(
@@ -1371,7 +1431,7 @@ try {
Removes a coupon from an existing subscription.
-For more information on the expected behavior of removing a coupon from a subscription, see our documentation [here.](https://maxio.zendesk.com/hc/en-us/articles/24261259337101-Coupons-and-Subscriptions#removing-a-coupon)
+For more information on the expected behavior of removing a coupon from a subscription, see [Coupons and Subscriptions](https://maxio.zendesk.com/hc/en-us/articles/24261259337101-Coupons-and-Subscriptions#removing-a-coupon).
```java
String removeCouponFromSubscription(
@@ -1426,16 +1486,14 @@ try {
# Activate Subscription
-Activates awaiting signup and trialing subscriptions. This feature is only available on the Relationship Invoicing architecture. Subscriptions in a group may not be activated immediately.
-
-For details on how the activation works, and how to activate subscriptions through the application, see [activation](#).
+Activates awaiting signup and trialing subscriptions. This feature is only available on the Relationship Invoicing architecture. Subscriptions in a group cannot be activated immediately.
The `revert_on_failure` parameter controls the behavior upon activation failure.
-- If set to `true` and something goes wrong i.e. payment fails, then Advanced Billing will not change the subscription's state. The subscription’s billing period will also remain the same.
-- If set to `false` and something goes wrong i.e. payment fails, then Advanced Billing will continue through with the activation and enter an end of life state. For trialing subscriptions, that will either be trial ended (if the trial is no obligation), past due (if the trial has an obligation), or canceled (if the site has no dunning strategy, or has a strategy that says to cancel immediately). For awaiting signup subscriptions, that will always be canceled.
+- If set to `true` and something goes wrong i.e. payment fails, the subscription's state does not change. The subscription’s billing period also remains the same.
+- If set to `false` and something goes wrong i.e. payment fails, the activation continues and enters an end of life state. For trialing subscriptions, that is either trial ended (if the trial is no obligation), past due (if the trial has an obligation), or canceled (if the site has no dunning strategy, or has a strategy that says to cancel immediately). For awaiting signup subscriptions, that is always canceled.
-The default activation failure behavior can be configured per activation attempt, or you may set a default value under Config > Settings > Subscription Activation Settings.
+The default activation failure behavior can be configured per activation attempt, or you can set a default value under Config > Settings > Subscription Activation Settings.
## Activation Scenarios
@@ -1467,8 +1525,8 @@ The default activation failure behavior can be configured per activation attempt
### Activate Trialing subscription
-You can read more about the behavior of trialing subscriptions [here](https://maxio.zendesk.com/hc/en-us/articles/24252155721869-Trialing-Subscriptions).
-When the `revert_on_failure` parameter is set to `true`, the subscription's state will remain as Trialing, we will void the invoice from activation and return any prepayments and credits applied to the invoice back to the subscription.
+For more information about the behavior of trialing subscriptions, see [Trialing Subscriptions](https://maxio.zendesk.com/hc/en-us/articles/24252155721869-Trialing-Subscriptions).
+When the `revert_on_failure` parameter is set to `true`, the subscription's state remains Trialing; the invoice from activation is voided, and any prepayments and credits applied to the invoice are returned to the subscription.
```java
SubscriptionResponse activateSubscription(
diff --git a/doc/controllers/webhooks.md b/doc/controllers/webhooks.md
index e1f909b2..01252e30 100644
--- a/doc/controllers/webhooks.md
+++ b/doc/controllers/webhooks.md
@@ -74,7 +74,7 @@ try {
"last_sent_at": "2016-11-08T16:43:54-05:00",
"last_sent_url": "http://requestb.in/11u45x71",
"successful": false,
- "body": "id=141765032&event=statement_settled&payload[site][id]=31615&payload[site][subdomain]=general-goods&payload[subscription][id]=15100141&payload[subscription][state]=active&payload[subscription][balance_in_cents]=0&payload[customer][id]=14585695&payload[customer][first_name]=Pookie&payload[customer][last_name]=Test&payload[customer][reference]=&payload[customer][organization]=&payload[customer][address]=&payload[customer][address_2]=&payload[customer][city]=&payload[customer][state]=&payload[customer][zip]=&payload[customer][country]=&payload[customer][email]=pookie999%40example.com&payload[customer][phone]=&payload[statement][closed_at]=2016-11-08%2016%3A22%3A20%20-0500&payload[statement][created_at]=2016-11-08%2016%3A22%3A18%20-0500&payload[statement][id]=80168049&payload[statement][opened_at]=2016-11-07%2016%3A22%3A15%20-0500&payload[statement][settled_at]=2016-11-08%2016%3A22%3A20%20-0500&payload[statement][subscription_id]=15100141&payload[statement][updated_at]=2016-11-08%2016%3A22%3A20%20-0500&payload[statement][starting_balance_in_cents]=0&payload[statement][ending_balance_in_cents]=0&payload[statement][total_in_cents]=6400&payload[statement][memo]=We%20thank%20you%20for%20your%20continued%20business!&payload[statement][events][0][id]=346956565&payload[statement][events][0][key]=renewal_success&payload[statement][events][0][message]=Successful%20renewal%20for%20Pookie%20Test's%20subscription%20to%20%2410%20Basic%20Plan&payload[statement][events][1][id]=346956579&payload[statement][events][1][key]=payment_success&payload[statement][events][1][message]=Successful%20payment%20of%20%2464.00%20for%20Pookie%20Test's%20subscription%20to%20%2410%20Basic%20Plan&payload[statement][events][2][id]=347299359&payload[statement][events][2][key]=renewal_success&payload[statement][events][2][message]=Successful%20renewal%20for%20Pookie%20Test's%20subscription%20to%20%2410%20Basic%20Plan&payload[statement][transactions][0][id]=161537343&payload[statement][transactions][0][subscription_id]=15100141&payload[statement][transactions][0][type]=Charge&payload[statement][transactions][0][kind]=baseline&payload[statement][transactions][0][transaction_type]=charge&payload[statement][transactions][0][success]=true&payload[statement][transactions][0][amount_in_cents]=1000&payload[statement][transactions][0][memo]=%2410%20Basic%20Plan%20(11%2F08%2F2016%20-%2011%2F09%2F2016)&payload[statement][transactions][0][created_at]=2016-11-08%2016%3A22%3A18%20-0500&payload[statement][transactions][0][starting_balance_in_cents]=0&payload[statement][transactions][0][ending_balance_in_cents]=1000&payload[statement][transactions][0][gateway_used]=&payload[statement][transactions][0][gateway_transaction_id]=&payload[statement][transactions][0][gateway_order_id]=&payload[statement][transactions][0][payment_id]=161537369&payload[statement][transactions][0][product_id]=3792003&payload[statement][transactions][0][tax_id]=&payload[statement][transactions][0][component_id]=&payload[statement][transactions][0][statement_id]=80168049&payload[statement][transactions][0][customer_id]=14585695&payload[statement][transactions][0][original_amount_in_cents]=&payload[statement][transactions][0][discount_amount_in_cents]=&payload[statement][transactions][0][taxable_amount_in_cents]=&payload[statement][transactions][1][id]=161537344&payload[statement][transactions][1][subscription_id]=15100141&payload[statement][transactions][1][type]=Charge&payload[statement][transactions][1][kind]=quantity_based_component&payload[statement][transactions][1][transaction_type]=charge&payload[statement][transactions][1][success]=true&payload[statement][transactions][1][amount_in_cents]=5400&payload[statement][transactions][1][memo]=Timesheet%20Users%3A%2018%20Timesheet%20Users&payload[statement][transactions][1][created_at]=2016-11-08%2016%3A22%3A18%20-0500&payload[statement][transactions][1][starting_balance_in_cents]=1000&payload[statement][transactions][1][ending_balance_in_cents]=6400&payload[statement][transactions][1][gateway_used]=&payload[statement][transactions][1][gateway_transaction_id]=&payload[statement][transactions][1][gateway_order_id]=&payload[statement][transactions][1][payment_id]=161537369&payload[statement][transactions][1][product_id]=3792003&payload[statement][transactions][1][tax_id]=&payload[statement][transactions][1][component_id]=277221&payload[statement][transactions][1][statement_id]=80168049&payload[statement][transactions][1][customer_id]=14585695&payload[statement][transactions][1][original_amount_in_cents]=&payload[statement][transactions][1][discount_amount_in_cents]=&payload[statement][transactions][1][taxable_amount_in_cents]=&payload[statement][transactions][2][id]=161537369&payload[statement][transactions][2][subscription_id]=15100141&payload[statement][transactions][2][type]=Payment&payload[statement][transactions][2][kind]=&payload[statement][transactions][2][transaction_type]=payment&payload[statement][transactions][2][success]=true&payload[statement][transactions][2][amount_in_cents]=6400&payload[statement][transactions][2][memo]=Pookie%20Test%20-%20%2410%20Basic%20Plan%3A%20Renewal%20payment&payload[statement][transactions][2][created_at]=2016-11-08%2016%3A22%3A20%20-0500&payload[statement][transactions][2][starting_balance_in_cents]=6400&payload[statement][transactions][2][ending_balance_in_cents]=0&payload[statement][transactions][2][gateway_used]=bogus&payload[statement][transactions][2][gateway_transaction_id]=53433&payload[statement][transactions][2][gateway_order_id]=&payload[statement][transactions][2][payment_id]=&payload[statement][transactions][2][product_id]=3792003&payload[statement][transactions][2][tax_id]=&payload[statement][transactions][2][component_id]=&payload[statement][transactions][2][statement_id]=80168049&payload[statement][transactions][2][customer_id]=14585695&payload[statement][transactions][2][card_number]=XXXX-XXXX-XXXX-1&payload[statement][transactions][2][card_expiration]=10%2F2020&payload[statement][transactions][2][card_type]=bogus&payload[statement][transactions][2][refunded_amount_in_cents]=0&payload[product][id]=3792003&payload[product][name]=%2410%20Basic%20Plan&payload[product_family][id]=527890&payload[product_family][name]=Acme%20Projects&payload[payment_profile][id]=10102821&payload[payment_profile][first_name]=Pookie&payload[payment_profile][last_name]=Test&payload[payment_profile][billing_address]=&payload[payment_profile][billing_address_2]=&payload[payment_profile][billing_city]=&payload[payment_profile][billing_country]=&payload[payment_profile][billing_state]=&payload[payment_profile][billing_zip]=&payload[event_id]=347299384",
+ "body": "id=141765032&event=statement_settled&payload[site][id]=31615&payload[site][subdomain]=general-goods&payload[subscription][id]=15100141&payload[subscription][state]=active&payload[subscription][balance_in_cents]=0&payload[customer][id]=14585695&payload[customer][first_name]=Alan&payload[customer][last_name]=Test&payload[customer][reference]=&payload[customer][organization]=&payload[customer][address]=&payload[customer][address_2]=&payload[customer][city]=&payload[customer][state]=&payload[customer][zip]=&payload[customer][country]=&payload[customer][email]=alan999%40example.com&payload[customer][phone]=&payload[statement][closed_at]=2016-11-08%2016%3A22%3A20%20-0500&payload[statement][created_at]=2016-11-08%2016%3A22%3A18%20-0500&payload[statement][id]=80168049&payload[statement][opened_at]=2016-11-07%2016%3A22%3A15%20-0500&payload[statement][settled_at]=2016-11-08%2016%3A22%3A20%20-0500&payload[statement][subscription_id]=15100141&payload[statement][updated_at]=2016-11-08%2016%3A22%3A20%20-0500&payload[statement][starting_balance_in_cents]=0&payload[statement][ending_balance_in_cents]=0&payload[statement][total_in_cents]=6400&payload[statement][memo]=We%20thank%20you%20for%20your%20continued%20business!&payload[statement][events][0][id]=346956565&payload[statement][events][0][key]=renewal_success&payload[statement][events][0][message]=Successful%20renewal%20for%20Alan%20Test's%20subscription%20to%20%2410%20Basic%20Plan&payload[statement][events][1][id]=346956579&payload[statement][events][1][key]=payment_success&payload[statement][events][1][message]=Successful%20payment%20of%20%2464.00%20for%20Alan%20Test's%20subscription%20to%20%2410%20Basic%20Plan&payload[statement][events][2][id]=347299359&payload[statement][events][2][key]=renewal_success&payload[statement][events][2][message]=Successful%20renewal%20for%20Alan%20Test's%20subscription%20to%20%2410%20Basic%20Plan&payload[statement][transactions][0][id]=161537343&payload[statement][transactions][0][subscription_id]=15100141&payload[statement][transactions][0][type]=Charge&payload[statement][transactions][0][kind]=baseline&payload[statement][transactions][0][transaction_type]=charge&payload[statement][transactions][0][success]=true&payload[statement][transactions][0][amount_in_cents]=1000&payload[statement][transactions][0][memo]=%2410%20Basic%20Plan%20(11%2F08%2F2016%20-%2011%2F09%2F2016)&payload[statement][transactions][0][created_at]=2016-11-08%2016%3A22%3A18%20-0500&payload[statement][transactions][0][starting_balance_in_cents]=0&payload[statement][transactions][0][ending_balance_in_cents]=1000&payload[statement][transactions][0][gateway_used]=&payload[statement][transactions][0][gateway_transaction_id]=&payload[statement][transactions][0][gateway_order_id]=&payload[statement][transactions][0][payment_id]=161537369&payload[statement][transactions][0][product_id]=3792003&payload[statement][transactions][0][tax_id]=&payload[statement][transactions][0][component_id]=&payload[statement][transactions][0][statement_id]=80168049&payload[statement][transactions][0][customer_id]=14585695&payload[statement][transactions][0][original_amount_in_cents]=&payload[statement][transactions][0][discount_amount_in_cents]=&payload[statement][transactions][0][taxable_amount_in_cents]=&payload[statement][transactions][1][id]=161537344&payload[statement][transactions][1][subscription_id]=15100141&payload[statement][transactions][1][type]=Charge&payload[statement][transactions][1][kind]=quantity_based_component&payload[statement][transactions][1][transaction_type]=charge&payload[statement][transactions][1][success]=true&payload[statement][transactions][1][amount_in_cents]=5400&payload[statement][transactions][1][memo]=Timesheet%20Users%3A%2018%20Timesheet%20Users&payload[statement][transactions][1][created_at]=2016-11-08%2016%3A22%3A18%20-0500&payload[statement][transactions][1][starting_balance_in_cents]=1000&payload[statement][transactions][1][ending_balance_in_cents]=6400&payload[statement][transactions][1][gateway_used]=&payload[statement][transactions][1][gateway_transaction_id]=&payload[statement][transactions][1][gateway_order_id]=&payload[statement][transactions][1][payment_id]=161537369&payload[statement][transactions][1][product_id]=3792003&payload[statement][transactions][1][tax_id]=&payload[statement][transactions][1][component_id]=277221&payload[statement][transactions][1][statement_id]=80168049&payload[statement][transactions][1][customer_id]=14585695&payload[statement][transactions][1][original_amount_in_cents]=&payload[statement][transactions][1][discount_amount_in_cents]=&payload[statement][transactions][1][taxable_amount_in_cents]=&payload[statement][transactions][2][id]=161537369&payload[statement][transactions][2][subscription_id]=15100141&payload[statement][transactions][2][type]=Payment&payload[statement][transactions][2][kind]=&payload[statement][transactions][2][transaction_type]=payment&payload[statement][transactions][2][success]=true&payload[statement][transactions][2][amount_in_cents]=6400&payload[statement][transactions][2][memo]=Alan%20Test%20-%20%2410%20Basic%20Plan%3A%20Renewal%20payment&payload[statement][transactions][2][created_at]=2016-11-08%2016%3A22%3A20%20-0500&payload[statement][transactions][2][starting_balance_in_cents]=6400&payload[statement][transactions][2][ending_balance_in_cents]=0&payload[statement][transactions][2][gateway_used]=bogus&payload[statement][transactions][2][gateway_transaction_id]=53433&payload[statement][transactions][2][gateway_order_id]=&payload[statement][transactions][2][payment_id]=&payload[statement][transactions][2][product_id]=3792003&payload[statement][transactions][2][tax_id]=&payload[statement][transactions][2][component_id]=&payload[statement][transactions][2][statement_id]=80168049&payload[statement][transactions][2][customer_id]=14585695&payload[statement][transactions][2][card_number]=XXXX-XXXX-XXXX-1&payload[statement][transactions][2][card_expiration]=10%2F2020&payload[statement][transactions][2][card_type]=bogus&payload[statement][transactions][2][refunded_amount_in_cents]=0&payload[product][id]=3792003&payload[product][name]=%2410%20Basic%20Plan&payload[product_family][id]=527890&payload[product_family][name]=Acme%20Projects&payload[payment_profile][id]=10102821&payload[payment_profile][first_name]=Alan&payload[payment_profile][last_name]=Test&payload[payment_profile][billing_address]=&payload[payment_profile][billing_address_2]=&payload[payment_profile][billing_city]=&payload[payment_profile][billing_country]=&payload[payment_profile][billing_state]=&payload[payment_profile][billing_zip]=&payload[event_id]=347299384",
"signature": "7c606ec4628ce75ec46e284097ce163a",
"signature_hmac_sha_256": "40f25e83dd324508bb2149e3e525821922fb210535ebfbfa81e7ab951996b41d"
}
@@ -90,7 +90,7 @@ try {
"last_sent_at": "2016-11-08T16:43:54-05:00",
"last_sent_url": "http://requestb.in/11u45x71",
"successful": false,
- "body": "id=141765008&event=payment_success&payload[site][id]=31615&payload[site][subdomain]=general-goods&payload[subscription][id]=15100141&payload[subscription][state]=active&payload[subscription][trial_started_at]=&payload[subscription][trial_ended_at]=&payload[subscription][activated_at]=2016-11-04%2017%3A06%3A43%20-0400&payload[subscription][created_at]=2016-11-04%2017%3A06%3A42%20-0400&payload[subscription][updated_at]=2016-11-08%2016%3A22%3A22%20-0500&payload[subscription][expires_at]=&payload[subscription][balance_in_cents]=0&payload[subscription][current_period_ends_at]=2016-11-09%2016%3A06%3A42%20-0500&payload[subscription][next_assessment_at]=2016-11-09%2016%3A06%3A42%20-0500&payload[subscription][canceled_at]=&payload[subscription][cancellation_message]=&payload[subscription][next_product_id]=&payload[subscription][cancel_at_end_of_period]=false&payload[subscription][payment_collection_method]=automatic&payload[subscription][snap_day]=&payload[subscription][cancellation_method]=&payload[subscription][current_period_started_at]=2016-11-08%2016%3A06%3A42%20-0500&payload[subscription][previous_state]=active&payload[subscription][signup_payment_id]=161034048&payload[subscription][signup_revenue]=64.00&payload[subscription][delayed_cancel_at]=&payload[subscription][coupon_code]=&payload[subscription][total_revenue_in_cents]=32000&payload[subscription][product_price_in_cents]=1000&payload[subscription][product_version_number]=7&payload[subscription][payment_type]=credit_card&payload[subscription][referral_code]=pggn84&payload[subscription][coupon_use_count]=&payload[subscription][coupon_uses_allowed]=&payload[subscription][customer][id]=14585695&payload[subscription][customer][first_name]=Test&payload[subscription][customer][last_name]=Test&payload[subscription][customer][organization]=&payload[subscription][customer][email]=pookie999%40example.com&payload[subscription][customer][created_at]=2016-11-04%2017%3A06%3A42%20-0400&payload[subscription][customer][updated_at]=2016-11-04%2017%3A06%3A45%20-0400&payload[subscription][customer][reference]=&payload[subscription][customer][address]=&payload[subscription][customer][address_2]=&payload[subscription][customer][city]=&payload[subscription][customer][state]=&payload[subscription][customer][zip]=&payload[subscription][customer][country]=&payload[subscription][customer][phone]=&payload[subscription][customer][portal_invite_last_sent_at]=2016-11-04%2017%3A06%3A45%20-0400&payload[subscription][customer][portal_invite_last_accepted_at]=&payload[subscription][customer][verified]=false&payload[subscription][customer][portal_customer_created_at]=2016-11-04%2017%3A06%3A45%20-0400&payload[subscription][customer][cc_emails]=&payload[subscription][product][id]=3792003&payload[subscription][product][name]=%2410%20Basic%20Plan&payload[subscription][product][handle]=basic&payload[subscription][product][description]=lorem%20ipsum&payload[subscription][product][accounting_code]=basic&payload[subscription][product][request_credit_card]=false&payload[subscription][product][expiration_interval]=&payload[subscription][product][expiration_interval_unit]=never&payload[subscription][product][created_at]=2016-03-24%2013%3A38%3A39%20-0400&payload[subscription][product][updated_at]=2016-11-03%2013%3A03%3A05%20-0400&payload[subscription][product][price_in_cents]=1000&payload[subscription][product][interval]=1&payload[subscription][product][interval_unit]=day&payload[subscription][product][initial_charge_in_cents]=&payload[subscription][product][trial_price_in_cents]=&payload[subscription][product][trial_interval]=&payload[subscription][product][trial_interval_unit]=month&payload[subscription][product][archived_at]=&payload[subscription][product][require_credit_card]=false&payload[subscription][product][return_params]=&payload[subscription][product][taxable]=false&payload[subscription][product][update_return_url]=&payload[subscription][product][initial_charge_after_trial]=false&payload[subscription][product][version_number]=7&payload[subscription][product][update_return_params]=&payload[subscription][product][product_family][id]=527890&payload[subscription][product][product_family][name]=Acme%20Projects&payload[subscription][product][product_family][description]=&payload[subscription][product][product_family][handle]=billing-plans&payload[subscription][product][product_family][accounting_code]=&payload[subscription][product][public_signup_pages][id]=281054&payload[subscription][product][public_signup_pages][return_url]=http%3A%2F%2Fwww.example.com%3Fsuccessfulsignup&payload[subscription][product][public_signup_pages][return_params]=&payload[subscription][product][public_signup_pages][url]=https%3A%2F%2Fgeneral-goods.chargify.com%2Fsubscribe%2Fkqvmfrbgd89q%2Fbasic&payload[subscription][product][public_signup_pages][id]=281240&payload[subscription][product][public_signup_pages][return_url]=&payload[subscription][product][public_signup_pages][return_params]=&payload[subscription][product][public_signup_pages][url]=https%3A%2F%2Fgeneral-goods.chargify.com%2Fsubscribe%2Fdkffht5dxfd8%2Fbasic&payload[subscription][product][public_signup_pages][id]=282694&payload[subscription][product][public_signup_pages][return_url]=&payload[subscription][product][public_signup_pages][return_params]=&payload[subscription][product][public_signup_pages][url]=https%3A%2F%2Fgeneral-goods.chargify.com%2Fsubscribe%2Fjwffwgdd95s8%2Fbasic&payload[subscription][credit_card][id]=10102821&payload[subscription][credit_card][first_name]=Pookie&payload[subscription][credit_card][last_name]=Test&payload[subscription][credit_card][masked_card_number]=XXXX-XXXX-XXXX-1&payload[subscription][credit_card][card_type]=bogus&payload[subscription][credit_card][expiration_month]=10&payload[subscription][credit_card][expiration_year]=2020&payload[subscription][credit_card][customer_id]=14585695&payload[subscription][credit_card][current_vault]=bogus&payload[subscription][credit_card][vault_token]=1&payload[subscription][credit_card][billing_address]=&payload[subscription][credit_card][billing_city]=&payload[subscription][credit_card][billing_state]=&payload[subscription][credit_card][billing_zip]=&payload[subscription][credit_card][billing_country]=&payload[subscription][credit_card][customer_vault_token]=&payload[subscription][credit_card][billing_address_2]=&payload[subscription][credit_card][payment_type]=credit_card&payload[subscription][credit_card][site_gateway_setting_id]=&payload[subscription][credit_card][gateway_handle]=&payload[transaction][id]=161537369&payload[transaction][subscription_id]=15100141&payload[transaction][type]=Payment&payload[transaction][kind]=&payload[transaction][transaction_type]=payment&payload[transaction][success]=true&payload[transaction][amount_in_cents]=6400&payload[transaction][memo]=Pookie%20Test%20-%20%2410%20Basic%20Plan%3A%20Renewal%20payment&payload[transaction][created_at]=2016-11-08%2016%3A22%3A20%20-0500&payload[transaction][starting_balance_in_cents]=6400&payload[transaction][ending_balance_in_cents]=0&payload[transaction][gateway_used]=bogus&payload[transaction][gateway_transaction_id]=53433&payload[transaction][gateway_response_code]=&payload[transaction][gateway_order_id]=&payload[transaction][payment_id]=&payload[transaction][product_id]=3792003&payload[transaction][tax_id]=&payload[transaction][component_id]=&payload[transaction][statement_id]=80168049&payload[transaction][customer_id]=14585695&payload[transaction][card_number]=XXXX-XXXX-XXXX-1&payload[transaction][card_expiration]=10%2F2020&payload[transaction][card_type]=bogus&payload[transaction][refunded_amount_in_cents]=0&payload[transaction][invoice_id]=&payload[event_id]=347299364",
+ "body": "id=141765008&event=payment_success&payload[site][id]=31615&payload[site][subdomain]=general-goods&payload[subscription][id]=15100141&payload[subscription][state]=active&payload[subscription][trial_started_at]=&payload[subscription][trial_ended_at]=&payload[subscription][activated_at]=2016-11-04%2017%3A06%3A43%20-0400&payload[subscription][created_at]=2016-11-04%2017%3A06%3A42%20-0400&payload[subscription][updated_at]=2016-11-08%2016%3A22%3A22%20-0500&payload[subscription][expires_at]=&payload[subscription][balance_in_cents]=0&payload[subscription][current_period_ends_at]=2016-11-09%2016%3A06%3A42%20-0500&payload[subscription][next_assessment_at]=2016-11-09%2016%3A06%3A42%20-0500&payload[subscription][canceled_at]=&payload[subscription][cancellation_message]=&payload[subscription][next_product_id]=&payload[subscription][cancel_at_end_of_period]=false&payload[subscription][payment_collection_method]=automatic&payload[subscription][snap_day]=&payload[subscription][cancellation_method]=&payload[subscription][current_period_started_at]=2016-11-08%2016%3A06%3A42%20-0500&payload[subscription][previous_state]=active&payload[subscription][signup_payment_id]=161034048&payload[subscription][signup_revenue]=64.00&payload[subscription][delayed_cancel_at]=&payload[subscription][coupon_code]=&payload[subscription][total_revenue_in_cents]=32000&payload[subscription][product_price_in_cents]=1000&payload[subscription][product_version_number]=7&payload[subscription][payment_type]=credit_card&payload[subscription][referral_code]=pggn84&payload[subscription][coupon_use_count]=&payload[subscription][coupon_uses_allowed]=&payload[subscription][customer][id]=14585695&payload[subscription][customer][first_name]=Test&payload[subscription][customer][last_name]=Test&payload[subscription][customer][organization]=&payload[subscription][customer][email]=alan999%40example.com&payload[subscription][customer][created_at]=2016-11-04%2017%3A06%3A42%20-0400&payload[subscription][customer][updated_at]=2016-11-04%2017%3A06%3A45%20-0400&payload[subscription][customer][reference]=&payload[subscription][customer][address]=&payload[subscription][customer][address_2]=&payload[subscription][customer][city]=&payload[subscription][customer][state]=&payload[subscription][customer][zip]=&payload[subscription][customer][country]=&payload[subscription][customer][phone]=&payload[subscription][customer][portal_invite_last_sent_at]=2016-11-04%2017%3A06%3A45%20-0400&payload[subscription][customer][portal_invite_last_accepted_at]=&payload[subscription][customer][verified]=false&payload[subscription][customer][portal_customer_created_at]=2016-11-04%2017%3A06%3A45%20-0400&payload[subscription][customer][cc_emails]=&payload[subscription][product][id]=3792003&payload[subscription][product][name]=%2410%20Basic%20Plan&payload[subscription][product][handle]=basic&payload[subscription][product][description]=lorem%20ipsum&payload[subscription][product][accounting_code]=basic&payload[subscription][product][request_credit_card]=false&payload[subscription][product][expiration_interval]=&payload[subscription][product][expiration_interval_unit]=never&payload[subscription][product][created_at]=2016-03-24%2013%3A38%3A39%20-0400&payload[subscription][product][updated_at]=2016-11-03%2013%3A03%3A05%20-0400&payload[subscription][product][price_in_cents]=1000&payload[subscription][product][interval]=1&payload[subscription][product][interval_unit]=day&payload[subscription][product][initial_charge_in_cents]=&payload[subscription][product][trial_price_in_cents]=&payload[subscription][product][trial_interval]=&payload[subscription][product][trial_interval_unit]=month&payload[subscription][product][archived_at]=&payload[subscription][product][require_credit_card]=false&payload[subscription][product][return_params]=&payload[subscription][product][taxable]=false&payload[subscription][product][update_return_url]=&payload[subscription][product][initial_charge_after_trial]=false&payload[subscription][product][version_number]=7&payload[subscription][product][update_return_params]=&payload[subscription][product][product_family][id]=527890&payload[subscription][product][product_family][name]=Acme%20Projects&payload[subscription][product][product_family][description]=&payload[subscription][product][product_family][handle]=billing-plans&payload[subscription][product][product_family][accounting_code]=&payload[subscription][product][public_signup_pages][id]=281054&payload[subscription][product][public_signup_pages][return_url]=http%3A%2F%2Fwww.example.com%3Fsuccessfulsignup&payload[subscription][product][public_signup_pages][return_params]=&payload[subscription][product][public_signup_pages][url]=https%3A%2F%2Fgeneral-goods.chargify.com%2Fsubscribe%2Fkqvmfrbgd89q%2Fbasic&payload[subscription][product][public_signup_pages][id]=281240&payload[subscription][product][public_signup_pages][return_url]=&payload[subscription][product][public_signup_pages][return_params]=&payload[subscription][product][public_signup_pages][url]=https%3A%2F%2Fgeneral-goods.chargify.com%2Fsubscribe%2Fdkffht5dxfd8%2Fbasic&payload[subscription][product][public_signup_pages][id]=282694&payload[subscription][product][public_signup_pages][return_url]=&payload[subscription][product][public_signup_pages][return_params]=&payload[subscription][product][public_signup_pages][url]=https%3A%2F%2Fgeneral-goods.chargify.com%2Fsubscribe%2Fjwffwgdd95s8%2Fbasic&payload[subscription][credit_card][id]=10102821&payload[subscription][credit_card][first_name]=Alan&payload[subscription][credit_card][last_name]=Test&payload[subscription][credit_card][masked_card_number]=XXXX-XXXX-XXXX-1&payload[subscription][credit_card][card_type]=bogus&payload[subscription][credit_card][expiration_month]=10&payload[subscription][credit_card][expiration_year]=2020&payload[subscription][credit_card][customer_id]=14585695&payload[subscription][credit_card][current_vault]=bogus&payload[subscription][credit_card][vault_token]=1&payload[subscription][credit_card][billing_address]=&payload[subscription][credit_card][billing_city]=&payload[subscription][credit_card][billing_state]=&payload[subscription][credit_card][billing_zip]=&payload[subscription][credit_card][billing_country]=&payload[subscription][credit_card][customer_vault_token]=&payload[subscription][credit_card][billing_address_2]=&payload[subscription][credit_card][payment_type]=credit_card&payload[subscription][credit_card][site_gateway_setting_id]=&payload[subscription][credit_card][gateway_handle]=&payload[transaction][id]=161537369&payload[transaction][subscription_id]=15100141&payload[transaction][type]=Payment&payload[transaction][kind]=&payload[transaction][transaction_type]=payment&payload[transaction][success]=true&payload[transaction][amount_in_cents]=6400&payload[transaction][memo]=Alan%20Test%20-%20%2410%20Basic%20Plan%3A%20Renewal%20payment&payload[transaction][created_at]=2016-11-08%2016%3A22%3A20%20-0500&payload[transaction][starting_balance_in_cents]=6400&payload[transaction][ending_balance_in_cents]=0&payload[transaction][gateway_used]=bogus&payload[transaction][gateway_transaction_id]=53433&payload[transaction][gateway_response_code]=&payload[transaction][gateway_order_id]=&payload[transaction][payment_id]=&payload[transaction][product_id]=3792003&payload[transaction][tax_id]=&payload[transaction][component_id]=&payload[transaction][statement_id]=80168049&payload[transaction][customer_id]=14585695&payload[transaction][card_number]=XXXX-XXXX-XXXX-1&payload[transaction][card_expiration]=10%2F2020&payload[transaction][card_type]=bogus&payload[transaction][refunded_amount_in_cents]=0&payload[transaction][invoice_id]=&payload[event_id]=347299364",
"signature": "fbcf2f6be579f9658cff90c4373e0ca2",
"signature_hmac_sha_256": "db96654f5456c5460062feb944ac8bb1418f9d181ae04a8ed982fe9ffdca8de1"
}
@@ -220,7 +220,7 @@ This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
-| `body` | [`CreateOrUpdateEndpointRequest`](../../doc/models/create-or-update-endpoint-request.md) | Body, Optional | Used to Create or Update Endpoint |
+| `body` | [`CreateOrUpdateEndpointRequest`](../../doc/models/create-or-update-endpoint-request.md) | Body, Optional | Used to Create or Update Endpoint. |
## Response Type
@@ -281,7 +281,7 @@ try {
# List Endpoints
-Returns created endpoints for a site.
+Lists endpoints configured for a site.
```java
List listEndpoints()
@@ -361,7 +361,7 @@ This endpoint requires [BasicAuth](../../doc/auth/basic-authentication.md)
| Parameter | Type | Tags | Description |
| --- | --- | --- | --- |
| `endpointId` | `int` | Template, Required | The Advanced Billing id for the endpoint that should be updated |
-| `body` | [`CreateOrUpdateEndpointRequest`](../../doc/models/create-or-update-endpoint-request.md) | Body, Optional | Used to Create or Update Endpoint |
+| `body` | [`CreateOrUpdateEndpointRequest`](../../doc/models/create-or-update-endpoint-request.md) | Body, Optional | Used to Create or Update Endpoint. |
## Response Type
diff --git a/doc/models/account-balance.md b/doc/models/account-balance.md
index 073a056c..ccf9dd23 100644
--- a/doc/models/account-balance.md
+++ b/doc/models/account-balance.md
@@ -13,13 +13,15 @@
| `AutomaticBalanceInCents` | `Long` | Optional | The automatic balance in cents. | Long getAutomaticBalanceInCents() | setAutomaticBalanceInCents(Long automaticBalanceInCents) |
| `RemittanceBalanceInCents` | `Long` | Optional | The remittance balance in cents. | Long getRemittanceBalanceInCents() | setRemittanceBalanceInCents(Long remittanceBalanceInCents) |
-## Example (as JSON)
-
-```json
-{
- "balance_in_cents": 16,
- "automatic_balance_in_cents": 226,
- "remittance_balance_in_cents": 62
-}
+## Example
+
+```java
+import com.maxio.advancedbilling.models.AccountBalance;
+
+AccountBalance accountBalance = new AccountBalance.Builder()
+ .balanceInCents(242L)
+ .automaticBalanceInCents(0L)
+ .remittanceBalanceInCents(32L)
+ .build();
```
diff --git a/doc/models/account-balances.md b/doc/models/account-balances.md
index 912d7cb3..95db2793 100644
--- a/doc/models/account-balances.md
+++ b/doc/models/account-balances.md
@@ -9,41 +9,44 @@
| Name | Type | Tags | Description | Getter | Setter |
| --- | --- | --- | --- | --- | --- |
-| `OpenInvoices` | [`AccountBalance`](../../doc/models/account-balance.md) | Optional | The balance, in cents, of the sum of the subscription's open, payable invoices. | AccountBalance getOpenInvoices() | setOpenInvoices(AccountBalance openInvoices) |
-| `PendingInvoices` | [`AccountBalance`](../../doc/models/account-balance.md) | Optional | The balance, in cents, of the sum of the subscription's pending, payable invoices. | AccountBalance getPendingInvoices() | setPendingInvoices(AccountBalance pendingInvoices) |
+| `OpenInvoices` | [`AccountBalance`](../../doc/models/account-balance.md) | Optional | The balance, in cents, of the sum of the subscription's open, payable invoices. | AccountBalance getOpenInvoices() | setOpenInvoices(AccountBalance openInvoices) |
+| `PendingInvoices` | [`AccountBalance`](../../doc/models/account-balance.md) | Optional | The balance, in cents, of the sum of the subscription's pending, payable invoices. | AccountBalance getPendingInvoices() | setPendingInvoices(AccountBalance pendingInvoices) |
| `PendingDiscounts` | [`AccountBalance`](../../doc/models/account-balance.md) | Optional | The balance, in cents, of the subscription's Pending Discount account. | AccountBalance getPendingDiscounts() | setPendingDiscounts(AccountBalance pendingDiscounts) |
| `ServiceCredits` | [`AccountBalance`](../../doc/models/account-balance.md) | Optional | The balance, in cents, of the subscription's Service Credit account. | AccountBalance getServiceCredits() | setServiceCredits(AccountBalance serviceCredits) |
| `Prepayments` | [`AccountBalance`](../../doc/models/account-balance.md) | Optional | The balance, in cents, of the subscription's Prepayment account. | AccountBalance getPrepayments() | setPrepayments(AccountBalance prepayments) |
-## Example (as JSON)
-
-```json
-{
- "open_invoices": {
- "balance_in_cents": 40,
- "automatic_balance_in_cents": 202,
- "remittance_balance_in_cents": 170
- },
- "pending_invoices": {
- "balance_in_cents": 0,
- "automatic_balance_in_cents": 242,
- "remittance_balance_in_cents": 46
- },
- "pending_discounts": {
- "balance_in_cents": 88,
- "automatic_balance_in_cents": 154,
- "remittance_balance_in_cents": 134
- },
- "service_credits": {
- "balance_in_cents": 84,
- "automatic_balance_in_cents": 70,
- "remittance_balance_in_cents": 38
- },
- "prepayments": {
- "balance_in_cents": 192,
- "automatic_balance_in_cents": 178,
- "remittance_balance_in_cents": 146
- }
-}
+## Example
+
+```java
+import com.maxio.advancedbilling.models.AccountBalance;
+import com.maxio.advancedbilling.models.AccountBalances;
+
+AccountBalances accountBalances = new AccountBalances.Builder()
+ .openInvoices(new AccountBalance.Builder()
+ .balanceInCents(40L)
+ .automaticBalanceInCents(202L)
+ .remittanceBalanceInCents(170L)
+ .build())
+ .pendingInvoices(new AccountBalance.Builder()
+ .balanceInCents(0L)
+ .automaticBalanceInCents(242L)
+ .remittanceBalanceInCents(46L)
+ .build())
+ .pendingDiscounts(new AccountBalance.Builder()
+ .balanceInCents(88L)
+ .automaticBalanceInCents(154L)
+ .remittanceBalanceInCents(134L)
+ .build())
+ .serviceCredits(new AccountBalance.Builder()
+ .balanceInCents(84L)
+ .automaticBalanceInCents(70L)
+ .remittanceBalanceInCents(38L)
+ .build())
+ .prepayments(new AccountBalance.Builder()
+ .balanceInCents(192L)
+ .automaticBalanceInCents(178L)
+ .remittanceBalanceInCents(146L)
+ .build())
+ .build();
```
diff --git a/doc/models/ach-agreement.md b/doc/models/ach-agreement.md
index b1a607ef..cb8f7ea0 100644
--- a/doc/models/ach-agreement.md
+++ b/doc/models/ach-agreement.md
@@ -16,14 +16,16 @@
| `AuthorizerLastName` | `String` | Optional | (Required when providing ACH agreement params) The last name of the person authorizing the ACH agreement. | String getAuthorizerLastName() | setAuthorizerLastName(String authorizerLastName) |
| `IpAddress` | `String` | Optional | (Required when providing ACH agreement params) The IP address of the person authorizing the ACH agreement. | String getIpAddress() | setIpAddress(String ipAddress) |
-## Example (as JSON)
-
-```json
-{
- "agreement_terms": "agreement_terms4",
- "authorizer_first_name": "authorizer_first_name2",
- "authorizer_last_name": "authorizer_last_name2",
- "ip_address": "ip_address2"
-}
+## Example
+
+```java
+import com.maxio.advancedbilling.models.ACHAgreement;
+
+ACHAgreement aCHAgreement = new ACHAgreement.Builder()
+ .agreementTerms("agreement_terms4")
+ .authorizerFirstName("authorizer_first_name2")
+ .authorizerLastName("authorizer_last_name2")
+ .ipAddress("ip_address2")
+ .build();
```
diff --git a/doc/models/activate-event-based-component.md b/doc/models/activate-event-based-component.md
index 70c1d433..16bf9455 100644
--- a/doc/models/activate-event-based-component.md
+++ b/doc/models/activate-event-based-component.md
@@ -13,33 +13,60 @@
| `BillingSchedule` | [`BillingSchedule`](../../doc/models/billing-schedule.md) | Optional | Billing schedule settings for component allocations or usages on multi-frequency subscriptions. Use this to start a component's billing period on a custom date instead of aligning with the product charge schedule. | BillingSchedule getBillingSchedule() | setBillingSchedule(BillingSchedule billingSchedule) |
| `CustomPrice` | [`ComponentCustomPrice`](../../doc/models/component-custom-price.md) | Optional | Create or update custom pricing unique to the subscription. Used in place of `price_point_id`. | ComponentCustomPrice getCustomPrice() | setCustomPrice(ComponentCustomPrice customPrice) |
-## Example (as JSON)
-
-```json
-{
- "price_point_id": 44,
- "billing_schedule": {
- "initial_billing_at": "2016-03-13"
- },
- "custom_price": {
- "tax_included": false,
- "pricing_scheme": "stairstep",
- "interval": 66,
- "interval_unit": "day",
- "list_price_point_id": 174,
- "prices": [
- {
- "starting_quantity": 242,
- "ending_quantity": 40,
- "unit_price": 23.26
- },
- {
- "starting_quantity": 242,
- "ending_quantity": 40,
- "unit_price": 23.26
- }
- ]
- }
-}
+## Example
+
+```java
+import com.maxio.advancedbilling.DateTimeHelper;
+import com.maxio.advancedbilling.models.ActivateEventBasedComponent;
+import com.maxio.advancedbilling.models.BillingSchedule;
+import com.maxio.advancedbilling.models.ComponentCustomPrice;
+import com.maxio.advancedbilling.models.IntervalUnit;
+import com.maxio.advancedbilling.models.Price;
+import com.maxio.advancedbilling.models.PricingScheme;
+import com.maxio.advancedbilling.models.containers.PriceEndingQuantity;
+import com.maxio.advancedbilling.models.containers.PriceStartingQuantity;
+import com.maxio.advancedbilling.models.containers.PriceUnitPrice;
+import java.util.Arrays;
+
+ActivateEventBasedComponent activateEventBasedComponent = new ActivateEventBasedComponent.Builder()
+ .pricePointId(68)
+ .billingSchedule(new BillingSchedule.Builder()
+ .initialBillingAt(DateTimeHelper.fromSimpleDate("2016-03-13"))
+ .build())
+ .customPrice(new ComponentCustomPrice.Builder(
+ Arrays.asList(
+ new Price.Builder(
+ PriceStartingQuantity.fromNumber(
+ 242
+ ),
+ PriceUnitPrice.fromPrecision(
+ 23.26D
+ )
+ )
+ .endingQuantity(PriceEndingQuantity.fromNumber(
+ 40
+ ))
+ .build(),
+ new Price.Builder(
+ PriceStartingQuantity.fromNumber(
+ 242
+ ),
+ PriceUnitPrice.fromPrecision(
+ 23.26D
+ )
+ )
+ .endingQuantity(PriceEndingQuantity.fromNumber(
+ 40
+ ))
+ .build()
+ )
+ )
+ .taxIncluded(false)
+ .pricingScheme(PricingScheme.STAIRSTEP)
+ .interval(66)
+ .intervalUnit(IntervalUnit.DAY)
+ .listPricePointId(174)
+ .build())
+ .build();
```
diff --git a/doc/models/activate-subscription-request.md b/doc/models/activate-subscription-request.md
index 06222000..ee416ac1 100644
--- a/doc/models/activate-subscription-request.md
+++ b/doc/models/activate-subscription-request.md
@@ -9,13 +9,15 @@
| Name | Type | Tags | Description | Getter | Setter |
| --- | --- | --- | --- | --- | --- |
-| `RevertOnFailure` | `Boolean` | Optional | You may choose how to handle the activation failure. `true` means do not change the subscription’s state and billing period. `false` means to continue through with the activation and enter an end of life state. If this parameter is omitted or `null` is passed it will default to value set in the site settings (default: `true`) | Boolean getRevertOnFailure() | setRevertOnFailure(Boolean revertOnFailure) |
+| `RevertOnFailure` | `Boolean` | Optional | You may choose how to handle the activation failure. `true` means do not change the subscription’s state and billing period. `false` means to continue through with the activation and enter an end-of-life state. If this parameter is omitted or `null` is passed it will default to the value set in the site settings (default: `true`). | Boolean getRevertOnFailure() | setRevertOnFailure(Boolean revertOnFailure) |
-## Example (as JSON)
+## Example
-```json
-{
- "revert_on_failure": false
-}
+```java
+import com.maxio.advancedbilling.models.ActivateSubscriptionRequest;
+
+ActivateSubscriptionRequest activateSubscriptionRequest = new ActivateSubscriptionRequest.Builder()
+ .revertOnFailure(false)
+ .build();
```
diff --git a/doc/models/add-coupons-request.md b/doc/models/add-coupons-request.md
index 3279a37c..d4b12f1f 100644
--- a/doc/models/add-coupons-request.md
+++ b/doc/models/add-coupons-request.md
@@ -11,14 +11,17 @@
| --- | --- | --- | --- | --- | --- |
| `Codes` | `List` | Optional | - | List getCodes() | setCodes(List codes) |
-## Example (as JSON)
-
-```json
-{
- "codes": [
- "codes0",
- "codes1"
- ]
-}
+## Example
+
+```java
+import com.maxio.advancedbilling.models.AddCouponsRequest;
+import java.util.Arrays;
+
+AddCouponsRequest addCouponsRequest = new AddCouponsRequest.Builder()
+ .codes(Arrays.asList(
+ "codes6",
+ "codes7"
+ ))
+ .build();
```
diff --git a/doc/models/add-subscription-to-a-group.md b/doc/models/add-subscription-to-a-group.md
index 1dea9fa4..19427a74 100644
--- a/doc/models/add-subscription-to-a-group.md
+++ b/doc/models/add-subscription-to-a-group.md
@@ -11,21 +11,29 @@
| --- | --- | --- | --- | --- | --- |
| `Group` | [`GroupSettings`](../../doc/models/group-settings.md) | Optional | - | GroupSettings getGroup() | setGroup(GroupSettings group) |
-## Example (as JSON)
-
-```json
-{
- "group": {
- "target": {
- "type": "parent",
- "id": 236
- },
- "billing": {
- "accrue": false,
- "align_date": false,
- "prorate": false
- }
- }
-}
+## Example
+
+```java
+import com.maxio.advancedbilling.models.AddSubscriptionToAGroup;
+import com.maxio.advancedbilling.models.GroupBilling;
+import com.maxio.advancedbilling.models.GroupSettings;
+import com.maxio.advancedbilling.models.GroupTarget;
+import com.maxio.advancedbilling.models.GroupTargetType;
+
+AddSubscriptionToAGroup addSubscriptionToAGroup = new AddSubscriptionToAGroup.Builder()
+ .group(new GroupSettings.Builder(
+ new GroupTarget.Builder(
+ GroupTargetType.PARENT
+ )
+ .id(236)
+ .build()
+ )
+ .billing(new GroupBilling.Builder()
+ .accrue(false)
+ .alignDate(false)
+ .prorate(false)
+ .build())
+ .build())
+ .build();
```
diff --git a/doc/models/address-change.md b/doc/models/address-change.md
index 947fc099..bd01b0f4 100644
--- a/doc/models/address-change.md
+++ b/doc/models/address-change.md
@@ -12,24 +12,28 @@
| `Before` | [`InvoiceAddress`](../../doc/models/invoice-address.md) | Required | - | InvoiceAddress getBefore() | setBefore(InvoiceAddress before) |
| `After` | [`InvoiceAddress`](../../doc/models/invoice-address.md) | Required | - | InvoiceAddress getAfter() | setAfter(InvoiceAddress after) |
-## Example (as JSON)
-
-```json
-{
- "before": {
- "street": "street0",
- "line2": "line24",
- "city": "city0",
- "state": "state6",
- "zip": "zip4"
- },
- "after": {
- "street": "street2",
- "line2": "line26",
- "city": "city8",
- "state": "state2",
- "zip": "zip4"
- }
-}
+## Example
+
+```java
+import com.maxio.advancedbilling.models.AddressChange;
+import com.maxio.advancedbilling.models.InvoiceAddress;
+
+AddressChange addressChange = new AddressChange.Builder(
+ new InvoiceAddress.Builder()
+ .street("street0")
+ .line2("line24")
+ .city("city0")
+ .state("state6")
+ .zip("zip4")
+ .build(),
+ new InvoiceAddress.Builder()
+ .street("street2")
+ .line2("line26")
+ .city("city8")
+ .state("state2")
+ .zip("zip4")
+ .build()
+)
+.build();
```
diff --git a/doc/models/agreement-acceptance.md b/doc/models/agreement-acceptance.md
index ca685a41..2c814f77 100644
--- a/doc/models/agreement-acceptance.md
+++ b/doc/models/agreement-acceptance.md
@@ -12,21 +12,23 @@ Required when creating a subscription with Maxio Payments.
| Name | Type | Tags | Description | Getter | Setter |
| --- | --- | --- | --- | --- | --- |
| `IpAddress` | `String` | Optional | Required when providing agreement acceptance params. | String getIpAddress() | setIpAddress(String ipAddress) |
-| `TermsUrl` | `String` | Optional | Required when creating a subscription with Maxio Payments. Either terms_url or provacy_policy_url required when providing agreement_acceptance params. | String getTermsUrl() | setTermsUrl(String termsUrl) |
+| `TermsUrl` | `String` | Optional | Required when creating a subscription with Maxio Payments. Either terms_url or privacy_policy_url is required when providing agreement_acceptance params. | String getTermsUrl() | setTermsUrl(String termsUrl) |
| `PrivacyPolicyUrl` | `String` | Optional | - | String getPrivacyPolicyUrl() | setPrivacyPolicyUrl(String privacyPolicyUrl) |
| `ReturnRefundPolicyUrl` | `String` | Optional | - | String getReturnRefundPolicyUrl() | setReturnRefundPolicyUrl(String returnRefundPolicyUrl) |
| `DeliveryPolicyUrl` | `String` | Optional | - | String getDeliveryPolicyUrl() | setDeliveryPolicyUrl(String deliveryPolicyUrl) |
| `SecureCheckoutPolicyUrl` | `String` | Optional | - | String getSecureCheckoutPolicyUrl() | setSecureCheckoutPolicyUrl(String secureCheckoutPolicyUrl) |
-## Example (as JSON)
+## Example
-```json
-{
- "ip_address": "ip_address2",
- "terms_url": "terms_url0",
- "privacy_policy_url": "privacy_policy_url0",
- "return_refund_policy_url": "return_refund_policy_url4",
- "delivery_policy_url": "delivery_policy_url8"
-}
+```java
+import com.maxio.advancedbilling.models.AgreementAcceptance;
+
+AgreementAcceptance agreementAcceptance = new AgreementAcceptance.Builder()
+ .ipAddress("ip_address8")
+ .termsUrl("terms_url6")
+ .privacyPolicyUrl("privacy_policy_url4")
+ .returnRefundPolicyUrl("return_refund_policy_url0")
+ .deliveryPolicyUrl("delivery_policy_url4")
+ .build();
```
diff --git a/doc/models/all-vaults.md b/doc/models/all-vaults.md
index 5e5e19d0..eceba6af 100644
--- a/doc/models/all-vaults.md
+++ b/doc/models/all-vaults.md
@@ -46,3 +46,11 @@ The vault that stores the payment profile with the provided `vault_token`. Use `
| `UNIPAAS` |
| `WIRECARD` |
+## Example
+
+```java
+import com.maxio.advancedbilling.models.AllVaults;
+
+AllVaults allVaults = AllVaults.EWAY_RAPID_STD;
+```
+
diff --git a/doc/models/allocate-components.md b/doc/models/allocate-components.md
index 2a95318a..9f2d7390 100644
--- a/doc/models/allocate-components.md
+++ b/doc/models/allocate-components.md
@@ -15,35 +15,51 @@
| `AccrueCharge` | `Boolean` | Optional | - | Boolean getAccrueCharge() | setAccrueCharge(Boolean accrueCharge) |
| `UpgradeCharge` | [`CreditType`](../../doc/models/credit-type.md) | Optional | The type of credit to be created when upgrading/downgrading. Defaults to the component and then site setting if one is not provided. | CreditType getUpgradeCharge() | setUpgradeCharge(CreditType upgradeCharge) |
| `DowngradeCredit` | [`CreditType`](../../doc/models/credit-type.md) | Optional | The type of credit to be created when upgrading/downgrading. Defaults to the component and then site setting if one is not provided. | CreditType getDowngradeCredit() | setDowngradeCredit(CreditType downgradeCredit) |
-| `PaymentCollectionMethod` | [`CollectionMethod`](../../doc/models/collection-method.md) | Optional | (Optional) If not passed, the allocation(s) will use the payment collection method on the subscription | CollectionMethod getPaymentCollectionMethod() | setPaymentCollectionMethod(CollectionMethod paymentCollectionMethod) |
+| `PaymentCollectionMethod` | [`CollectionMethod`](../../doc/models/collection-method.md) | Optional | (Optional) If not passed, the allocation(s) will use the payment collection method on the subscription. | CollectionMethod getPaymentCollectionMethod() | setPaymentCollectionMethod(CollectionMethod paymentCollectionMethod) |
| `InitiateDunning` | `Boolean` | Optional | If true, if the immediate component payment fails, initiate dunning for the subscription. Otherwise, leave the charges on the subscription to pay for at renewal. | Boolean getInitiateDunning() | setInitiateDunning(Boolean initiateDunning) |
-## Example (as JSON)
-
-```json
-{
- "proration_upgrade_scheme": "proration_upgrade_scheme2",
- "proration_downgrade_scheme": "proration_downgrade_scheme0",
- "allocations": [
- {
- "quantity": 26.48,
- "decimal_quantity": "decimal_quantity8",
- "previous_quantity": 55.5,
- "decimal_previous_quantity": "decimal_previous_quantity2",
- "component_id": 242,
- "memo": "memo6"
- },
- {
- "quantity": 26.48,
- "decimal_quantity": "decimal_quantity8",
- "previous_quantity": 55.5,
- "decimal_previous_quantity": "decimal_previous_quantity2",
- "component_id": 242,
- "memo": "memo6"
- }
- ],
- "accrue_charge": false,
- "upgrade_charge": "full"
-}
+## Example
+
+```java
+import com.maxio.advancedbilling.models.AllocateComponents;
+import com.maxio.advancedbilling.models.CreateAllocation;
+import com.maxio.advancedbilling.models.CreditType;
+import java.util.Arrays;
+
+AllocateComponents allocateComponents = new AllocateComponents.Builder()
+ .prorationUpgradeScheme("proration_upgrade_scheme8")
+ .prorationDowngradeScheme("proration_downgrade_scheme6")
+ .allocations(Arrays.asList(
+ new CreateAllocation.Builder(
+ 26.48D
+ )
+ .decimalQuantity("decimal_quantity8")
+ .previousQuantity(55.5D)
+ .decimalPreviousQuantity("decimal_previous_quantity2")
+ .componentId(242)
+ .memo("memo6")
+ .build(),
+ new CreateAllocation.Builder(
+ 26.48D
+ )
+ .decimalQuantity("decimal_quantity8")
+ .previousQuantity(55.5D)
+ .decimalPreviousQuantity("decimal_previous_quantity2")
+ .componentId(242)
+ .memo("memo6")
+ .build(),
+ new CreateAllocation.Builder(
+ 26.48D
+ )
+ .decimalQuantity("decimal_quantity8")
+ .previousQuantity(55.5D)
+ .decimalPreviousQuantity("decimal_previous_quantity2")
+ .componentId(242)
+ .memo("memo6")
+ .build()
+ ))
+ .accrueCharge(false)
+ .upgradeCharge(CreditType.PRORATED)
+ .build();
```
diff --git a/doc/models/allocation-expiration-date.md b/doc/models/allocation-expiration-date.md
index 60d8cd94..c0a65f34 100644
--- a/doc/models/allocation-expiration-date.md
+++ b/doc/models/allocation-expiration-date.md
@@ -11,11 +11,14 @@
| --- | --- | --- | --- | --- | --- |
| `ExpiresAt` | `ZonedDateTime` | Optional | - | ZonedDateTime getExpiresAt() | setExpiresAt(ZonedDateTime expiresAt) |
-## Example (as JSON)
+## Example
-```json
-{
- "expires_at": "2016-03-13T12:52:32.123Z"
-}
+```java
+import com.maxio.advancedbilling.DateTimeHelper;
+import com.maxio.advancedbilling.models.AllocationExpirationDate;
+
+AllocationExpirationDate allocationExpirationDate = new AllocationExpirationDate.Builder()
+ .expiresAt(DateTimeHelper.fromRfc8601DateTime("2016-03-13T12:52:32.123Z"))
+ .build();
```
diff --git a/doc/models/allocation-preview-direction.md b/doc/models/allocation-preview-direction.md
index 2e124430..96b4e85b 100644
--- a/doc/models/allocation-preview-direction.md
+++ b/doc/models/allocation-preview-direction.md
@@ -12,3 +12,11 @@
| `UPGRADE` |
| `DOWNGRADE` |
+## Example
+
+```java
+import com.maxio.advancedbilling.models.AllocationPreviewDirection;
+
+AllocationPreviewDirection allocationPreviewDirection = AllocationPreviewDirection.UPGRADE;
+```
+
diff --git a/doc/models/allocation-preview-item.md b/doc/models/allocation-preview-item.md
index 5db12c03..2a550121 100644
--- a/doc/models/allocation-preview-item.md
+++ b/doc/models/allocation-preview-item.md
@@ -21,22 +21,30 @@
| `UpgradeCharge` | [`CreditType`](../../doc/models/credit-type.md) | Optional | The type of credit to be created when upgrading/downgrading. Defaults to the component and then site setting if one is not provided. | CreditType getUpgradeCharge() | setUpgradeCharge(CreditType upgradeCharge) |
| `DowngradeCredit` | [`CreditType`](../../doc/models/credit-type.md) | Optional | The type of credit to be created when upgrading/downgrading. Defaults to the component and then site setting if one is not provided. | CreditType getDowngradeCredit() | setDowngradeCredit(CreditType downgradeCredit) |
| `PricePointId` | `Integer` | Optional | - | Integer getPricePointId() | setPricePointId(Integer pricePointId) |
-| `Interval` | `Integer` | Optional | The numerical interval. i.e. an interval of ‘30’ coupled with an interval_unit of day would mean this component price point would renew every 30 days. This property is only available for sites with Multifrequency enabled. | Integer getInterval() | setInterval(Integer interval) |
+| `Interval` | `Integer` | Optional | The numerical interval. e.g., an interval of ‘30’ coupled with an interval_unit of day would mean this component price point would renew every 30 days. This property is only available for sites with Multifrequency enabled. | Integer getInterval() | setInterval(Integer interval) |
| `IntervalUnit` | [`IntervalUnit`](../../doc/models/interval-unit.md) | Optional | A string representing the interval unit for this component price point, either month or day. This property is only available for sites with Multifrequency enabled. | IntervalUnit getIntervalUnit() | setIntervalUnit(IntervalUnit intervalUnit) |
| `PreviousPricePointId` | `Integer` | Optional | - | Integer getPreviousPricePointId() | setPreviousPricePointId(Integer previousPricePointId) |
| `PricePointHandle` | `String` | Optional | - | String getPricePointHandle() | setPricePointHandle(String pricePointHandle) |
| `PricePointName` | `String` | Optional | - | String getPricePointName() | setPricePointName(String pricePointName) |
| `ComponentHandle` | `String` | Optional | - | String getComponentHandle() | setComponentHandle(String componentHandle) |
-## Example (as JSON)
-
-```json
-{
- "component_id": 54,
- "subscription_id": 54,
- "quantity": 78,
- "previous_quantity": 192,
- "memo": "memo6"
-}
+## Example
+
+```java
+import com.maxio.advancedbilling.models.AllocationPreviewItem;
+import com.maxio.advancedbilling.models.containers.AllocationPreviewItemPreviousQuantity;
+import com.maxio.advancedbilling.models.containers.AllocationPreviewItemQuantity;
+
+AllocationPreviewItem allocationPreviewItem = new AllocationPreviewItem.Builder()
+ .componentId(176)
+ .subscriptionId(176)
+ .quantity(AllocationPreviewItemQuantity.fromNumber(
+ 200
+ ))
+ .previousQuantity(AllocationPreviewItemPreviousQuantity.fromNumber(
+ 30
+ ))
+ .memo("memo8")
+ .build();
```
diff --git a/doc/models/allocation-preview-line-item-kind.md b/doc/models/allocation-preview-line-item-kind.md
index cc67eef1..1c7d59c5 100644
--- a/doc/models/allocation-preview-line-item-kind.md
+++ b/doc/models/allocation-preview-line-item-kind.md
@@ -16,3 +16,11 @@ A handle for the line item kind for allocation preview
| `COUPON` |
| `TAX` |
+## Example
+
+```java
+import com.maxio.advancedbilling.models.AllocationPreviewLineItemKind;
+
+AllocationPreviewLineItemKind allocationPreviewLineItemKind = AllocationPreviewLineItemKind.COUPON;
+```
+
diff --git a/doc/models/allocation-preview-line-item.md b/doc/models/allocation-preview-line-item.md
index 1f41de62..463b45f3 100644
--- a/doc/models/allocation-preview-line-item.md
+++ b/doc/models/allocation-preview-line-item.md
@@ -17,17 +17,21 @@
| `TaxableAmountInCents` | `Long` | Optional | - | Long getTaxableAmountInCents() | setTaxableAmountInCents(Long taxableAmountInCents) |
| `ComponentId` | `Integer` | Optional | - | Integer getComponentId() | setComponentId(Integer componentId) |
| `ComponentHandle` | `String` | Optional | - | String getComponentHandle() | setComponentHandle(String componentHandle) |
-| `Direction` | [`AllocationPreviewDirection`](../../doc/models/allocation-preview-direction.md) | Optional | Visible when using Fine-grained Component Control | AllocationPreviewDirection getDirection() | setDirection(AllocationPreviewDirection direction) |
-
-## Example (as JSON)
-
-```json
-{
- "transaction_type": "credit",
- "kind": "quantity_based_component",
- "amount_in_cents": 24,
- "memo": "memo6",
- "discount_amount_in_cents": 172
-}
+| `Direction` | [`AllocationPreviewDirection`](../../doc/models/allocation-preview-direction.md) | Optional | Visible when using Fine-grained Component Control. | AllocationPreviewDirection getDirection() | setDirection(AllocationPreviewDirection direction) |
+
+## Example
+
+```java
+import com.maxio.advancedbilling.models.AllocationPreviewLineItem;
+import com.maxio.advancedbilling.models.AllocationPreviewLineItemKind;
+import com.maxio.advancedbilling.models.LineItemTransactionType;
+
+AllocationPreviewLineItem allocationPreviewLineItem = new AllocationPreviewLineItem.Builder()
+ .transactionType(LineItemTransactionType.CREDIT)
+ .kind(AllocationPreviewLineItemKind.QUANTITY_BASED_COMPONENT)
+ .amountInCents(236L)
+ .memo("memo6")
+ .discountAmountInCents(40L)
+ .build();
```
diff --git a/doc/models/allocation-preview-response.md b/doc/models/allocation-preview-response.md
index 4882962f..fd98e443 100644
--- a/doc/models/allocation-preview-response.md
+++ b/doc/models/allocation-preview-response.md
@@ -11,17 +11,22 @@
| --- | --- | --- | --- | --- | --- |
| `AllocationPreview` | [`AllocationPreview`](../../doc/models/allocation-preview.md) | Required | - | AllocationPreview getAllocationPreview() | setAllocationPreview(AllocationPreview allocationPreview) |
-## Example (as JSON)
-
-```json
-{
- "allocation_preview": {
- "start_date": "2016-03-13T12:52:32.123Z",
- "end_date": "2016-03-13T12:52:32.123Z",
- "subtotal_in_cents": 240,
- "total_tax_in_cents": 108,
- "total_discount_in_cents": 142
- }
-}
+## Example
+
+```java
+import com.maxio.advancedbilling.DateTimeHelper;
+import com.maxio.advancedbilling.models.AllocationPreview;
+import com.maxio.advancedbilling.models.AllocationPreviewResponse;
+
+AllocationPreviewResponse allocationPreviewResponse = new AllocationPreviewResponse.Builder(
+ new AllocationPreview.Builder()
+ .startDate(DateTimeHelper.fromRfc8601DateTime("2016-03-13T12:52:32.123Z"))
+ .endDate(DateTimeHelper.fromRfc8601DateTime("2016-03-13T12:52:32.123Z"))
+ .subtotalInCents(240L)
+ .totalTaxInCents(108L)
+ .totalDiscountInCents(142L)
+ .build()
+)
+.build();
```
diff --git a/doc/models/allocation-preview.md b/doc/models/allocation-preview.md
index 4592c48a..1080ffa8 100644
--- a/doc/models/allocation-preview.md
+++ b/doc/models/allocation-preview.md
@@ -23,15 +23,18 @@
| `PeriodType` | `String` | Optional | - | String getPeriodType() | setPeriodType(String periodType) |
| `ExistingBalanceInCents` | `Long` | Optional | An integer representing the amount of the subscription's current balance | Long getExistingBalanceInCents() | setExistingBalanceInCents(Long existingBalanceInCents) |
-## Example (as JSON)
-
-```json
-{
- "start_date": "2016-03-13T12:52:32.123Z",
- "end_date": "2016-03-13T12:52:32.123Z",
- "subtotal_in_cents": 4,
- "total_tax_in_cents": 128,
- "total_discount_in_cents": 122
-}
+## Example
+
+```java
+import com.maxio.advancedbilling.DateTimeHelper;
+import com.maxio.advancedbilling.models.AllocationPreview;
+
+AllocationPreview allocationPreview = new AllocationPreview.Builder()
+ .startDate(DateTimeHelper.fromRfc8601DateTime("2016-03-13T12:52:32.123Z"))
+ .endDate(DateTimeHelper.fromRfc8601DateTime("2016-03-13T12:52:32.123Z"))
+ .subtotalInCents(140L)
+ .totalTaxInCents(8L)
+ .totalDiscountInCents(242L)
+ .build();
```
diff --git a/doc/models/allocation-response.md b/doc/models/allocation-response.md
index 07caa8b1..cd6b0630 100644
--- a/doc/models/allocation-response.md
+++ b/doc/models/allocation-response.md
@@ -11,17 +11,23 @@
| --- | --- | --- | --- | --- | --- |
| `Allocation` | [`Allocation`](../../doc/models/allocation.md) | Optional | - | Allocation getAllocation() | setAllocation(Allocation allocation) |
-## Example (as JSON)
-
-```json
-{
- "allocation": {
- "allocation_id": 238,
- "component_id": 8,
- "component_handle": "component_handle8",
- "subscription_id": 8,
- "quantity": 32
- }
-}
+## Example
+
+```java
+import com.maxio.advancedbilling.models.Allocation;
+import com.maxio.advancedbilling.models.AllocationResponse;
+import com.maxio.advancedbilling.models.containers.AllocationQuantity;
+
+AllocationResponse allocationResponse = new AllocationResponse.Builder()
+ .allocation(new Allocation.Builder()
+ .allocationId(238)
+ .componentId(8)
+ .componentHandle("component_handle8")
+ .subscriptionId(8)
+ .quantity(AllocationQuantity.fromNumber(
+ 32
+ ))
+ .build())
+ .build();
```
diff --git a/doc/models/allocation-settings.md b/doc/models/allocation-settings.md
index acadaa87..86871287 100644
--- a/doc/models/allocation-settings.md
+++ b/doc/models/allocation-settings.md
@@ -13,13 +13,16 @@
| `DowngradeCredit` | [`CreditType`](../../doc/models/credit-type.md) | Optional | The type of credit to be created when upgrading/downgrading. Defaults to the component and then site setting if one is not provided. | CreditType getDowngradeCredit() | setDowngradeCredit(CreditType downgradeCredit) |
| `AccrueCharge` | `String` | Optional | Either "true" or "false". | String getAccrueCharge() | setAccrueCharge(String accrueCharge) |
-## Example (as JSON)
-
-```json
-{
- "upgrade_charge": "none",
- "downgrade_credit": "prorated",
- "accrue_charge": "accrue_charge0"
-}
+## Example
+
+```java
+import com.maxio.advancedbilling.models.AllocationSettings;
+import com.maxio.advancedbilling.models.CreditType;
+
+AllocationSettings allocationSettings = new AllocationSettings.Builder()
+ .upgradeCharge(CreditType.PRORATED)
+ .downgradeCredit(CreditType.PRORATED)
+ .accrueCharge("accrue_charge2")
+ .build();
```
diff --git a/doc/models/allocation.md b/doc/models/allocation.md
index 6ad0e2ca..d3e784a4 100644
--- a/doc/models/allocation.md
+++ b/doc/models/allocation.md
@@ -9,21 +9,21 @@
| Name | Type | Tags | Description | Getter | Setter |
| --- | --- | --- | --- | --- | --- |
-| `AllocationId` | `Integer` | Optional | The allocation unique id | Integer getAllocationId() | setAllocationId(Integer allocationId) |
-| `ComponentId` | `Integer` | Optional | The integer component ID for the allocation. This references a component that you have created in your Product setup | Integer getComponentId() | setComponentId(Integer componentId) |
-| `ComponentHandle` | `String` | Optional | The handle of the component. This references a component that you have created in your Product setup | String getComponentHandle() | setComponentHandle(String componentHandle) |
-| `SubscriptionId` | `Integer` | Optional | The integer subscription ID for the allocation. This references a unique subscription in your Site | Integer getSubscriptionId() | setSubscriptionId(Integer subscriptionId) |
+| `AllocationId` | `Integer` | Optional | The allocation unique ID | Integer getAllocationId() | setAllocationId(Integer allocationId) |
+| `ComponentId` | `Integer` | Optional | The integer component ID for the allocation. This references a component that you have created in your Product setup. | Integer getComponentId() | setComponentId(Integer componentId) |
+| `ComponentHandle` | `String` | Optional | The handle of the component. This references a component that you have created in your Product setup. | String getComponentHandle() | setComponentHandle(String componentHandle) |
+| `SubscriptionId` | `Integer` | Optional | The integer subscription ID for the allocation. This references a unique subscription in your Site. | Integer getSubscriptionId() | setSubscriptionId(Integer subscriptionId) |
| `Quantity` | [`AllocationQuantity`](../../doc/models/containers/allocation-quantity.md) | Optional | This is a container for one-of cases. | AllocationQuantity getQuantity() | setQuantity(AllocationQuantity quantity) |
| `PreviousQuantity` | [`AllocationPreviousQuantity`](../../doc/models/containers/allocation-previous-quantity.md) | Optional | This is a container for one-of cases. | AllocationPreviousQuantity getPreviousQuantity() | setPreviousQuantity(AllocationPreviousQuantity previousQuantity) |
| `Memo` | `String` | Optional | The memo passed when the allocation was created | String getMemo() | setMemo(String memo) |
-| `Timestamp` | `ZonedDateTime` | Optional | The time that the allocation was recorded, in format and UTC timezone, i.e. 2012-11-20T22:00:37Z | ZonedDateTime getTimestamp() | setTimestamp(ZonedDateTime timestamp) |
+| `Timestamp` | `ZonedDateTime` | Optional | The time that the allocation was recorded, in ISO 8601 format and UTC timezone, e.g., 2012-11-20T22:00:37Z | ZonedDateTime getTimestamp() | setTimestamp(ZonedDateTime timestamp) |
| `CreatedAt` | `ZonedDateTime` | Optional | Timestamp indicating when this allocation was created | ZonedDateTime getCreatedAt() | setCreatedAt(ZonedDateTime createdAt) |
| `ProrationUpgradeScheme` | `String` | Optional | The scheme used if the proration was an upgrade. This is only present when the allocation was created mid-period. | String getProrationUpgradeScheme() | setProrationUpgradeScheme(String prorationUpgradeScheme) |
| `ProrationDowngradeScheme` | `String` | Optional | The scheme used if the proration was a downgrade. This is only present when the allocation was created mid-period. | String getProrationDowngradeScheme() | setProrationDowngradeScheme(String prorationDowngradeScheme) |
| `PricePointId` | `Integer` | Optional | - | Integer getPricePointId() | setPricePointId(Integer pricePointId) |
| `PricePointName` | `String` | Optional | - | String getPricePointName() | setPricePointName(String pricePointName) |
| `PricePointHandle` | `String` | Optional | - | String getPricePointHandle() | setPricePointHandle(String pricePointHandle) |
-| `Interval` | `Integer` | Optional | The numerical interval. i.e. an interval of ‘30’ coupled with an interval_unit of day would mean this component price point would renew every 30 days. This property is only available for sites with Multifrequency enabled. | Integer getInterval() | setInterval(Integer interval) |
+| `Interval` | `Integer` | Optional | The numerical interval. e.g., an interval of ‘30’ coupled with an interval_unit of day would mean this component price point would renew every 30 days. This property is only available for sites with Multifrequency enabled. | Integer getInterval() | setInterval(Integer interval) |
| `IntervalUnit` | [`IntervalUnit`](../../doc/models/interval-unit.md) | Optional | A string representing the interval unit for this component price point, either month or day. This property is only available for sites with Multifrequency enabled. | IntervalUnit getIntervalUnit() | setIntervalUnit(IntervalUnit intervalUnit) |
| `PreviousPricePointId` | `Integer` | Optional | - | Integer getPreviousPricePointId() | setPreviousPricePointId(Integer previousPricePointId) |
| `AccrueCharge` | `Boolean` | Optional | If the change in cost is an upgrade, this determines if the charge should accrue to the next renewal or if capture should be attempted immediately. | Boolean getAccrueCharge() | setAccrueCharge(Boolean accrueCharge) |
@@ -35,15 +35,20 @@
| `UsedQuantity` | `Long` | Optional | - | Long getUsedQuantity() | setUsedQuantity(Long usedQuantity) |
| `ChargeId` | `Long` | Optional | - | Long getChargeId() | setChargeId(Long chargeId) |
-## Example (as JSON)
-
-```json
-{
- "allocation_id": 102,
- "component_id": 144,
- "component_handle": "component_handle0",
- "subscription_id": 144,
- "quantity": 168
-}
+## Example
+
+```java
+import com.maxio.advancedbilling.models.Allocation;
+import com.maxio.advancedbilling.models.containers.AllocationQuantity;
+
+Allocation allocation = new Allocation.Builder()
+ .allocationId(238)
+ .componentId(8)
+ .componentHandle("component_handle8")
+ .subscriptionId(8)
+ .quantity(AllocationQuantity.fromNumber(
+ 32
+ ))
+ .build();
```
diff --git a/doc/models/apple-pay-payment-profile.md b/doc/models/apple-pay-payment-profile.md
index 29bb4079..3b01cf94 100644
--- a/doc/models/apple-pay-payment-profile.md
+++ b/doc/models/apple-pay-payment-profile.md
@@ -12,7 +12,7 @@
| `Id` | `Integer` | Optional | The Chargify-assigned ID of the Apple Pay payment profile. | Integer getId() | setId(Integer id) |
| `FirstName` | `String` | Optional | The first name of the Apple Pay account holder | String getFirstName() | setFirstName(String firstName) |
| `LastName` | `String` | Optional | The last name of the Apple Pay account holder | String getLastName() | setLastName(String lastName) |
-| `CustomerId` | `Integer` | Optional | The Chargify-assigned id for the customer record to which the Apple Pay account belongs | Integer getCustomerId() | setCustomerId(Integer customerId) |
+| `CustomerId` | `Integer` | Optional | The Chargify-assigned ID for the customer record to which the Apple Pay account belongs | Integer getCustomerId() | setCustomerId(Integer customerId) |
| `CurrentVault` | [`ApplePayVault`](../../doc/models/apple-pay-vault.md) | Optional | The vault that stores the payment profile with the provided vault_token. | ApplePayVault getCurrentVault() | setCurrentVault(ApplePayVault currentVault) |
| `VaultToken` | `String` | Optional | The “token” provided by your vault storage for an already stored payment profile | String getVaultToken() | setVaultToken(String vaultToken) |
| `BillingAddress` | `String` | Optional | The current billing street address for the Apple Pay account | String getBillingAddress() | setBillingAddress(String billingAddress) |
@@ -28,16 +28,21 @@
| `CreatedAt` | `ZonedDateTime` | Optional | A timestamp indicating when this payment profile was created | ZonedDateTime getCreatedAt() | setCreatedAt(ZonedDateTime createdAt) |
| `UpdatedAt` | `ZonedDateTime` | Optional | A timestamp indicating when this payment profile was last updated | ZonedDateTime getUpdatedAt() | setUpdatedAt(ZonedDateTime updatedAt) |
-## Example (as JSON)
-
-```json
-{
- "payment_type": "apple_pay",
- "id": 60,
- "first_name": "first_name2",
- "last_name": "last_name0",
- "customer_id": 98,
- "current_vault": "braintree_blue"
-}
+## Example
+
+```java
+import com.maxio.advancedbilling.models.ApplePayPaymentProfile;
+import com.maxio.advancedbilling.models.ApplePayVault;
+import com.maxio.advancedbilling.models.PaymentType;
+
+ApplePayPaymentProfile applePayPaymentProfile = new ApplePayPaymentProfile.Builder(
+ PaymentType.APPLE_PAY
+)
+.id(252)
+.firstName("first_name0")
+.lastName("last_name8")
+.customerId(34)
+.currentVault(ApplePayVault.BRAINTREE_BLUE)
+.build();
```
diff --git a/doc/models/apple-pay-vault.md b/doc/models/apple-pay-vault.md
index 9e66d7b5..cf371ef4 100644
--- a/doc/models/apple-pay-vault.md
+++ b/doc/models/apple-pay-vault.md
@@ -13,3 +13,11 @@ The vault that stores the payment profile with the provided vault_token.
| --- |
| `BRAINTREE_BLUE` |
+## Example
+
+```java
+import com.maxio.advancedbilling.models.ApplePayVault;
+
+ApplePayVault applePayVault = ApplePayVault.BRAINTREE_BLUE;
+```
+
diff --git a/doc/models/applied-credit-note-data.md b/doc/models/applied-credit-note-data.md
index 35c798bc..a904d1e0 100644
--- a/doc/models/applied-credit-note-data.md
+++ b/doc/models/applied-credit-note-data.md
@@ -12,12 +12,14 @@
| `Uid` | `String` | Optional | The UID of the credit note | String getUid() | setUid(String uid) |
| `Number` | `String` | Optional | The number of the credit note | String getNumber() | setNumber(String number) |
-## Example (as JSON)
+## Example
-```json
-{
- "uid": "uid2",
- "number": "number0"
-}
+```java
+import com.maxio.advancedbilling.models.AppliedCreditNoteData;
+
+AppliedCreditNoteData appliedCreditNoteData = new AppliedCreditNoteData.Builder()
+ .uid("uid4")
+ .number("number2")
+ .build();
```
diff --git a/doc/models/apply-credit-note-event-data.md b/doc/models/apply-credit-note-event-data.md
index a5062151..1a2e13fa 100644
--- a/doc/models/apply-credit-note-event-data.md
+++ b/doc/models/apply-credit-note-event-data.md
@@ -19,32 +19,42 @@ Example schema for an `apply_credit_note` event
| `TransactionTime` | `ZonedDateTime` | Optional | The time the credit note was applied, in ISO 8601 format, i.e. "2019-06-07T17:20:06Z" | ZonedDateTime getTransactionTime() | setTransactionTime(ZonedDateTime transactionTime) |
| `Memo` | `String` | Optional | The credit note memo. | String getMemo() | setMemo(String memo) |
| `Role` | `String` | Optional | The role of the credit note (e.g. 'general') | String getRole() | setRole(String role) |
-| `ConsolidatedInvoice` | `Boolean` | Optional | Shows whether it was applied to consolidated invoice or not | Boolean getConsolidatedInvoice() | setConsolidatedInvoice(Boolean consolidatedInvoice) |
+| `ConsolidatedInvoice` | `Boolean` | Optional | Shows whether it was applied to consolidated invoice or not. | Boolean getConsolidatedInvoice() | setConsolidatedInvoice(Boolean consolidatedInvoice) |
| `AppliedCreditNotes` | [`List`](../../doc/models/applied-credit-note-data.md) | Optional | List of credit notes applied to children invoices (if consolidated invoice) | List getAppliedCreditNotes() | setAppliedCreditNotes(List appliedCreditNotes) |
-## Example (as JSON)
-
-```json
-{
- "uid": "uid2",
- "credit_note_number": "credit_note_number4",
- "credit_note_uid": "credit_note_uid4",
- "original_amount": "original_amount6",
- "applied_amount": "applied_amount6",
- "transaction_time": "2016-03-13T12:52:32.123Z",
- "memo": "memo6",
- "role": "role4",
- "consolidated_invoice": false,
- "applied_credit_notes": [
- {
- "uid": "uid4",
- "number": "number8"
- },
- {
- "uid": "uid4",
- "number": "number8"
- }
- ]
-}
+## Example
+
+```java
+import com.maxio.advancedbilling.DateTimeHelper;
+import com.maxio.advancedbilling.models.AppliedCreditNoteData;
+import com.maxio.advancedbilling.models.ApplyCreditNoteEventData;
+import java.util.Arrays;
+
+ApplyCreditNoteEventData applyCreditNoteEventData = new ApplyCreditNoteEventData.Builder(
+ "uid0",
+ "credit_note_number6",
+ "credit_note_uid4",
+ "original_amount4",
+ "applied_amount8"
+)
+.transactionTime(DateTimeHelper.fromRfc8601DateTime("2016-03-13T12:52:32.123Z"))
+.memo("memo4")
+.role("role4")
+.consolidatedInvoice(false)
+.appliedCreditNotes(Arrays.asList(
+ new AppliedCreditNoteData.Builder()
+ .uid("uid4")
+ .number("number8")
+ .build(),
+ new AppliedCreditNoteData.Builder()
+ .uid("uid4")
+ .number("number8")
+ .build(),
+ new AppliedCreditNoteData.Builder()
+ .uid("uid4")
+ .number("number8")
+ .build()
+ ))
+.build();
```
diff --git a/doc/models/apply-credit-note-event.md b/doc/models/apply-credit-note-event.md
index 5c91f492..ab11d80d 100644
--- a/doc/models/apply-credit-note-event.md
+++ b/doc/models/apply-credit-note-event.md
@@ -15,49 +15,59 @@
| `EventType` | [`InvoiceEventType`](../../doc/models/invoice-event-type.md) | Required | **Default**: `InvoiceEventType.APPLY_CREDIT_NOTE` | InvoiceEventType getEventType() | setEventType(InvoiceEventType eventType) |
| `EventData` | [`ApplyCreditNoteEventData`](../../doc/models/apply-credit-note-event-data.md) | Required | Example schema for an `apply_credit_note` event | ApplyCreditNoteEventData getEventData() | setEventData(ApplyCreditNoteEventData eventData) |
-## Example (as JSON)
-
-```json
-{
- "id": 214,
- "timestamp": "2016-03-13T12:52:32.123Z",
- "invoice": {
- "issue_date": "2024-01-01",
- "due_date": "2024-01-01",
- "paid_date": "2024-01-01",
- "public_url_expires_on": "2024-01-21",
- "id": 166,
- "uid": "uid6",
- "site_id": 92,
- "customer_id": 204,
- "subscription_id": 20
- },
- "event_type": "apply_credit_note",
- "event_data": {
- "uid": "uid6",
- "credit_note_number": "credit_note_number0",
- "credit_note_uid": "credit_note_uid0",
- "original_amount": "original_amount0",
- "applied_amount": "applied_amount2",
- "transaction_time": "2016-03-13T12:52:32.123Z",
- "memo": "memo0",
- "role": "role0",
- "consolidated_invoice": false,
- "applied_credit_notes": [
- {
- "uid": "uid4",
- "number": "number8"
- },
- {
- "uid": "uid4",
- "number": "number8"
- },
- {
- "uid": "uid4",
- "number": "number8"
- }
- ]
- }
-}
+## Example
+
+```java
+import com.maxio.advancedbilling.DateTimeHelper;
+import com.maxio.advancedbilling.models.AppliedCreditNoteData;
+import com.maxio.advancedbilling.models.ApplyCreditNoteEvent;
+import com.maxio.advancedbilling.models.ApplyCreditNoteEventData;
+import com.maxio.advancedbilling.models.Invoice;
+import com.maxio.advancedbilling.models.InvoiceEventType;
+import java.util.Arrays;
+
+ApplyCreditNoteEvent applyCreditNoteEvent = new ApplyCreditNoteEvent.Builder(
+ 86L,
+ DateTimeHelper.fromRfc8601DateTime("2016-03-13T12:52:32.123Z"),
+ new Invoice.Builder()
+ .id(166L)
+ .uid("uid6")
+ .siteId(92)
+ .customerId(204)
+ .subscriptionId(20)
+ .issueDate(DateTimeHelper.fromSimpleDate("2024-01-01"))
+ .dueDate(DateTimeHelper.fromSimpleDate("2024-01-01"))
+ .paidDate(DateTimeHelper.fromSimpleDate("2024-01-01"))
+ .publicUrlExpiresOn(DateTimeHelper.fromSimpleDate("2024-01-21"))
+ .build(),
+ InvoiceEventType.APPLY_CREDIT_NOTE,
+ new ApplyCreditNoteEventData.Builder(
+ "uid6",
+ "credit_note_number0",
+ "credit_note_uid0",
+ "original_amount0",
+ "applied_amount2"
+ )
+ .transactionTime(DateTimeHelper.fromRfc8601DateTime("2016-03-13T12:52:32.123Z"))
+ .memo("memo0")
+ .role("role0")
+ .consolidatedInvoice(false)
+ .appliedCreditNotes(Arrays.asList(
+ new AppliedCreditNoteData.Builder()
+ .uid("uid4")
+ .number("number8")
+ .build(),
+ new AppliedCreditNoteData.Builder()
+ .uid("uid4")
+ .number("number8")
+ .build(),
+ new AppliedCreditNoteData.Builder()
+ .uid("uid4")
+ .number("number8")
+ .build()
+ ))
+ .build()
+)
+.build();
```
diff --git a/doc/models/apply-debit-note-event-data.md b/doc/models/apply-debit-note-event-data.md
index 77424344..97c68dcd 100644
--- a/doc/models/apply-debit-note-event-data.md
+++ b/doc/models/apply-debit-note-event-data.md
@@ -18,16 +18,20 @@ Example schema for an `apply_debit_note` event
| `Memo` | `String` | Optional | The debit note memo. | String getMemo() | setMemo(String memo) |
| `TransactionTime` | `ZonedDateTime` | Optional | The time the debit note was applied, in ISO 8601 format, i.e. "2019-06-07T17:20:06Z" | ZonedDateTime getTransactionTime() | setTransactionTime(ZonedDateTime transactionTime) |
-## Example (as JSON)
-
-```json
-{
- "debit_note_number": "debit_note_number0",
- "debit_note_uid": "debit_note_uid6",
- "original_amount": "original_amount4",
- "applied_amount": "applied_amount8",
- "memo": "memo4",
- "transaction_time": "2016-03-13T12:52:32.123Z"
-}
+## Example
+
+```java
+import com.maxio.advancedbilling.DateTimeHelper;
+import com.maxio.advancedbilling.models.ApplyDebitNoteEventData;
+
+ApplyDebitNoteEventData applyDebitNoteEventData = new ApplyDebitNoteEventData.Builder(
+ "debit_note_number8",
+ "debit_note_uid4",
+ "original_amount2",
+ "applied_amount0"
+)
+.memo("memo2")
+.transactionTime(DateTimeHelper.fromRfc8601DateTime("2016-03-13T12:52:32.123Z"))
+.build();
```
diff --git a/doc/models/apply-debit-note-event.md b/doc/models/apply-debit-note-event.md
index 98b4fac6..9e6e6896 100644
--- a/doc/models/apply-debit-note-event.md
+++ b/doc/models/apply-debit-note-event.md
@@ -15,32 +15,40 @@
| `EventType` | [`InvoiceEventType`](../../doc/models/invoice-event-type.md) | Required | **Default**: `InvoiceEventType.APPLY_DEBIT_NOTE` | InvoiceEventType getEventType() | setEventType(InvoiceEventType eventType) |
| `EventData` | [`ApplyDebitNoteEventData`](../../doc/models/apply-debit-note-event-data.md) | Required | Example schema for an `apply_debit_note` event | ApplyDebitNoteEventData getEventData() | setEventData(ApplyDebitNoteEventData eventData) |
-## Example (as JSON)
-
-```json
-{
- "id": 164,
- "timestamp": "2016-03-13T12:52:32.123Z",
- "invoice": {
- "issue_date": "2024-01-01",
- "due_date": "2024-01-01",
- "paid_date": "2024-01-01",
- "public_url_expires_on": "2024-01-21",
- "id": 166,
- "uid": "uid6",
- "site_id": 92,
- "customer_id": 204,
- "subscription_id": 20
- },
- "event_type": "apply_debit_note",
- "event_data": {
- "debit_note_number": "debit_note_number6",
- "debit_note_uid": "debit_note_uid2",
- "original_amount": "original_amount0",
- "applied_amount": "applied_amount2",
- "memo": "memo0",
- "transaction_time": "2016-03-13T12:52:32.123Z"
- }
-}
+## Example
+
+```java
+import com.maxio.advancedbilling.DateTimeHelper;
+import com.maxio.advancedbilling.models.ApplyDebitNoteEvent;
+import com.maxio.advancedbilling.models.ApplyDebitNoteEventData;
+import com.maxio.advancedbilling.models.Invoice;
+import com.maxio.advancedbilling.models.InvoiceEventType;
+
+ApplyDebitNoteEvent applyDebitNoteEvent = new ApplyDebitNoteEvent.Builder(
+ 180L,
+ DateTimeHelper.fromRfc8601DateTime("2016-03-13T12:52:32.123Z"),
+ new Invoice.Builder()
+ .id(166L)
+ .uid("uid6")
+ .siteId(92)
+ .customerId(204)
+ .subscriptionId(20)
+ .issueDate(DateTimeHelper.fromSimpleDate("2024-01-01"))
+ .dueDate(DateTimeHelper.fromSimpleDate("2024-01-01"))
+ .paidDate(DateTimeHelper.fromSimpleDate("2024-01-01"))
+ .publicUrlExpiresOn(DateTimeHelper.fromSimpleDate("2024-01-21"))
+ .build(),
+ InvoiceEventType.APPLY_DEBIT_NOTE,
+ new ApplyDebitNoteEventData.Builder(
+ "debit_note_number6",
+ "debit_note_uid2",
+ "original_amount0",
+ "applied_amount2"
+ )
+ .memo("memo0")
+ .transactionTime(DateTimeHelper.fromRfc8601DateTime("2016-03-13T12:52:32.123Z"))
+ .build()
+)
+.build();
```
diff --git a/doc/models/apply-payment-event-data.md b/doc/models/apply-payment-event-data.md
index 19f51f37..63cc17e3 100644
--- a/doc/models/apply-payment-event-data.md
+++ b/doc/models/apply-payment-event-data.md
@@ -23,23 +23,34 @@ Example schema for an `apply_payment` event
| `Prepayment` | `Boolean` | Optional | - | Boolean getPrepayment() | setPrepayment(Boolean prepayment) |
| `External` | `Boolean` | Optional | - | Boolean getExternal() | setExternal(Boolean external) |
-## Example (as JSON)
-
-```json
-{
- "consolidation_level": "child",
- "memo": "memo8",
- "original_amount": "original_amount8",
- "applied_amount": "applied_amount4",
- "transaction_time": "2016-03-13T12:52:32.123Z",
- "payment_method": {
- "type": "apple_pay"
- },
- "transaction_id": 196,
- "parent_invoice_number": 174,
- "remaining_prepayment_amount": "remaining_prepayment_amount6",
- "prepayment": false,
- "external": false
-}
+## Example
+
+```java
+import com.maxio.advancedbilling.DateTimeHelper;
+import com.maxio.advancedbilling.models.ApplyPaymentEventData;
+import com.maxio.advancedbilling.models.InvoiceConsolidationLevel;
+import com.maxio.advancedbilling.models.InvoiceEventPaymentMethod;
+import com.maxio.advancedbilling.models.PaymentMethodApplePay;
+import com.maxio.advancedbilling.models.containers.InvoiceEventPayment;
+
+ApplyPaymentEventData applyPaymentEventData = new ApplyPaymentEventData.Builder(
+ InvoiceConsolidationLevel.CHILD,
+ "memo0",
+ "original_amount0",
+ "applied_amount2",
+ DateTimeHelper.fromRfc8601DateTime("2016-03-13T12:52:32.123Z"),
+ InvoiceEventPayment.fromPaymentMethodApplePay(
+ new PaymentMethodApplePay.Builder(
+ InvoiceEventPaymentMethod.APPLE_PAY
+ )
+ .build()
+ )
+)
+.transactionId(142)
+.parentInvoiceNumber(228)
+.remainingPrepaymentAmount("remaining_prepayment_amount4")
+.prepayment(false)
+.external(false)
+.build();
```
diff --git a/doc/models/apply-payment-event.md b/doc/models/apply-payment-event.md
index 6adb25f5..4205d449 100644
--- a/doc/models/apply-payment-event.md
+++ b/doc/models/apply-payment-event.md
@@ -15,39 +15,54 @@
| `EventType` | [`InvoiceEventType`](../../doc/models/invoice-event-type.md) | Required | **Default**: `InvoiceEventType.APPLY_PAYMENT` | InvoiceEventType getEventType() | setEventType(InvoiceEventType eventType) |
| `EventData` | [`ApplyPaymentEventData`](../../doc/models/apply-payment-event-data.md) | Required | Example schema for an `apply_payment` event | ApplyPaymentEventData getEventData() | setEventData(ApplyPaymentEventData eventData) |
-## Example (as JSON)
-
-```json
-{
- "id": 234,
- "timestamp": "2016-03-13T12:52:32.123Z",
- "invoice": {
- "issue_date": "2024-01-01",
- "due_date": "2024-01-01",
- "paid_date": "2024-01-01",
- "public_url_expires_on": "2024-01-21",
- "id": 166,
- "uid": "uid6",
- "site_id": 92,
- "customer_id": 204,
- "subscription_id": 20
- },
- "event_type": "apply_payment",
- "event_data": {
- "consolidation_level": "child",
- "memo": "memo0",
- "original_amount": "original_amount0",
- "applied_amount": "applied_amount2",
- "transaction_time": "2016-03-13T12:52:32.123Z",
- "payment_method": {
- "type": "apple_pay"
- },
- "transaction_id": 78,
- "parent_invoice_number": 36,
- "remaining_prepayment_amount": "remaining_prepayment_amount6",
- "prepayment": false,
- "external": false
- }
-}
+## Example
+
+```java
+import com.maxio.advancedbilling.DateTimeHelper;
+import com.maxio.advancedbilling.models.ApplyPaymentEvent;
+import com.maxio.advancedbilling.models.ApplyPaymentEventData;
+import com.maxio.advancedbilling.models.Invoice;
+import com.maxio.advancedbilling.models.InvoiceConsolidationLevel;
+import com.maxio.advancedbilling.models.InvoiceEventPaymentMethod;
+import com.maxio.advancedbilling.models.InvoiceEventType;
+import com.maxio.advancedbilling.models.PaymentMethodApplePay;
+import com.maxio.advancedbilling.models.containers.InvoiceEventPayment;
+
+ApplyPaymentEvent applyPaymentEvent = new ApplyPaymentEvent.Builder(
+ 112L,
+ DateTimeHelper.fromRfc8601DateTime("2016-03-13T12:52:32.123Z"),
+ new Invoice.Builder()
+ .id(166L)
+ .uid("uid6")
+ .siteId(92)
+ .customerId(204)
+ .subscriptionId(20)
+ .issueDate(DateTimeHelper.fromSimpleDate("2024-01-01"))
+ .dueDate(DateTimeHelper.fromSimpleDate("2024-01-01"))
+ .paidDate(DateTimeHelper.fromSimpleDate("2024-01-01"))
+ .publicUrlExpiresOn(DateTimeHelper.fromSimpleDate("2024-01-21"))
+ .build(),
+ InvoiceEventType.APPLY_PAYMENT,
+ new ApplyPaymentEventData.Builder(
+ InvoiceConsolidationLevel.CHILD,
+ "memo0",
+ "original_amount0",
+ "applied_amount2",
+ DateTimeHelper.fromRfc8601DateTime("2016-03-13T12:52:32.123Z"),
+ InvoiceEventPayment.fromPaymentMethodApplePay(
+ new PaymentMethodApplePay.Builder(
+ InvoiceEventPaymentMethod.APPLE_PAY
+ )
+ .build()
+ )
+ )
+ .transactionId(78)
+ .parentInvoiceNumber(36)
+ .remainingPrepaymentAmount("remaining_prepayment_amount6")
+ .prepayment(false)
+ .external(false)
+ .build()
+)
+.build();
```
diff --git a/doc/models/attribute-error.md b/doc/models/attribute-error.md
index 87455701..5e7f411a 100644
--- a/doc/models/attribute-error.md
+++ b/doc/models/attribute-error.md
@@ -11,14 +11,18 @@
| --- | --- | --- | --- | --- | --- |
| `Attribute` | `List` | Required | - | List getAttribute() | setAttribute(List attribute) |
-## Example (as JSON)
-
-```json
-{
- "attribute": [
- "attribute6",
- "attribute7"
- ]
-}
+## Example
+
+```java
+import com.maxio.advancedbilling.models.AttributeError;
+import java.util.Arrays;
+
+AttributeError attributeError = new AttributeError.Builder(
+ Arrays.asList(
+ "attribute8",
+ "attribute7"
+ )
+)
+.build();
```
diff --git a/doc/models/auto-invite.md b/doc/models/auto-invite.md
index c467ad11..eb9a7c7c 100644
--- a/doc/models/auto-invite.md
+++ b/doc/models/auto-invite.md
@@ -12,3 +12,11 @@
| `NO` | Do not send the invitation email. |
| `YES` | Automatically send the invitation email. |
+## Example
+
+```java
+import com.maxio.advancedbilling.models.AutoInvite;
+
+AutoInvite autoInvite = AutoInvite.NO;
+```
+
diff --git a/doc/models/auto-resume.md b/doc/models/auto-resume.md
index ea2f2b91..fcb57e33 100644
--- a/doc/models/auto-resume.md
+++ b/doc/models/auto-resume.md
@@ -11,11 +11,14 @@
| --- | --- | --- | --- | --- | --- |
| `AutomaticallyResumeAt` | `ZonedDateTime` | Optional | - | ZonedDateTime getAutomaticallyResumeAt() | setAutomaticallyResumeAt(ZonedDateTime automaticallyResumeAt) |
-## Example (as JSON)
+## Example
-```json
-{
- "automatically_resume_at": "2016-03-13T12:52:32.123Z"
-}
+```java
+import com.maxio.advancedbilling.DateTimeHelper;
+import com.maxio.advancedbilling.models.AutoResume;
+
+AutoResume autoResume = new AutoResume.Builder()
+ .automaticallyResumeAt(DateTimeHelper.fromRfc8601DateTime("2016-03-13T12:52:32.123Z"))
+ .build();
```
diff --git a/doc/models/available-actions.md b/doc/models/available-actions.md
index 01a4a8ec..1ed66c07 100644
--- a/doc/models/available-actions.md
+++ b/doc/models/available-actions.md
@@ -11,14 +11,18 @@
| --- | --- | --- | --- | --- | --- |
| `SendEmail` | [`SendEmail`](../../doc/models/send-email.md) | Optional | - | SendEmail getSendEmail() | setSendEmail(SendEmail sendEmail) |
-## Example (as JSON)
-
-```json
-{
- "send_email": {
- "can_execute": false,
- "url": "url0"
- }
-}
+## Example
+
+```java
+import com.maxio.advancedbilling.models.AvailableActions;
+import com.maxio.advancedbilling.models.SendEmail;
+
+AvailableActions availableActions = new AvailableActions.Builder()
+ .sendEmail(new SendEmail.Builder(
+ false,
+ "url0"
+ )
+ .build())
+ .build();
```
diff --git a/doc/models/backport-invoice-event.md b/doc/models/backport-invoice-event.md
index b9494849..645c857d 100644
--- a/doc/models/backport-invoice-event.md
+++ b/doc/models/backport-invoice-event.md
@@ -15,35 +15,41 @@
| `EventType` | [`InvoiceEventType`](../../doc/models/invoice-event-type.md) | Required | **Default**: `InvoiceEventType.BACKPORT_INVOICE` | InvoiceEventType getEventType() | setEventType(InvoiceEventType eventType) |
| `EventData` | [`Invoice`](../../doc/models/invoice.md) | Required | Example schema for an `backport_invoice` event | Invoice getEventData() | setEventData(Invoice eventData) |
-## Example (as JSON)
-
-```json
-{
- "id": 78,
- "timestamp": "2016-03-13T12:52:32.123Z",
- "invoice": {
- "issue_date": "2024-01-01",
- "due_date": "2024-01-01",
- "paid_date": "2024-01-01",
- "public_url_expires_on": "2024-01-21",
- "id": 166,
- "uid": "uid6",
- "site_id": 92,
- "customer_id": 204,
- "subscription_id": 20
- },
- "event_type": "backport_invoice",
- "event_data": {
- "issue_date": "2024-01-01",
- "due_date": "2024-01-01",
- "paid_date": "2024-01-01",
- "public_url_expires_on": "2024-01-21",
- "id": 206,
- "uid": "uid6",
- "site_id": 132,
- "customer_id": 244,
- "subscription_id": 60
- }
-}
+## Example
+
+```java
+import com.maxio.advancedbilling.DateTimeHelper;
+import com.maxio.advancedbilling.models.BackportInvoiceEvent;
+import com.maxio.advancedbilling.models.Invoice;
+import com.maxio.advancedbilling.models.InvoiceEventType;
+
+BackportInvoiceEvent backportInvoiceEvent = new BackportInvoiceEvent.Builder(
+ 210L,
+ DateTimeHelper.fromRfc8601DateTime("2016-03-13T12:52:32.123Z"),
+ new Invoice.Builder()
+ .id(166L)
+ .uid("uid6")
+ .siteId(92)
+ .customerId(204)
+ .subscriptionId(20)
+ .issueDate(DateTimeHelper.fromSimpleDate("2024-01-01"))
+ .dueDate(DateTimeHelper.fromSimpleDate("2024-01-01"))
+ .paidDate(DateTimeHelper.fromSimpleDate("2024-01-01"))
+ .publicUrlExpiresOn(DateTimeHelper.fromSimpleDate("2024-01-21"))
+ .build(),
+ InvoiceEventType.BACKPORT_INVOICE,
+ new Invoice.Builder()
+ .id(206L)
+ .uid("uid6")
+ .siteId(132)
+ .customerId(244)
+ .subscriptionId(60)
+ .issueDate(DateTimeHelper.fromSimpleDate("2024-01-01"))
+ .dueDate(DateTimeHelper.fromSimpleDate("2024-01-01"))
+ .paidDate(DateTimeHelper.fromSimpleDate("2024-01-01"))
+ .publicUrlExpiresOn(DateTimeHelper.fromSimpleDate("2024-01-21"))
+ .build()
+)
+.build();
```
diff --git a/doc/models/bank-account-attributes.md b/doc/models/bank-account-attributes.md
index 6fc398e1..4dc11149 100644
--- a/doc/models/bank-account-attributes.md
+++ b/doc/models/bank-account-attributes.md
@@ -11,26 +11,29 @@
| --- | --- | --- | --- | --- | --- |
| `ChargifyToken` | `String` | Optional | - | String getChargifyToken() | setChargifyToken(String chargifyToken) |
| `BankName` | `String` | Optional | (Required when creating a subscription with ACH or GoCardless) The name of the bank where the customer’s account resides | String getBankName() | setBankName(String bankName) |
-| `BankRoutingNumber` | `String` | Optional | (Required when creating a subscription with ACH. Optional when creating a subscription with GoCardless). The routing number of the bank. It becomes bank_code while passing via GoCardless API | String getBankRoutingNumber() | setBankRoutingNumber(String bankRoutingNumber) |
+| `BankRoutingNumber` | `String` | Optional | (Required when creating a subscription with ACH; optional when creating a subscription with GoCardless). The routing number of the bank. It becomes bank_code while passing via GoCardless API. | String getBankRoutingNumber() | setBankRoutingNumber(String bankRoutingNumber) |
| `BankAccountNumber` | `String` | Optional | (Required when creating a subscription with ACH. Required when creating a subscription with GoCardless and bank_iban is blank) The customerʼs bank account number | String getBankAccountNumber() | setBankAccountNumber(String bankAccountNumber) |
| `BankAccountType` | [`BankAccountType`](../../doc/models/bank-account-type.md) | Optional | Defaults to checking | BankAccountType getBankAccountType() | setBankAccountType(BankAccountType bankAccountType) |
-| `BankBranchCode` | `String` | Optional | (Optional when creating a subscription with GoCardless) Branch code. Alternatively, an IBAN can be provided | String getBankBranchCode() | setBankBranchCode(String bankBranchCode) |
-| `BankIban` | `String` | Optional | (Optional when creating a subscription with GoCardless). International Bank Account Number. Alternatively, local bank details can be provided | String getBankIban() | setBankIban(String bankIban) |
+| `BankBranchCode` | `String` | Optional | (Optional when creating a subscription with GoCardless) Branch code. Alternatively, an IBAN can be provided. | String getBankBranchCode() | setBankBranchCode(String bankBranchCode) |
+| `BankIban` | `String` | Optional | (Optional when creating a subscription with GoCardless). International Bank Account Number. Alternatively, local bank details can be provided. | String getBankIban() | setBankIban(String bankIban) |
| `BankAccountHolderType` | [`BankAccountHolderType`](../../doc/models/bank-account-holder-type.md) | Optional | Defaults to personal | BankAccountHolderType getBankAccountHolderType() | setBankAccountHolderType(BankAccountHolderType bankAccountHolderType) |
| `PaymentType` | [`PaymentType`](../../doc/models/payment-type.md) | Optional | - | PaymentType getPaymentType() | setPaymentType(PaymentType paymentType) |
| `CurrentVault` | [`BankAccountVault`](../../doc/models/bank-account-vault.md) | Optional | The vault that stores the payment profile with the provided vault_token. Use `bogus` for testing. | BankAccountVault getCurrentVault() | setCurrentVault(BankAccountVault currentVault) |
| `VaultToken` | `String` | Optional | - | String getVaultToken() | setVaultToken(String vaultToken) |
| `CustomerVaultToken` | `String` | Optional | (only for Authorize.Net CIM storage or Square) The customerProfileId for the owner of the customerPaymentProfileId provided as the vault_token | String getCustomerVaultToken() | setCustomerVaultToken(String customerVaultToken) |
-## Example (as JSON)
+## Example
-```json
-{
- "chargify_token": "chargify_token0",
- "bank_name": "bank_name2",
- "bank_routing_number": "bank_routing_number8",
- "bank_account_number": "bank_account_number4",
- "bank_account_type": "checking"
-}
+```java
+import com.maxio.advancedbilling.models.BankAccountAttributes;
+import com.maxio.advancedbilling.models.BankAccountType;
+
+BankAccountAttributes bankAccountAttributes = new BankAccountAttributes.Builder()
+ .chargifyToken("chargify_token0")
+ .bankName("bank_name2")
+ .bankRoutingNumber("bank_routing_number8")
+ .bankAccountNumber("bank_account_number4")
+ .bankAccountType(BankAccountType.CHECKING)
+ .build();
```
diff --git a/doc/models/bank-account-holder-type.md b/doc/models/bank-account-holder-type.md
index 129dc3bc..ed650b30 100644
--- a/doc/models/bank-account-holder-type.md
+++ b/doc/models/bank-account-holder-type.md
@@ -14,3 +14,11 @@ Defaults to personal
| `PERSONAL` |
| `BUSINESS` |
+## Example
+
+```java
+import com.maxio.advancedbilling.models.BankAccountHolderType;
+
+BankAccountHolderType bankAccountHolderType = BankAccountHolderType.PERSONAL;
+```
+
diff --git a/doc/models/bank-account-payment-profile.md b/doc/models/bank-account-payment-profile.md
index 8829fecd..30e15b2b 100644
--- a/doc/models/bank-account-payment-profile.md
+++ b/doc/models/bank-account-payment-profile.md
@@ -9,10 +9,10 @@
| Name | Type | Tags | Description | Getter | Setter |
| --- | --- | --- | --- | --- | --- |
-| `Id` | `Integer` | Optional | The Chargify-assigned ID of the stored bank account. This value can be used as an input to payment_profile_id when creating a subscription, in order to re-use a stored payment profile for the same customer | Integer getId() | setId(Integer id) |
+| `Id` | `Integer` | Optional | The Chargify-assigned ID of the stored bank account. This value can be used as an input to payment_profile_id when creating a subscription, in order to re-use a stored payment profile for the same customer. | Integer getId() | setId(Integer id) |
| `FirstName` | `String` | Optional | The first name of the bank account holder | String getFirstName() | setFirstName(String firstName) |
| `LastName` | `String` | Optional | The last name of the bank account holder | String getLastName() | setLastName(String lastName) |
-| `CustomerId` | `Integer` | Optional | The Chargify-assigned id for the customer record to which the bank account belongs | Integer getCustomerId() | setCustomerId(Integer customerId) |
+| `CustomerId` | `Integer` | Optional | The Chargify-assigned ID for the customer record to which the bank account belongs | Integer getCustomerId() | setCustomerId(Integer customerId) |
| `CurrentVault` | [`BankAccountVault`](../../doc/models/bank-account-vault.md) | Optional | The vault that stores the payment profile with the provided vault_token. Use `bogus` for testing. | BankAccountVault getCurrentVault() | setCurrentVault(BankAccountVault currentVault) |
| `VaultToken` | `String` | Optional | The "token" provided by your vault storage for an already stored payment profile | String getVaultToken() | setVaultToken(String vaultToken) |
| `BillingAddress` | `String` | Optional | The current billing street address for the bank account | String getBillingAddress() | setBillingAddress(String billingAddress) |
@@ -23,28 +23,33 @@
| `CustomerVaultToken` | `String` | Optional | (only for Authorize.Net CIM storage): the customerProfileId for the owner of the customerPaymentProfileId provided as the vault_token. | String getCustomerVaultToken() | setCustomerVaultToken(String customerVaultToken) |
| `BillingAddress2` | `String` | Optional | The current billing street address, second line, for the bank account | String getBillingAddress2() | setBillingAddress2(String billingAddress2) |
| `BankName` | `String` | Optional | The bank where the account resides | String getBankName() | setBankName(String bankName) |
-| `MaskedBankRoutingNumber` | `String` | Optional | A string representation of the stored bank routing number with all but the last 4 digits marked with X's (i.e. 'XXXXXXX1111'). payment_type will be bank_account | String getMaskedBankRoutingNumber() | setMaskedBankRoutingNumber(String maskedBankRoutingNumber) |
-| `MaskedBankAccountNumber` | `String` | Optional | A string representation of the stored bank account number with all but the last 4 digits marked with X's (i.e. 'XXXXXXX1111') | String getMaskedBankAccountNumber() | setMaskedBankAccountNumber(String maskedBankAccountNumber) |
+| `MaskedBankRoutingNumber` | `String` | Optional | A string representation of the stored bank routing number with all but the last 4 digits marked with X's (i.e. 'XXXXXXX1111'). payment_type will be bank_account. | String getMaskedBankRoutingNumber() | setMaskedBankRoutingNumber(String maskedBankRoutingNumber) |
+| `MaskedBankAccountNumber` | `String` | Optional | A string representation of the stored bank account number with all but the last 4 digits marked with X's (i.e. 'XXXXXXX1111'). | String getMaskedBankAccountNumber() | setMaskedBankAccountNumber(String maskedBankAccountNumber) |
| `BankAccountType` | [`BankAccountType`](../../doc/models/bank-account-type.md) | Optional | Defaults to checking | BankAccountType getBankAccountType() | setBankAccountType(BankAccountType bankAccountType) |
| `BankAccountHolderType` | [`BankAccountHolderType`](../../doc/models/bank-account-holder-type.md) | Optional | Defaults to personal | BankAccountHolderType getBankAccountHolderType() | setBankAccountHolderType(BankAccountHolderType bankAccountHolderType) |
| `PaymentType` | [`PaymentType`](../../doc/models/payment-type.md) | Required | **Default**: `PaymentType.BANK_ACCOUNT` | PaymentType getPaymentType() | setPaymentType(PaymentType paymentType) |
-| `Verified` | `Boolean` | Optional | denotes whether a bank account has been verified by providing the amounts of two small deposits made into the account
**Default**: `false` | Boolean getVerified() | setVerified(Boolean verified) |
+| `Verified` | `Boolean` | Optional | Denotes whether a bank account has been verified by providing the amounts of two small deposits made into the account.